Erik Meijer

Static Typing Where Possible, Dynamic Typing When Needed: The End of the Cold War Between Programming Languages

6p. Introduction When Programmers Say “I Need Dynamic/Static Typing”, They Really Mean I want type inference I want contracts I want (coercive) subtyping I want Generics I want (unsafe) covariance I want ad-hoc relationships and prototype …

Functional Programming with Bananas, Lenses, Envelopes, and Barbed Wire.

目次。 Introduction The data type of lists Catamorphisms Anamorphisms Hylomorphisms Paramorphisms Algebraic data types Functors Recursive types Recursion Schemes Program Calculation Laws Catamorphisms Anamorphisms Hylomorphisms Relating ca…

http://research.microsoft.com/~emeijer/