All the posts tagged #functional_programming

2022-10-19
A Clojure view of "Mars Rover"

Here I illustrate how Clojurists (including Yours Truly) like to solve problems and model things using hammocks, pure functions, and the "it's just data" ideology. Also, while the *problem* focuses on "design in the small" of application logic, many ideas in the *solution* can—and do—scale all the way to "design in the large" of whole systems.


2022-04-27
Shell ain't a bad place to FP: part 2/N: Functions as Unix Tools

Or, the one in which we hand-craft nano Unix tools using Bash functions.


2022-03-25
n ways to FizzBuzz in Clojure

FizzBuzz is everywhere. Every programmer passes through its rite of passage, or at least bears witness to another. Over the years, many gentlenerds have taken it upon themselves to discover ever new ways to incant those hoary symbols. I hereby enjoin these few drops of Clojure to that roiling ocean of FizzBuzzery.


2022-03-11
Shell ain't a bad place to FP: part 1/N: McIlroy's Pipeline

Or, the one in which we "take apart" Douglas McIlroy's pipeline from 1986. Doing so teaches an object lesson about the essence of modular, composable, functional architecture.


2022-02-25
Dismal Arithmetic in Dyalog APL and Clojure

Dismal arithmetic is just like the arithmetic you learned in school, only simpler: there are no carries, when you add digits you just take the largest, and when you multiply digits you take the smallest. How does code look in the two languages I like a lot; Clojure and APL?


2022-02-23
Shell ain't a bad place to FP: part 0/N: Introduction

Or, *Supremely Functional Bash Programming*, an exploration in N parts...


2022-02-22
What makes Functional Programs and Systems "Functional"?

In which we ponder the Functional Nature of Life, The Universe, and Everything. Please feel free to follow through the weeds, or jump straight to the bottom for my 2 nano BTC on the matter. (Or my current state of mind, at any rate.)


2022-02-10
Poor man's Reader App with Pandoc & Bash

Every so often, I want to avoid opening a website in a browser, for ... reasons.