The category design pattern
This is wonderful, and correct, theory. As the Futurama joke goes, "you are technically correct; the best kind of correct."<p>What the Haskell community keeps running into is that most people don't think in theories. Trying to prove the theory to be practical has a poor success rate. They need to implement useful things that people love, then show how the theory got them there naturally.<p>Sentences like this:<p>> Category theory codifies this compositional style into a design pattern, the category.<p>To the average person, a theory codifying a style into a pattern just isn't useful. What does that do? Monads are a common joke to this effect. They are wonderfully useful but poorly understood by most developers. It isn't being right that matters if few understand you.<p>Why was Rails successful?<p>Sure Ruby is nice, but Python is very similar (and it wasn't the `do...end` blocks.)<p>It's because Rails could be used to easily build functional CRUD apps — Whoops! it works — that made difficult easy. Sandy Metz doesn't get heard if DHH isn't building Basecamp.<p>As a philosopher, it pains me to know people don't think that way, but if you aren't changing people's lives then all the theory is just mental masturbation.