F-Words Slides

Thanks to everyone who came to my "F-Words" talk on functional programming terms at CoderFaire Tennessee. Here are the slides. https://docs.google.com/presentation/d/1CP8I2rr4ZuQ1l7iJz7MTbJXTXdFoVHug7QRw7Mdzpgc/edit?usp=sharing…

Partial Application vs. Currying

Is the entire world of aspiring functional programmers generally confused about partial function application and currying, or is it just me? I like to feel well-informed when I think to myself that these two are not the same thing, but I still couldn't tell you what the difference is. To…

Magic Not in the Monad

I am recently coming to grips with a foundational misconception I have been entertaining about monads, possibly since I first heard the term. I am not a category theorist, and I first encountered monads in the context of functional programming. For me the monad has always been shrouded in mystery…

Rebuilding Haskell in C#: Functors

Look out; I've been digging into Haskell again. I enjoy learning about Haskell, but more than that, I enjoy learning to think in a functional way. Haskell is a particularly good language to facilitate that, as it is arguably the most functional of functional languages. It boasts "pure" functionality, and…

Polyglot Survival Guide: Erlang, Haskell, F#, and Elixir

Lately I have been bouncing back and forth between Erlang and Haskell, two profoundly significant functional languages that I find both very different and very similar. They are very different in their philosophies and thought patterns, particularly around data types, but both being non-LISPy functional languages, they have enough similarities…

Elixir: Language Love Child?

Different programming languages, like different people, have their strengths and weaknesses. Some are simple; some are complex. Some are friendly to the programmer; some are friendly to the processor. Some cater to brilliant minds; some cater to other minds. I have spent a significant portion of my development career writing…