Fancy Programming Papers
Mar. 16th, 2011 02:31 pmFor my own future reference as much as anything, but other hardcore programmers might find these interesting: I've continued to do a good deal of surfing in my spare time this past week, digging deeper into new-and-cool programming concepts. A few papers that I want to read and keep track of:
Implementing First-Class Polymorphic Delimited Continuations by a Type-Directed Selective CPS-Transform is apparently one of the key papers underlying Scala's Continuations mechanism. Continuations are one of those moderately abstruse but increasingly important concepts, describing how you wrap up a program's state and pass it around. At the high theoretic level, a bunch of common control-flow concepts like loops are often nowadays being described in terms of continuations.
The Essence of the Iterator Pattern analyzes the way that iteration is commonly performed in various languages, decomposes it into its key concepts, and then builds up a new pattern that (theoretically -- I'm only a third of the way through the paper) captures the best of all of them.
Issue 13 of the Monad.Reader contains a key article, the Typeclassopedia -- an organized list of the crucial higher-order type classes. It builds from Functors up through Monads, Monoids, Applicative Functors, etc, etc. Still not an easy read, and focused on Haskell (I was asking on the scala-debate list this morning for somebody to please write a decent course in advanced functional-programming concepts using Scala and Scalaz -- it turns out that they are working on it), but the best-organized examination of the topic that I've found to date.
Implementing First-Class Polymorphic Delimited Continuations by a Type-Directed Selective CPS-Transform is apparently one of the key papers underlying Scala's Continuations mechanism. Continuations are one of those moderately abstruse but increasingly important concepts, describing how you wrap up a program's state and pass it around. At the high theoretic level, a bunch of common control-flow concepts like loops are often nowadays being described in terms of continuations.
The Essence of the Iterator Pattern analyzes the way that iteration is commonly performed in various languages, decomposes it into its key concepts, and then builds up a new pattern that (theoretically -- I'm only a third of the way through the paper) captures the best of all of them.
Issue 13 of the Monad.Reader contains a key article, the Typeclassopedia -- an organized list of the crucial higher-order type classes. It builds from Functors up through Monads, Monoids, Applicative Functors, etc, etc. Still not an easy read, and focused on Haskell (I was asking on the scala-debate list this morning for somebody to please write a decent course in advanced functional-programming concepts using Scala and Scalaz -- it turns out that they are working on it), but the best-organized examination of the topic that I've found to date.