Skip to content

Latest commit

 

History

History

Lecture3

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Lecture3 - Typeclasses

  • Typeclasses

    • class
    • instance
    • {-# MINIMAL #-}
  • Language extensions

    • {-# LANGUAGE InstanceSigs #-}
  • Standard typeclasses

    • Eq, Ord, Show, Read, Num
    • deriving
    • {-# LANGUAGE GeneralizedNewtypeDeriving #-}
  • Algebraic typeclasses

    • Semigroup
    • Monoid
  • Kinds

  • Functor

  • Folds

    • foldr, foldl, foldl'
    • Foldable
  • Strict and lazy evaluation

    • Lazy evaluation
    • Tail call optimization
    • Equational reasoning
    • {-# LANGUAGE BangPatterns #-}