3.2 names and operators

Names have to start with a letter, since otherwise we could redefine numbers, and that'd be quire messy. If it starts with a capital letter, it's generally a type, type constructor, type class, or constructor. If it is lower case, then its generally a variable.

Symbols are a sequence of non-alphabetical characters that behave like binary operators. A simple symbol is +, some other complicated ones can look like +++ or //. Assume left-associativity, which means we compute things from the left to the right, except for ones like ^ which is right-associative. Parenthesis can convert these to functions, such as doing (+) x y. Similarly, backquotes convert functions to operators, like:

f x y = x `f` y