MTS languagesm created at


Language Introduction Features Sample program
BASIC Intro Features Narcissistic numbers
FORTRAN Intro Features Emirp primes
MAD Intro Features Mergesort
ALGOL 60 Intro Features Josephus problem
ALGOL W Intro Features Priority queue
LISP Intro Features Four bit adder
PL/1 Intro Features 1
Features 2
Radix sort
SNOBOL Intro Features Date formats
RATFOR Intro Features Emirp primes
FLECS Intro Features Emirp primes
PIL Intro Features Roman numerals
APL Intro Features Knuth shuffle
Assembler Intro Features Caesar cipher
GPSS Intro & Barber shop simulation


MTS supported over 40 languages, representing a cross-section of programming tools available in 1988, from well known ones like LISP and FORTRAN to the more obscure such as GOM and PLUS.

In this series of posts I will take a look at each of these - plan of attack is 1-3 posts per language covering:

  1. A brief introduction, how to get it working on MTS and "Hello World"
  2. A tour of language features
  3. A more complex example, either implementing a task from Rosetta Stone or running a classic piece of code for that language.

Some languages may warrant more or less attention, and I will also look at the programming environment such as the debugger and link editor.

Trying to do all this may be quixotic - and I may lose interest among all the FORTRAN dialects - but it will be interesting to see what was available then and how they compare to the languages of today.

I am a working programmer by trade rather than an academic so don't expect too much deep insight or theory - and if you spot any mistakes please let me know.

For new users of MTS, follow the setup guide, log on as a regular user such as ST01 and check the 'Prerequisites' section in the first article for each language for how to get it running - in most cases no extra work is needed once you have MTS running.

Source code

Source code for each of the examples can be found on Github.

Coming up later


ALGOL68C ALGOL68 from D4.0


  • UNSP:BCPL BCPL, the grandfather of C


  • *COBOLU IBM OS American National Standard COBOL


  • *APLGM General Motors APL (Associative Programming Language) (not the same as APL)


  • *ICON The ICON compiler, Version II


  • *XLISP An Experimental Object-oriented Language from David Michael Betz


  • *PLUS UBC Plus for S/370 version 28/16


  • *PL360 PL360 is based on a copy received from Stanford in late 1977


  • A Prolog implementation in UTILISP


  • *XPL XPL (also *XPLCOMPILER, *XCOM, and *XMON)
  • *EXPL Extended XPL


  • *CSMP Continuous System Modeling Program
  • *UMIST An interactive text-processing language patterned after TRAC
  • *CLPARSEGEN A parser generator that outputs PLUS code.

Cross assemblers

I will probably not look at these, unless they are especially interesting.

  • *1130ASM IBM 1130 and 1800 Assembler
  • *11ASR PDP-11 Assembler, version AN231
  • *1ASR PDP-1 Assembler (obsolete in D6.0)
  • *8ASR PDP-8 Assembler (obsolete in D6.0)
  • *9ASR PDP-9 Assembler (obsolete in d6.0)
  • *ASMT IBM TSS Assembler (5.0T2)
  • *I8080ASR A relocatable cross-assembler for the INTEL 8080
  • *M6800ASR An absolute cross-assembler for the Motorola M6800
  • *M6809ASR An absolute cross-assembler for the Motorola 6809
  • *MCS650XASR An absolute cross-assembler for the MOS Technology MCS6500 family
  • *PDP11ASR A relocatable cross-assembler for the DEC PDP11
  • *Z80ASR A Z80 cross-assembler
  • UNSP:11PAL A DEC compatable PDP-11 assembler and simulator
  • UNSP:F8ASR A cross-assembler for the Mostek F8
  • UNSP:PLM A cross compiler for the INTEL 8080 PL/M language

Exists in D6.0, but does not run

  • *C89 A C compiler that conforms with the 1989 ANSI standard.
  • *OVERDRIVE FORTRAN preprocessor (reqtures *SPITLIB)
  • *SNOSTORM A SPITBOL preprocessor (requires *SPITLIB)
  • *TANGO A replacement language for SNOBOL4 and SPITBOL from the U-M Computing Center (requires *PASCALJB)

Not in D6.0 due to license restrictions

Some of these restrictions may be lifted in D6.0 if the copyright holders agree; check the MTS Archive for details. If made available I will look at these.

  • *APL IBM VS APL V3.0
  • *ASMH IBM Assembler H V2
  • *CBELL AT&T Bell Laboratories C compiler (requires *ASMH)
  • *COBOLVS IBM OS/VS COBOL Release 2.3 + PTF 8
  • *FORTRANVS IBM VS FORTRAN Levels 2.1.1, 2.2.0, and 2.5.0
  • *GPSSH / *GPSSH2 Updated versions of GPSS
  • *IF77 UBC's Interactive FORTRAN
  • *MAD/I A new language developed at U-M as part of the CONCOMP project.
  • *PASCALJB Pascal
  • *PASCALVS IBM VS Pascal Release 2.2
  • *PL1OPT IBM PL/I Optimizing Compiler Version 1 Release 3.1
  • *PLC Cornell compiler for PL/I release 7.6
  • *PROLOGC Edinburgh syntax Waterloo Prolog compiler running under VSS on MTS
  • *PROLOGW Waterloo syntax Prolog compiler running under VSS on MTS
  • *SPITBOL Version 2 of the SNOBOL4 Compiler from the Illinois Institute of Technology
  • *WATBOL Waterloo COBOL
  • *WBASIC Waterloo Basic
  • UNSP:68000ASR Motorola's assembler for the M68000
  • UNSP:SIM25 CACI, Inc.'s Simscript II.5 release 8G
  • UNSP:SIM93 CACI, Inc.'s Simscript version 9.3

Further information

This list is based on the information in the MTS Archive describing what languages were available at the time of D6.0 and which work today.-