-- Each well-formed expression in Haskell has a well-formed type.
-- Each well-formed expression has a value.
-- Names for functions and values begin with a lowercase letter, except for data constructors
-- which begin with an uppercase letter.

-- 3 + 4 is the same as (+) 3 4
-- div 15 3 is the same as 15 `div` 3

-- Functional applications associate to the left
-- a b c ==== (a b) c

-- You can declare new operators
(+++) :: Int -> Int -> Int
x +++ y = if even x then y else x + y
(+++) :: Int -> Int -> Int
x +++ y = if even x then y else x + y
x +++ y = if even x then y else x + y