NPL (programming language): Difference between revisions

Content deleted Content added
m ce
m More footnotes
 
(7 intermediate revisions by 4 users not shown)
Line 1:
{{for|other programming languages and concepts abbreviated as NPL|NPL (disambiguation)}}
{{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:Academic programming languages]]
{{FOLDOC}}
 
[[Category:Functional languages]]
[[Category:AcademicHistory programmingof languagescomputing in the United Kingdom]]
 
 
{{compu-lang-stub}}