The next big Haskell project is about to start!
If I break, you can:
  1. Restart:           M-x haskell-process-restart
  2. Configure logging: C-h v haskell-process-log (useful for debugging)
  3. General config:    M-x customize-mode
  4. Hide these tips:   C-h v haskell-process-show-debug-tips
λ> katnissN
katnissN :: PlayerN
λ> name katnissN
"Katniss Everdeen"
λ> score katnissN
45
λ> circle
circle :: Shape
λ> circle
Circle {radius = 2.3}
λ> read "Circle 2.3"
*** Exception: Prelude.read: no parse
λ> (read "Circle 2.3") :: Shape
*** Exception: Prelude.read: no parse
λ> show circle
"Circle {radius = 2.3}"
λ> (read "Circle { radius = 2.3}") :: Shape
Circle {radius = 2.3}
λ> marioN
PlayerN {name = "Mario", score = 48}
λ> circle == Circle 2.3
True
λ> circle < Rectangle 1 2
True
λ> :t Nothing
Nothing :: Maybe a
λ> :t []
[] :: [t]
λ> searchBest [marioN,katnissN]
Left 48
λ> searchBest [marioN,katnissN]
Right ["Mario","Katniss Everdeen"]
λ> fromNat five
5
λ> fromBin six
6
λ> fromBin $ succBin $ succBin $ six
8
λ> succBin $ succBin $ six
succBin $ succBin $ six :: Bin
λ> succBin $ succBin $ six
BitZero (BitZero (BitZero One))
λ> t
Node {root = 1, left = Node {root = 3, left = Node {root = 2, left = Empty, right = Empty}, right = Node {root = 4, left = Empty, right = Empty}}, right = Node {root = 7, left = Empty, right = Node {root = 9, left = Empty, right = Empty}}}
λ> root $ right $ left $ t
4
λ>