Articles on Functional

Last updated: 2022/11/09

Top deep-dives on Functional

Categories of Nets (Part 1)

John Baez describes a Petri net as "[consisting] of places (drawn as circles) and transitions (drawn as boxes), with directed edges called arcs from places to transitions and from transitions to places". Don't understand? John's article goes much deeper into defining them and similar nets through the monoidal categories they generate.

Fun with Lambda Calculus

Functional algebra makes up the basis of functional programming. It's most famous for proving that all things can be represented with functions, and it's wild to think that it was pioneered in the mid 1930s! In this informative article, Stepan Parunashvili uses Clojure and only functions to create a factorial function. Although it's pretty heavy on the Clojure syntax, which isn't the most intuitive for most people, the only alternative for explaining the topic is Greek symbols.

Why Functional Programming Should Be the Future of Software Development

Charles Scalfani discusses the difficulties that arise during the maintenance phase of software development, when shortcuts taken during development come back to bite programmers.
Some highlights:

  • The software industry's trajectory is towards increasing complexity, longer development times, and greater fragility of production systems
  • Functional programming could be part of the solution to these issues
  • Like any programming paradigm, it's ultimately just another tool in your toolkit and not the best fit for every job

Namespaced De Bruijn indices

They say the hardest part about programming is naming things. Well this is especially true when doing lambda calculus and attempting to reduce functions. Gabriel Gonzalez demonstrates an algorithmic approach to naming unnamed variables, that allows for asthetic beta reductions that perserve original variable names.

Existential optics

Marco Perone gives an easier to digest introduction (than we normally have) on optics, including lenses, prisms, different encodings, and composition.

Teaching optics through conspiracy theories

Bartosz Milewski describes functional programming and lens principles using examples and analogies.

Provably Space-Efficient Parallel Functional Programming

Sam Westrick, Jatin Arora, and Umut Acar explain how poor performance in implicitly-parallel functional programming can be counteracted by "utilizing a memory property of parallel functional programs called disentanglement".

Understanding transducers

Andrey Listopadov does a deep-dive on transducers and how they apply to Clojure.

Depth Comonads

Oisín Kidney rambles on some deep functional programming type theory stuff, like generalizing streams using monus(es?), and state comonads.


Want to see more in-depth content?

subscribe to my newsletter!

Other Articles