NPL (programming language): Difference between revisions

Content deleted Content added
LittleDan (talk | contribs)
No edit summary
m More footnotes
 
(29 intermediate revisions by 20 users not shown)
Line 1:
{{for|other programming languages and concepts abbreviated as NPL|NPL (disambiguation)}}
'''NPL''' (possibly for '''N'''ew '''P'''rogramming '''L'''anguage) was the original name given to what would later become [[IBM]]'s [[PL/I]] programming language.
{{multiple issues|
{{primary sources|date=July 2019}}
{{More footnotes|date=July 2019}}
}}
 
'''NPL''' is a [[Functional programming|functional programming language]] with [[pattern matching]] designed by [[Rod Burstall]] and [[John Darlington]] in 1977. The language allows certain sets and logic constructs to appear on the right-hand side of definitions, e.g.
 
setofeven(X) <= <:x: x in X & even(x) :>
 
The NPL interpreter evaluates the list of generators from left to right so conditions can mention any bound variables that occur to their left. These were known as [[set comprehension]]s. NPL eventually evolved into [[Hope programming language|Hope]] but lost set comprehensions, which made a reappearance in the form of [[list comprehension]]s in later functional languages.<ref name="foldoc">{{foldoc|NPL}}</ref>
 
==References==
{{Reflist}}
* John Darlington (1977). "Program Transformation and Synthesis: Present Capabilities". Research Report No. 77/43, Dept. of Computing and Control, Imperial College of Science and Technology, London.
 
[[Category:HistoricalAcademic programming languages]]
[[Category:PL/IFunctional dialectslanguages]]
[[Category:History of computing in the United Kingdom]]
 
The 'NPL' name was in effect between [[March 1]] and [[November 30]], [[1964]]. The name was changed to avoid collision with the National Physics Laboratory.
{{compu-lang-stub}}
[[Category:Historical programming languages]]
[[Category:PL/I dialects]]