NPL (programming language): Difference between revisions

Content deleted Content added
top: additional cleanup template
m More footnotes
 
(3 intermediate revisions by 2 users not shown)
Line 2:
{{multiple issues|
{{primary sources|date=July 2019}}
{{NoMore 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.
 
{{FOLDOC}}
 
[[Category:Academic programming languages]]