FOIL was the name for two different programming languages.
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.
<nowiki> :START COUNT=0 TY Enter the number of times you want to repeat the statement: ACCEPT MAX=NUMBER.(1) :LOOP TY This loop has run #COUNT times it will terminate when it runs #MAX times IF COUNT<MAX, 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 </nowiki>
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.