Fang Talks

Why can't I hold all these slogans?

Remember that weird Urbit thing I keep raving about?

It’s got this weird functional, subject-oriented programming language called Hoon. It’s quite interesting, but also a tough one to learn. Not only do I have almost zero practical experience with functional programming, Hoon also uses “runes”. They’re made up of two non-alphanumeric characters (like “|=” or “~&”) that represent a “twig”. If you think it’s all very foreign, it’s not because you don’t have enough programming experience. It really is a rather arcane thing.

And while you can replace runes with a two- to four-letter keywords (like “?:” with “:if”, or “=*” with “:aka”), runes are the preferred style by the core team, and many others. And I think I’m starting to see why. There’s a lot of different runes, and not all of their “readable” counterparts make a whole lot of sense. The first character of every rune indicates their general use, and runes are always as short as can be.

But what’s more important, I think, is that using runes over keywords promotes a more intuitive understanding, rather than a semantical one. You don’t use the language processing part of your brain, the runes just get fed straight into your programming mind. Sounds a bit silly, and I suppose it is, but I’m fairly sure our brains will always try to read language, whereas runes can just be identified and understood right away.

Whatever the case, I’m learning to love the rune syntax, even if it’s just because it helps my code look more arcane than it is to those unfamiliar with Hoon.
~ Fang


  • 23/06/2016 (3:51 AM)

    That sounds really interesting, but completely and utterly confusing. Still it would be cool to program something with runes.

Post a comment

Your email will stay hidden, required field are marked with a *.

Experimental anti-spam. You only have to do this once. (Hint: it's "Fang")