Learning from Haskell

  • Polyglot developers are more adventurous
    • Know different, therefore think different
  • Why Haskell?
    • one of the most statistically typed languages
    • one of the most strictly functional languages

“C++ is sadly typed”

  • Static typing does not have to suck
    • type inference!
    • polymorphic types!
  • Languages should work for us, not the other way around

    • list values, ranges, skipping
    • head/tail/init/last/take
  • Tuples

  • Expressions over statements
    • Statements have side effects
    • Expressions do not have to have side effects
    • Less void
    • Less mutability
  • Currying (e.g. blind closures)
    • Can be used in C# and JavaScript
    • Get used to it
  • Be more lazy
    • Use C# Lazy type more to reduce overhead
  • Expression scopes
    • Functional expressions
  • Infinite series with yield returns already available in C#!