Functional Programming

Functional programming encompasses a wide array of techniques revolving around higher order functions, closures, recursion, declarative programming, immutability, and type systems that can help writing more correct, more easily understandable code.

My first introduction to functional programming was Higher Order Perl by Mark Jason Dominus (mjd), though SICP was also extremely valuable.

Posts

Emerging Objects

Building a simple object system out of closures

Object-oriented programming and functional programming imply each other. While encoding closures as objects is a well-known technique (see the command pattern, and e.g. Functors in C++), using closures to implement objects is a bit more unusual.

In this post, I will explore creating a simple object system in JavaScript, using only the functional parts.

Dump notes