Scott Wlaschin, creator of F# for fun and profit
No much to add from previous talks about "features" of functional languages. I was expecting something more.
A bunch of terms and some "rules" made up that we should consider valid for some reason.
Functions are things
Composition everywhere: Functions in the small, functions in the large
Types are not classes: Types are only the labels you use to describe the data input and data output of your functions
Types separate data from behavior
Totality is the behavior of a function to have a valid output value to every single input value
Use static types for domain modelling and documentation
I should learn smalltalk!
Don’t throw exceptions
Parametrize all the things. We should decouple the behavior from the data.
Function types are "interfaces". Function types provide instant abstraction