Episode 1:

  • Learning path github.com/bitemyapp…
  • Functional
    • Two values of functional
      • Functions are first-class, that is, functions are values which can be used in exactly the same ways as any other sort of value.
      • The meaning of Haskell programs is centered around evaluating expressions rather than executing instructions.
  • Pure Haskell expressions are always referentially transparent, that is:
    • No mutation! Everything (variables, data structures…) is immutable.
    • Expressions never have “side effects” (like updating global variables or printing to the screen).
    • Calling the same function with the same arguments results in the same output every time.
  • Lazy
  • Statically Typed
    • Helps clarify thinking and express program structure
    • Serves as a form of documentation
    • Turns run-time errors into compile-time errors
  • Themes
    • Types
    • Abstraction
    • Whole meal programming