syntactic sugar

(redirected from Desugaring)

syntactic sugar

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.
This article is provided by FOLDOC - Free Online Dictionary of Computing (

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.
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.
References in periodicals archive ?
Algorithm 2 shows an RSL rule for desugaring the conditional operator to a traditional condition statement in C where the C syntax is contained inside double quotes to distinguish it from that of the RSL primitives indicated in bold.