The smartest people in our field are digging in the wrong direction.While brilliant minds burrow ever deeper into type systems—adding dependent types, effect systems, and increasingly sophisticated type-level programming—we’re missing the forest for the trees. We don’t need smarter types. We need a better substrate for building composable software. We need LEGO parts.Functional Programming: A Dead End for ComposabilityLet me be direct: functional programming, despite its elegant mathematics and appealing purity, is a dead end when it comes to achieving true LEGO-like composability in software.The problem isn’t what FP does—it’s what it actively prevents. FP is suitable for expressing one kind of program: a calculator, where the result is the only thing of importance. In today’s world, with today’s hardware, the result isn’t the only item of interest. We care about how we get there—relative timing relationships, sequencing, parallelism, concurrency. We’re building for the Internet, robotics, IoT, distributed systems.Yes, we can figure out workarounds to accomplish all of these things and force-fit them into a warped version of the functional paradigm. But it’s better to actually solve the real problem instead of expending brain power on workarounds.What We Actually NeedTo build software from true LEGO parts, we need five fundamental elements:1. A Super-Simple Transport MechanismNot a labyrinth of complicated type parameters. Not GADTs or higher-kinded types. Just a straightforward way to move information between parts. The complexity budget should go into what we’re building, not into the plumbing.2. Recursive Part DefinitionThink of it this way:This is like Lists and Atoms in Lisp, but instead of data types (numbers, symbols, strings, lists), these are types of code structure. Containers within containers, all the way down—until you hit a leaf that actually does something.3. Parts That Aren’t Just FiltersThe functional approach fetishizes filters: one input, one out...
First seen: 2026-01-13 16:05
Last seen: 2026-01-13 16:05