ABC

1. <computer> Atanasoff-Berry Computer.

2. <language> An imperative language and programming environment from CWI, Netherlands. It is interactive, structured, high-level, and easy to learn and use. It is a general-purpose language which you might use instead of BASIC, Pascal or AWK. It is not a systems-programming language but is good for teaching or prototyping.

ABC has only five data types that can easily be combined; strong typing, yet without declarations; data limited only by memory; refinements to support top-down programming; nesting by indentation. Programs are typically around a quarter the size of the equivalent Pascal or C program, and more readable.

ABC includes a programming environment with syntax-directed editing, suggestions, persistent variables and multiple workspaces and infinite precision arithmetic.

An example function words to collect the set of all words in a document:

   HOW TO RETURN words document:
      PUT {} IN collection
      FOR line in document:
         FOR word IN split line:
            IF word not.in collection:
               INSERT word IN collection
      RETURN collection

Interpreter/compiler, version 1.04.01, by Leo Geurts, Lambert Meertens, Steven Pemberton <Steven.Pemberton@cwi.nl>. ABC has been ported to Unix, MS-DOS, Atari, Macintosh.

http://cwi.nl/cwi/projects/abc.html.

FTP eu.net, FTP nluug.nl, FTP uunet.

Mailing list: <abc-list-request@cwi.nl>.

E-mail: <abc@cwi.nl>.

["The ABC Programmer's Handbook" by Leo Geurts, Lambert Meertens and Steven Pemberton, published by Prentice-Hall (ISBN 0-13-000027-2)].

["An Alternative Simple Language and Environment for PCs" by Steven Pemberton, IEEE Software, Vol. 4, No. 1, January 1987, pp. 56-64.]

2. <language> Argument, Basic value, C?.

An abstract machine for implementation of functional languages and its intermediate code.

[P. Koopman, "Functional Programs as Executable Specifications", 1990].