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 λ>