FOIL (programming language)

Last updated

FOIL was the name for two different programming languages.

Programming language Language designed to communicate instructions to a machine

A programming language is a formal language, which comprises a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms.

Contents

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.

Computer-assisted language learning (CALL), British, or Computer-Aided Instruction (CAI)/Computer-Aided Language Instruction (CALI), American, is briefly defined in a seminal work by Levy as "the search for and study of applications of the computer in language teaching and learning". CALL embraces a wide range of information and communications technology applications and approaches to teaching and learning foreign languages, from the "traditional" drill-and-practice programs that characterised CALL in the 1960s and 1970s to more recent manifestations of CALL, e.g. as used in a virtual learning environment and Web-based distance learning. It also extends to the use of corpora and concordancers, interactive whiteboards, Computer-mediated communication (CMC), language learning in virtual worlds, and mobile-assisted language learning (MALL).

University of Michigan Public research university in Ann Arbor, Michigan, United States

The University of Michigan, often simply referred to as Michigan, is a public research university in Ann Arbor, Michigan. The university is Michigan's oldest; it was founded in 1817 in Detroit, as the Catholepistemiad, or University of Michigania, 20 years before the territory became a state. The school was moved to Ann Arbor in 1837 onto 40 acres (16 ha) of what is now known as Central Campus. Since its establishment in Ann Arbor, the university campus has expanded to include more than 584 major buildings with a combined area of more than 34 million gross square feet spread out over a Central Campus and North Campus, two regional campuses in Flint and Dearborn, and a Center in Detroit. The university is a founding member of the Association of American Universities.

Programmed Instruction, Learning, or Teaching (PILOT) is a simple programming language developed in the 1960s. Like its younger sibling LOGO, it was an early foray into the technology of computer-assisted instruction.

Example

 :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 

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.

David Rosenboom is an American composer and a pioneer in the use of neurofeedback, cross-cultural collaborations and compositional algorithms. Working with Don Buchla, he was one of the first composers to use a digital synthesizer.

Forth is an imperative stack-based computer programming language and environment originally designed by Charles "Chuck" Moore. Language features include structured programming, reflection, concatenative programming and extensibility. Although not an acronym, the language's name is sometimes spelled with all capital letters as FORTH, following the customary usage during its earlier years.


Related Research Articles

BASIC Programming language

BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only scientists and mathematicians tended to learn.

Erlang (programming language) Programming language

Erlang is a general-purpose, concurrent, functional programming language, and a garbage-collected runtime system.

MIDI electronic musical instrument industry specification

MIDI is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and related audio devices for playing, editing and recording music. A single MIDI link through a MIDI cable can carry up to sixteen channels of information, each of which can be routed to a separate device or instrument. This could be sixteen different digital instruments, for example.

In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program. An interpreter generally uses one of the following strategies for program execution:

  1. Parse the source code and perform its behavior directly;
  2. Translate source code into some efficient intermediate representation and immediately execute this;
  3. Explicitly execute stored precompiled code made by a compiler which is part of the interpreter system.

Real-Time Cmix (RTcmix) is one of the MUSIC-N family of computer music programming languages. RTcmix is descended from the MIX program developed by Paul Lansky at Princeton University in 1978 to perform algorithmic composition using digital audio soundfiles on a IBM 3031 mainframe computer. After synthesis functions were added, the program was renamed Cmix in the 1980s. Real-time capability was added by Brad Garton and David Topper in the mid-1990s, with support for TCP socket connectivity, interactive control of the scheduler, and object-oriented embedding of the synthesis engine into fully featured applications.

MUSIC-N refers to a family of computer music programs and programming languages descended from or influenced by MUSIC, a program written by Max Mathews in 1957 at Bell Labs. MUSIC was the first computer program for generating digital audio waveforms through direct synthesis. It was one of the first programs for making music on a digital computer, and was certainly the first program to gain wide acceptance in the music research community as viable for that task. The world's first computer-controlled music was generated in Australia by programmer Geoff Hill on the CSIRAC computer which was designed and built by Trevor Pearcey and Maston Beard. However, CSIRAC produced sound by sending raw pulses to the speaker, it did not produce standard digital audio with PCM samples, like the MUSIC-series of programs.

IDL, short for Interactive Data Language, is a programming language used for data analysis. It is popular in particular areas of science, such as astronomy, atmospheric physics and medical imaging. IDL shares a common syntax with PV-Wave and originated from the same codebase, though the languages have subsequently diverged in detail. There are also two free implementations, GNU Data Language (GDL) and Fawlty Language (FL).

Ableton Live

Ableton Live is a software music sequencer and digital audio workstation for macOS and Windows. In contrast to many other software sequencers, Ableton Live is designed to be an instrument for live performances as well as a tool for composing, recording, arranging, mixing, and mastering, as shown by Ableton's companion hardware product, Ableton Push. It is also used by DJs, as it offers a suite of controls for beatmatching, crossfading, and other different effects used by turntablists, and was one of the first music applications to automatically beatmatch songs. Live is available in three versions. Intro, Standard, and Suite. The current version of Live is "Ableton Live 10".

gretl statistical software

gretl is an open-source statistical package, mainly for econometrics. The name is an acronym for GnuRegression, Econometrics and Time-seriesLibrary.

In computer programming, Intentional Programming is a programming paradigm developed by Charles Simonyi that encodes in software source code the precise intention which programmers have in mind when conceiving their work. By using the appropriate level of abstraction at which the programmer is thinking, creating and maintaining computer programs become easier. By separating the concerns for intentions and how they are being operated upon, the software becomes more modular and allows for more reusable software code.

Tracktion is a digital audio workstation for recording and editing audio and MIDI. The software is cross-platform, running on Apple Mac OS X, Microsoft Windows and Linux.

The following outline is provided as an overview of and topical guide to computer programming:

Tile Studio is a Windows-only editor for graphics and level data of tile-based video games. The application combines a bitmap editor for creating graphics and a map editor for designing level maps. A notable feature, distinguishing this tool from the approach of similar programs like Mappy and Tiled which define their own general map file format, is export of assets to arbitrary files through a comprehensive and sophisticated scripting language.

{{Infobox software | name = LMMS | logo = Lmms logo.png | screenshot = [[File:LMMS 1.0.0.png|Screenshot. | author = Paul Giblock
Tobias Junghans | developer = LMMS developers | released = 2004; as Linux MultiMedia Studio | latest release version = 1.2.0 | latest release date = 9 June 2019 | latest preview version = 1.2.0-rc8 | latest preview date = 19 February 2019 | programming language = C++ | operating system = Cross-platform: Windows, macOS, Linux | platform = x86, x64 | language = 20 languages | genre = Digital audio workstation | license = GPLv2 | website = lmms.io }}

Vala (programming language) programming language

Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.

Rexx interpreted programming language

Rexx is an interpreted programming language developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. Proprietary and open source Rexx interpreters exist for a wide range of computing platforms; compilers exist for IBM mainframe computers.