-- TODO: Features: tart up the wording.
--
-- Note: these below are me writing out the facts, for myself, rather
-- than putting in a way that newbies will understand. The intention
-- is to put *something* here and then rewrite the bits below to be
-- more "salesy" aand friendly to people who have no idea what's so
-- special about "IO" from any other form of programming, or what a
-- parallel GC is or unification.

purefunc :: Html
purefunc =
  do h2 "Purely functional"
     p "Every function in Haskell is pure. They are functions in the mathematical sense. \
       \Even side-effecting IO operations are but a description of what to do, produced \
       \by pure code. There are no statements or instructions, only expressions. Which \
       \cannot mutate variables, local or global, or access state like time or random \
       \numbers."
     p (a "View examples")
purefunc :: Html
purefunc =
  do h2 "Purely functional"
     p "Every function in Haskell is pure. They are functions in the mathematical sense. \
       \Even side-effecting IO operations are but a description of what to do, produced \
       \by pure code. There are no statements or instructions, only expressions. Which \
       \cannot mutate variables, local or global, or access state like time or random \
       \numbers."
     p (a "View examples")
purefunc =
  do h2 "Purely functional"
     p "Every function in Haskell is pure. They are functions in the mathematical sense. \
       \Even side-effecting IO operations are but a description of what to do, produced \
       \by pure code. There are no statements or instructions, only expressions. Which \
       \cannot mutate variables, local or global, or access state like time or random \
       \numbers."
     p (a "View examples")