syntactic sugar

Slang Dictionary

syntactic sugar

n. [coined by Peter Landin] Features added to a language or other formalism to make it `sweeter' for humans, features which do not affect the expressiveness of the formalism (compare chrome). Used esp. when there is an obvious and trivial translation of the `sugar' feature into other constructs already present in the notation. C's `a[i]' notation is syntactic sugar for `*(a + i)'. "Syntactic sugar causes cancer of the semicolon." -- Alan Perlis.

The variants `syntactic saccharin' and `syntactic syrup' are also recorded. These denote something even more gratuitous, in that syntactic sugar serves a purpose (making something more acceptable to humans), but syntactic saccharin or syrup serve no purpose at all. Compare candygrammar, syntactic salt.
FOLDOC
Computing Dictionary

syntactic sugar definition


Term coined by Peter Landin for additions to the syntax of a language which do not affect its expressiveness but make it "sweeter" for humans to use. Syntactic sugar gives the programmer an alternative way of coding that is more succinct or more like some familiar notation. It does not affect the expressiveness of the formalism (compare chrome).
Syntactic sugar can be easily translated ("desugared") to produce a program in some simpler "core" syntax. E.g. C's "a[i]" notation is syntactic sugar for "*(a + i)". In a (curried) functional language, all operators are really functions and the use of infix notation "x+y" is syntactic sugar for function application "(+) x y".
Alan Perlis once quipped, "Syntactic sugar causes cancer of the semicolon."
The variants "syntactic saccharin" and "syntactic syrup" are also recorded. These denote something even more gratuitous, in that they serve no purpose at all. Compare candygrammar, syntactic salt.

The Free On-line Dictionary of Computing, © Denis Howe 2010 http://foldoc.org
Cite This Source
Copyright © 2014 Dictionary.com, LLC. All rights reserved.
  • Please Login or Sign Up to use the Recent Searches feature
FAVORITES
RECENT

;