STOIC explained

STOIC
Paradigm:concatenative (stack-based), procedural
Year:1975/1976
Designer:Harvard-MIT
Developer:Jonathan Sachs
Influenced By:RPN, Forth
Operating System:OpenVMS, CP/M, Data General Nova

STOIC (Stack-Oriented Interactive Compiler) is a 1970s programming language, a variant of Forth.

History

STOIC started out at the MIT and Harvard Biomedical Engineering Centre in Boston, (part of the Health, Science and Technology Division) and was written in the mid 1970s by Jonathan Sachs.[1] Jonathan Sachs went on to be the principal programmer of Lotus Development and wrote the first version of Lotus 1-2-3.

The original version of STOIC was written on a Data General Nova minicomputer and cross-assembled for the 8080. STOIC came with its own primitive but effective file system, and could be booted up with little preliminary work on any 8080-based microprocessor with 24K of memory and a Teletype machine. After the source was released into the public domain, the system was subsequently modified to run under CP/M.[2]

STOIC was said at the time[3] to be conceptually similar to FORTH in the use of an extensible vocabulary of "words".[4] STOIC is actually a rational, and more consistent, dialect of FORTH . The system was remarkable at the time for having a built-in assembler, floating-point package, interrupt handler, and display editor (similar to the Nova display editor).[5] The source, and documentation, was distributed for many years by the CP/M Users Group.[6] As a practical development system, it compared favourably with contemporary implementations of FORTH,[7] and went on to be used extensively for the development of applications. A portable version written in C was placed in the public domain and also distributed by the CP/M Users Group (UK).

Later, STOIC was ported to the DEC VAX under VMS by Roger Hauck[8] at Smithsonian Institution Astrophysical Observatory (SAO) and was distributed by DECUS.[9] [10] It was distributed at least through fall 1985.[11]

Functions

STOIC, unlike other FORTH variants, was integrated with the VMS I/O and system services rather than using the FORTH disk I/O. It also supported machine code (both inline and subroutine calls). STOIC supported double precision floating point operations using a stack.

Related programs

According to some mailing list comments,[12] STOIC was originally written by Jonathan Sachs in 1975.A different program named LSE was written by Robert Goeke, which incorporated some of the ideas of STOIC (an early version may have been called STOIC).

An autotooled variant of LSE, LSE64 (Laboratory Software Environment), is maintained by John Doty.

One version of STOIC is noted as being "Stack Oriented Interpretive Compiler", but it is unclear which is which.[13]

STOICAL (STack Oriented Interactive Compiler Adapted to Linux) was inspired by STOIC.[14] In the early 1980s there was an attempt to reincarnate STOIC by Ernest E. Bergmann in a language dubbed PISTOL (Portably Implemented STack Oriented Language); ibid.

See also

External links

Notes and References

  1. http://purl.umn.edu/107619 Oral History Interview of Johnathan Sachs
  2. Richard H. Mossip, The Stoic Language, Microsystems, Sep-Oct 1982, pp 90-95
  3. Notes from the original CP/M Users Group Release
  4. quoted in CPMUGUK, the Journal of the UK CP/M Users Group Nov 1980
  5. from the Documentation for Stoic, Feb 1977
  6. Web site: Another File from England . Hirst.rx . April 3, 1984 . 2007-11-26 . dead. https://web.archive.org/web/20081201205302/http://nelsonit.net/~jon/info-cpm/1984/04/03/190206.html . December 1, 2008 .
  7. Go Forth, be STOIC, in the Journal of the UK CP/M User Group Nov 1980
  8. News: Roger Hauck, 65; designed software for space program . Andrea Levene . Boston Globe . May 7, 2004.
  9. Web site: Re: Forth family tree (was: The future of Forth) . Michael Coughlin . comp.lang.forth newsgroup.
  10. Web site: UNTIL Reference Guide . July 1, 1995.
  11. Web site: VAX-SPLIB-1  - The Special VAX Library Collection 1 . 1988–1989 . dead . https://web.archive.org/web/20070927014400/http://mvb.saic.com/freeware/vax88b5/rcaf88/decusindex/catalog.dat . 2007-09-27 .
  12. Web site: The future of Forth. Jun 26, 2004. John Doty. Michael Coughlin. comp.lang.forth newsgroup.
  13. Web site: The Explosive Transient Camera: A Wide-field Sky Monitor of Celestial Optical Flashes. 1 October 1991. NTRS NASA. MIT. 20 June 2016.
  14. Web site: STack Oriented Interactive Compiler Adapted to Linux. 20 June 2016. STack Oriented Interactive Compiler Adapted to Linux. 20 June 2016.