Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Syntactic sugar
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Origins == The term ''syntactic sugar'' was coined by [[Peter J. Landin]] in 1964 to describe the surface syntax of a simple [[ALGOL]]-like programming language which was defined semantically in terms of the applicative expressions of [[lambda calculus]],<ref>{{cite journal |last=Landin |first=Peter J. |date=1964 |title=The mechanical evaluation of expressions |url=https://www.cs.cmu.edu/~crary/819-f09/Landin64.pdf |journal= The Computer Journal|publisher=[[Computer Journal]] |volume=6 |issue=4 |pages=308β320 |doi=10.1093/comjnl/6.4.308 |access-date=21 July 2014|doi-access=free }}</ref>{{sfn|Abelson|Sussman|1996|loc=Chapter 1, [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-10.html#footnote_Temp_17 footnote 11]}}<!-- reference credits coinage to Landin, hence included --> centered on lexically replacing Ξ» with "where". Later programming languages, such as [[CLU (programming language)|CLU]], [[ML (programming language)|ML]] and [[Scheme (programming language)|Scheme]], extended the term to refer to syntax within a language which could be defined in terms of a language core of essential constructs; the convenient, higher-level features could be "desugared" and decomposed into that subset.<ref>Barbara Liskov, "A History of CLU", MIT Laboratory for Computer Science Technical Report 561 (1993)</ref> This is, in fact, the usual mathematical practice of building up from primitives. Building on Landin's distinction between essential language constructs and syntactic sugar, in 1991, [[Matthias Felleisen]] proposed a codification of "expressive power" to align with "widely held beliefs" in the literature. He defined "more expressive" to mean that without the language constructs in question, a program would have to be completely reorganized.<ref>{{cite journal|last=Felleisen|first=Matthias|date=December 1991|title=On the Expressive Power of Programming Languages|url=http://www.cs.rice.edu/CS/PLT/Publications/Scheme/scp91-felleisen.ps.gz|journal=Science of Computer Programming|publisher=Springer-Verlag|volume=17|issue=1β3|pages=35β75|doi=10.1016/0167-6423(91)90036-W|access-date=19 July 2014|doi-access=free}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)