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 Changed directory: /home/trifon/fmisync/Courses/2019_20/FP_2019_20/sandbox/lectures/haskell/ λ> 2 2 λ> :t (^) (^) :: (Integral b, Num a) => a -> b -> a λ> :t (^^) (^^) :: (Fractional a, Integral b) => a -> b -> a λ> :t (**) (**) :: Floating a => a -> a -> a λ> div50 2 25 λ> div50 12 4 λ> :t twice twice :: (t -> t) -> t -> t λ> :t f f :: Num p1 => p2 -> p3 -> p4 -> p5 -> p1 λ> :t (f 5 8) (f 5 8) :: Num p1 => p4 -> p5 -> p1 λ> :t (f 5 8) 2 3 (f 5 8) 2 3 :: Num p1 => p1 λ> :t diag diag :: (t1 -> t1 -> t2) -> t1 -> t2 λ> hypothenuse `diag` 1 1.4142135623730951 λ> :t (1+) (1+) :: Num a => a -> a λ> :t (+) 1 (+) 1 :: Num a => a -> a λ> subtract 5 8 3 λ> (subtract 5) 8 3 λ> lastDigit 123 10 λ> lastDigit 123 3 λ> fact (-1) *** Exception: /home/trifon/fmisync/Courses/2019_20/FP_2019_20/sandbox/lectures/haskell/Defs.hs:(3,1)-(5,29): Non-exhaustive patterns in function fact λ> :t error error :: [Char] -> a λ> fact (-1) *** Exception: Отрицателен аргумент! CallStack (from HasCallStack): error, called at /home/trifon/fmisync/Courses/2019_20/FP_2019_20/sandbox/lectures/haskell/Defs.hs:6:14 in main:Defs λ> let x = 2 λ> x 2 λ> let x = 5 λ> x 5 λ> x = 10 λ> x 10 λ> x = 12 λ> x = 15 λ> area 0 0 (-3) 0 0 4 6.0 Defs.hs:20:1: error: … Multiple declarations of ‘x’ Declared at: /home/trifon/fmisync/Courses/2019_20/FP_2019_20/sandbox/lectures/haskell/Defs.hs:8:1 /home/trifon/fmisync/Courses/2019_20/FP_2019_20/sandbox/lectures/haskell/Defs.hs:20:1 | Compilation failed. λ>