Matzo is a small, experimental, idiosyncratic programming language for creating random text1 which I have in a reasonably usable state at this point. It's still firmly alpha software—and it's a personal project I only work on sporadically, so I'm not making any promises about future stability—but it's usable enough that I feel comfortable at least blogging about it!| Infinite Negative Utility
This is a question posed by Aaron Levin on Reddit: > In WAI, Application has the type Request -> (Response -> IO ResponseReceiv...| Infinite Negative Utility
Matzo is a small, experimental, idiosyncratic programming language for creating random text which I have in a reasonably usable state at ...| Infinite Negative Utility
Let's talk about objects in functional languages. This could be a sticking point, so I'll get this out of the way up-front: I find arguments over whether such-and-such a thing is "really" functional or "really" imperative or "really" object-oriented to be for the most part frustrating and useless. A lot of these arguments boil down to value judgments in disguise (a thing I've touched on in the past when talking about the rhetorical emphasis placed on math in programming) and many of the rest ...| Infinite Negative Utility
Something I've felt for a long time is that structural types are underused and underappreciated in modern programming languages. They...| Infinite Negative Utility
Something I've had puttering around in the back of my head for ages now is My Perfect Application Language. There are languages out there that I like more or less, but I still believe that another language could be a more perfect fit for the software I want to write, and I have a large number of ideas about what features it would include, what features it would omit, how it might be written, and so forth. : Why do I specify this? Well, because I believe that there's no one programming languag...| Infinite Negative Utility
Literal actual years ago, a friend of mine asked me for a blog post about how I generate images with code. I've started writing such a blog post on multiple occasions, and I keep wanting to add more stuff, more asides, more examples, and it grows well beyond what a post should be. So instead, I'm going to break it up into multiple posts. In Praise of Netpbm Cairo, SVG, and generated vector images: planned Practical PostScript—no, why are you laughing, I'm serious: planned How I approach pro...| Infinite Negative Utility
Douglas Hofstadter's book Gödel, Escher, Bach: An Eternal Golden Braid is a classic text that's had a strong influence on countless people. It's a venerated book among a certain stripe of computer scientist and mathematician, and it's reputed to have inspired generations of people to pursue the study of logic and artificial intelligence. It's a meandering meditation of a number of topics that oscillates around logic, language, formal systems, biology, neurology, music, art, and many more top...| Infinite Negative Utility
I first came across Rust back in 2010 or 2011, and it was a very different language than the one it is today, both syntactically and semantically. I remember at the time that newcomers would often complain loudly about the terse keywords—like the fact that the return keyword had been shortened to ret—and the omnipresent tildes scattered throughout the language like fallen leaves in autumn. My programming background was in functional languages—specifically in Scheme and Haskell—and I f...| Infinite Negative Utility
I want to say a few words on how I write Haskell as of 2017. Before I go on, I want to make very clear: this is neither a style recommen...| Infinite Negative Utility
For almost a complete decade—starting with discovering Haskell in about 2009 and right up until switching to a job where I used primarily...| Infinite Negative Utility
Last year I decided to use the Advent of Code to practice writing code using the Pony programming language, and the first few days I stru...| Infinite Negative Utility