Gofer shares the same core language as Haskell. Each language has some features the other lacks, but this paper discusses only the common core. Haskell is a particularly enjoyable language in which to program, as the language does so much to make it easy for the programmer. A lot of structural syntax, such as parentheses and semicolons, simply aren't needed. Powerful operators allow for concise, yet still readable, programs.
Functions are first-class objects, and infinite data structures are supported.
Haskell has an underlying uniform representation. But for convenience, it has been extended with syntactic sugar to provide familiar-looking representations for arithmetic, strings, lists, and the like. Int means a function that takes two integer arguments and produces an integer result. The reason for this notation for types will be explained later. The usual precedence rules apply, and parentheses may be used.