We have all experienced it: you make an innocent statement about a programming language online, and suddenly you are mired in a flamewar. You are labeled a fanboy and flamebait. Why is choice of programming language such a touchy issue? It’s like once you enter into certain areas of the topic of programming languages*, you [...]
Category Archives: Uncategorized
Investigations into Terracotta
Clojure + Terracotta = Yeah, Baby! I just stumbled across this effort to get Clojure running on Terracotta, a JVM clustering infrastructure. Terracotta gives your distributed JVM’s a shared heap, so the possibilities of distributing computation are immense. This kind of thing really gets me going. All I need now is a room full of [...]
Writing map in Haskell
Recently, I posted an article about why I didn’t like Haskell’s type checker (or really, any of the other type checkers I know of) in theory. I sensed that it got a lot of flack. It was an idea I had been pinging around in my head for a while. It was not meant as [...]
A great story of lispy discovery
Not Lisp again . . . I’m always searching for a good way to explain what you can do with Lisp that you can’t do with most other languages. Joe Marshall has a compelling story, from a skeptic’s point of view, for what makes functional programming different. There are multiple parts that trace his way [...]
Nice article on small software
The Virtues of Small Software Nowadays we have thousands of times the processing power, memory and storage yet, from the user’s perspective, software for the desktop, web and mobile seems to run slower than it should, or used to. While it does start a bit backwards-looking*, this article wraps it up with a great positive, [...]
C type system
C’s type system has been criticized for being flawed. It certainly is not as logical as Haskell’s. I am not going to argue with that. But C’s type system has (at least) one redeeming quality: an escape hatch. When the Creators brought C into existence, they endowed it with a few datatypes and a way [...]
Self and value slots
In Programming as an Experience: The Inspiration for Self, the authors discuss successes and failures in bringing uniformity and minimalism to the language. One such failure is that data slots and method slots have different semantics. They discuss different options for unifying method semantics. All of the options they mentioned were disagreeable with the authors, [...]
Why type systems are right
Type systems are right because they impose a rigid view of a domain (otherwise known as a model) that can then be reasoned about in a structured and reliable way. Well defined types define an ordered space in which the programmer can solve a problem. Outside of that space lies chaos.
There is no behind your back on the Internet
Why is it that people unfailingly want to put words in my mouth on the Internet? I suppose it happens all the time in everyday speech. Or behind my back. But on the Internet, everything you say is visible to all. There is no behind your back. And seeing it in writing, permanently attached to [...]
Haskell Types and Goedel’s Incompleteness Theorem
Haskell’s type system disallows two broad classes of typing problems. It does not allow what it can prove to be incorrect (for example assigning a String value to a Number variable). That makes sense. It also does not allow anything that it cannot prove correct. That also makes sense, though it is somewhat annoying when [...]
