NPL (programming language): Difference between revisions

Content deleted Content added
m wikilink Rod Burstall
m More footnotes
 
(20 intermediate revisions by 14 users not shown)
Line 1:
{{dablinkfor|For other programming languages and concepts abbreviated as NPL, see [[|NPL (disambiguation)]]}}
{{multiple issues|
'''NPL''' was a [[functional language]] with [[pattern matching]] designed by [[Rod Burstall]] and John Darlington in 1977. The language allowed certain sets and logic constructs to appear on the right hand side of definitions, E.g.
{{primary sources|date=July 2019}}
{{More footnotes|date=July 2019}}
}}
 
'''NPL''' wasis a [[Functional programming|functional programming language]] with [[pattern matching]] designed by [[Rod Burstall]] and [[John Darlington]] in 1977. The language allowedallows certain sets and logic constructs to appear on the right -hand side of definitions, Ee.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 comprehensionscomprehension]]s. NPL eventually evolved into [[Hope programming language|Hope]] but lost set comprehensions, which weremade calleda reappearance in the form of [[list comprehension]]s in later functional languages.<ref name="foldoc">{{foldoc|NPL}}</ref>
 
==References==
''Reference: John Darlington, "Program Transformation and Synthesis: Present Capabilities", Research Report No. 77/43, Dept. of Computing and Control, Imperial College of Science and Technology, London September 1977.''
{{Reflist}}
''Reference:* 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 September 1977.''
 
[[Category:ProgrammingAcademic programming languages]]
{{FOLDOC}}
[[Category:Functional languages]]
[[Category:History of computing in the United Kingdom]]
 
[[Category:Programming languages]]
{{compu-lang-stub}}