interpreter will execute the bytecode when present and when any assumptions which have been made are met. Dyalog APL includes support for optimised bytecode. Compilation Compilation of APL has been the subject of research and experiment since the language first became available; the first compiler is considered to be the Burroughs APL-700 which was released around 1971. In order to be able to compile APL, language limitations have to be imposed. APEX is a research APL compiler which was written by Robert Bernecky and is available under the GNU Public License. The STSC APL Compiler is a hybrid of a bytecode optimiser and a compiler – it enables compilation of functions to machine code provided that its sub-functions and globals are declared, but the interpreter is still used as a runtime library and to execute functions which do not meet the compilation requirements. Standards APL has been standardized by the American National Standards Institute (ANSI) working group X3J10 and International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC), ISO/IEC Joint Technical Committee 1 Subcommittee 22 Working Group 3. The Core APL language is specified in ISO 8485:1989, and the Extended APL language is specified in ISO/IEC 13751:2001. References Further reading An APL Machine (1970 Stanford doctoral dissertation by Philip Abrams) A Personal History Of APL (1982 article by Michael S. Montalbano) A Programming Language by Kenneth E. Iverson APL in Exposition by Kenneth E. Iverson Brooks, Frederick P.; Kenneth Iverson (1965). Automatic Data Processing, System/360 Edition. . Video – a 1974 talk show style interview with the original developers of APL. – a 1975 live demonstration of APL by Professor Bob Spence, Imperial College London. – a 2009 tutorial by John Scholes of Dyalog Ltd. which implements Conway's Game of Life in a single line of APL. – a 2009 introduction to APL by Graeme Robertson. External links Online resources TryAPL.org, an online APL primer APL2C, a source of links to APL compilers .NET programming languages APL programming language family Array programming languages Command shells Dynamic programming languages Dynamically typed programming languages Functional languages IBM software Programming languages created in 1964 Programming languages with an ISO standard Programming languages Homoiconic programming languages