flatMap(Oslo) 2018
3-4 May 2018, Oslo Norway

From NAND to Lambda: Foundational Computing Through Functional Principles


I recently completed the NAND to Tetris course (http://www.nand2tetris.org/course.php) and I was struck by how many functional and mathematic concepts are used at the Hardware Level. To start out with, the hardware languages are all descriptive and not imperative in nature. Beyond that, all the concepts I had learned on the road to programming with Haskell and Purescript had direct analogues to concepts taught at the lowest levels of computing: morphisms from binary boolean algebra to binary arithmatic leverage concatenation, zero identities and composition: all concepts from Monoids, Functors, Monads, etc. This talk is an engaging overview of surprising parallels found in hardware computing to very high level mathematic concepts from functional programming.

Ryan Moore

Ryan Moore


Ryan Moore is a riff wrangling musician by night and a code slinging developer by day (sometimes swap those I guess). Ryan currently works as a senior (what the heck does that mean, right) developer at MX. Ryan wrote an actual thing that compiled and did actual stuff in Haskell one time and is pretty dang proud of that. As far as music goes, Ryan loves free improvisation and atonal music and also has a hankering for more deterministic, tonal tunes. If its loud, whimsical, frenetic or beautifully structured, Ryan will probably love it, whether we’re talking burgers, pizza, code or sounds.