FL (programming language)
{{more footnotes|date=January 2018}}
{{Infobox programming language
|name = FL
|logo =
|paradigm = Function-level, functional
|year = 1989
|designer = John Backus
John Williams
Edward Wimmers
|developer =
|latest release version =
|latest release date =
|typing = Dynamic
|implementations =
|dialects =
|influenced_by = FP
|influenced =
}}
FL (short for "Function Level") is a programming language created at the IBM Almaden Research Center by John Backus, John Williams, and Edward Wimmers in the 1980s and documented in a report from 1989.{{cite web| first1=Alexander | last1=Aiken | first2=John H. | last2= Williams | first3=Edward L. | last3=Wimmers | url=http://theory.stanford.edu/~aiken/publications/trs/FLProject.pdf | title=The FL Project: Design of a Functional Language | publisher=Stanford University }} FL was designed as a successor of Backus's earlier FP language, providing specific support for what Backus termed function-level programming.
FL is a dynamically typed strict functional programming language with throw and catch exception semantics much like in ML. Each function has an implicit history argument which is used for doing things like strictly functional input/output (I/O), but is also used for linking to C code. For doing optimization, there exists a type-system which is an extension of Hindley–Milner type inference.
Uses
PLaSM is a "geometry-oriented extension of a subset of the FL language"{{cite web |title=Introduction to FL and PLaSM |url=http://www.plasm.net/docs/tutorial/introduction_to_fl_and_plas.html |website=plasm.net}} first described in 1992.
References
{{reflist}}
External links
- [http://theory.stanford.edu/~aiken/publications/trs/RJ7100.pdf FL Language Manual, Parts 1 and 2] (PDF)
- [http://www.plasm.net/docs/papers/fl_papers/ List of FL papers] at plasm.net
- [http://media.johnwiley.com.au/product_data/excerpt/29/04718994/0471899429.pdf Introduction to FL and PLaSM] (PDF)
Category:Programming languages created in 1989
Category:Academic programming languages
Category:Dynamically typed programming languages
Category:Function-level languages
{{prog-lang-stub}}