FOIL (programming language)


FOIL was the name for two different programming languages.

CAI style language

The first FOIL was a CAI language developed at the University of Michigan in 1967. The acronym stood for File-Oriented Interpretive Language and it was very similar to other CAI languages like COURSEWRITER and PILOT. However, it tried to make the language somewhat block-structured using whitespace which ended up making the language vaguely similar to BASIC or ABC.

Example


:START COUNT=0
TY Enter the number of times you want to repeat the statement:
ACCEPT
MAX=NUMBER.
:LOOP
TY This loop has run #COUNT times it will terminate when it runs #MAX times
IF COUNT COUNT=COUNT+1
GO TO :LOOP
TY Do you want to do this again?
ACCEPT
IF 'yes', GO TO START
IF 'no' GO TO FINISH
:FINISH
TY Goodbye!
STOP

Music generation language

The second FOIL was a music generation language for the Touché computer instrument in 1979. The Touché was a keyboard that had digital tone generation and allowed you to program software for performances. The acronym stood for Far Out Instrument Language and was succeeded by MetaFOIL and FOIL-83. The language was developed by David Rosenboom and was based on Forth.