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 λ> ones [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,Interrupted. λ> take 10 ones [1,1,1,1,1,1,1,1,1,1] λ> take 5 (enumFrom 5) [5,6,7,8,9] λ> take 5 (repeat 1) [1,1,1,1,1] λ> take 10 pairs [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9)] λ> take 10 pairs Interrupted. λ> take 10 pairs [(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(0,10)] λ> take 20 pairs [(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(0,10),(0,11),(0,12),(0,13),(0,14),(0,15),(0,16),(0,17),(0,18),(0,19),(0,20)] λ> take 20 pairs [(1,0),(2,0),(2,1),(3,0),(3,1),(3,2),(4,0),(4,1),(4,2),(4,3),(5,0),(5,1),(5,2),(5,3),(5,4),(6,0),(6,1),(6,2),(6,3),(6,4)] λ> take 20 pairs [(0,0),(1,0),(1,1),(2,0),(2,1),(2,2),(3,0),(3,1),(3,2),(3,3),(4,0),(4,1),(4,2),(4,3),(4,4),(5,0),(5,1),(5,2),(5,3),(5,4)] λ> take 20 pairs [[(1,0),(0,1),(1,1)],[(2,0),(0,2),(2,2)],[(2,1),(1,2),(2,2)],[(3,0),(0,3),(3,3)],[(3,1),(1,3),(3,3)],[(3,2),(2,3),(3,3)],[(4,0),(0,4),(4,4)],[(4,1),(1,4),(4,4)],[(4,2),(2,4),(4,4)],[(4,3),(3,4),(4,4)],[(5,0),(0,5),(5,5)],[(5,1),(1,5),(5,5)],[(5,2),(2,5),(5,5)],[(5,3),(3,5),(5,5)],[(5,4),(4,5),(5,5)],[(6,0),(0,6),(6,6)],[(6,1),(1,6),(6,6)],[(6,2),(2,6),(6,6)],[(6,3),(3,6),(6,6)],[(6,4),(4,6),(6,6)]] λ> take 20 pairs [(1,0),(0,1),(1,1),(2,0),(0,2),(2,2),(2,1),(1,2),(2,2),(3,0),(0,3),(3,3),(3,1),(1,3),(3,3),(3,2),(2,3),(3,3),(4,0),(0,4)] λ> pythagoreanTriples [(3,4,5),(6,8,10),(5,12,13),(9,12,15),(8,15,17),(12,16,20),(15,20,25),(7,24,25),(10,24,26),(20,21,29),(18,24,30),(16,30,34),(21,28,35),(12,35,37),(15,36,39),(24,32,40),(9,40,41),(27,36,45),(30,40,50),(14,48,50),(24,45,51),(20,48,52),(28,45,53),(33,44,55),(40,42,58),(36,48,60),(11,60,61),(39,52,65),(33,56,65),(25,60,65),(16,63,65),(32,60,68),(42,56,70),(48,55,73),(24,70,74),(45,60,75),(21,72,75),(30,72,78),(48,64,80),(18,80,82),(51,68,85),(40,75,85),(36,77,85),(13,84,85),(60,63,87),(39,80,89),(54,72,90),(35,84,91),(57,76,95),(65,72,97),(60,80,100),(28,96,100),(20,99,101),(48,90,102),(40,96,104),(63,84,105),(56,90,106),(60,91,109),(66,88,110),(36,105,111),(15,112,113),(69,92,115),(80,84,116),(45,108,117),(56,105,119),(72,96,120),(22,120,122),(27,120,123),(75,100,125),(44,117,125),(35,120,125),(78,104,130),(66,112,130),(50,120,130),(32,126,130),(81,108,135),(64,120,136),(88,105,137),(84,112,140),(55,132,143),(100,105,145),(87,116,145),(24,143,145),(17,144,145),(96,110,146),(48,140,148),(51,140,149)Interrupted. λ> pythagoreanTriples [(3,4,5),(5,12,13),(8,15,17),(7,24,25),(20,21,29),(12,35,37),(9,40,41),(28,45,53),(11,60,61),(33,56,65),(16,63,65),(48,55,73),(36,77,85),(13,84,85),(39,80,89),(65,72,97),(20,99,101),(60,91,109),(15,112,113),(44,117,125),(88,105,137),(24,143,145),(17,144,145),(51,140,149),(85,132,157)Interrupted. λ> map (*2) [1..10] [2,4,6,8,10,12,14,16,18,20] λ> map (*2) [1..10] [2,4,6,8,10,12,14,16,18,20] λ> take 5 triplets [[3,2,1],[6,5,4],[9,8,7],[12,11,10],[15,14,13]] λ> take 5 (scanl (++) [] triplets) [[],[3,2,1],[3,2,1,6,5,4],[3,2,1,6,5,4,9,8,7],[3,2,1,6,5,4,9,8,7,12,11,10]] λ> take 5 (scanr (++) [] triplets) [[3,2,1,6,5,4,9,8,7,12,11,10,15,14,13,18,17,16,Interrupted. Hours of hacking await! 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 λ> scanr (+) 0 [1..10] [55,54,52,49,45,40,34,27,19,10,0] λ> flip (^) 2 3 9 λ> even (foldl (+) 0 [1..100000000000000000000000000000000000]) Interrupted. λ> even (foldl (+) 0 [1..100000000000000000000000000000000000]) Interrupted. λ> import Data.List λ> even (foldl' (+) 0 [1..100000000000000000000000000000000000]) Interrupted. λ>