-
Inheritance
- not needed
- inclusion polymorphism
- prototype polymorphism
- an alternative (universal quantification)
- not needed
-
A class is just a curried function
-
Interface design
- what is a good interface?
- should implementation-agnostic libraries go on the trait?
-
Generalize the Option data structure in Ruby or Python using the Scott encoding
- data Maybe a = None | Some a
- data Either a b = Left a | Right b
- data Bool = True | False
- data Pair a b = Pair a b
- data Nel a = NelNil a | NelCons a (Nel a)
-
Laziness and Performance in Haskell
-
Consider including Rust in discussions
-
Prove that functions are exponent types
-
Cover Recursion and Fixed points in OO, record types