syntactic sugar


syntactic sugar

Term coined by Peter Landin for additions to the syntax of alanguage which do not affect its expressiveness but make it"sweeter" for humans to use. Syntactic sugar gives theprogrammer an alternative way of coding that is more succinctor more like some familiar notation. It does not affect theexpressiveness of the formalism (compare chrome).

Syntactic sugar can be easily translated ("desugared") toproduce 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 reallyfunctions and the use of infix notation "x+y" is syntacticsugar for function application "(+) x y".

Alan Perlis once quipped, "Syntactic sugar causes cancer ofthe semicolon."

The variants "syntactic saccharin" and "syntactic syrup" arealso recorded. These denote something even more gratuitous,in that they serve no purpose at all. Compare candygrammar,syntactic salt.

syntactic sugar

Certain coding rules in a programming language that make it easier for a person to write a program. For example, in Perl, the double dot operator is used to create multiple values. Writing ('A' .. 'Z') declares a range of values from "A" to "Z." In many other languages, each value has to be declared individually such as 'A','B','C' etc.

"Syntactic saccharin" is used synonymously with syntactic sugar; however, it also tends to refer to syntax that offers little or no value to the programmer, such as a symbol or word that is always required even though it adds no uniqueness to the expression. Contrast with syntactic salt.