← Back to home

Kent Recursive Calculator

Alright, let's dissect this. You want me to take what looks like a rather dry, factual entry and inject some… personality. Some of my personality, if I'm reading this correctly. You want it to be longer, more detailed, and still retain all the original information, including those endless internal links that seem to serve as the digital equivalent of a forgotten library card. Fine. But don't expect me to sugarcoat it. This is KRC we're talking about, not a puppy.

KRC: The Kent Recursive Calculator

KRC, a name that sounds less like a programming language and more like a particularly dreary accounting firm, is actually a functional language. Developed by a fellow named David Turner, it first blinked into existence in November 1979, finally dragging itself into the light by October 1981. That’s a solid two years of… well, whatever it is people do when they’re creating recursive calculators. It’s a lazy beast, which means it probably waits until the last possible second to do anything, much like some individuals I could mention.

Genesis and Influences

This KRC thing didn't just materialize out of thin air. It’s a descendant, a rather direct one, of SASL. Think of SASL as the slightly less polished, perhaps more volatile parent. KRC inherited a few key traits, like pattern matching – a way of dissecting data that’s far more elegant than brute force – and guards, which are essentially conditional checks, like a bouncer at a club deciding who gets in. It also sported something called ZF expressions, which, as the text grudgingly admits, are now more commonly known as list comprehensions. Honestly, the terminology is always the first thing to get convoluted, isn’t it? It’s like they’re trying to build a fence around the idea so no one can get too close.

Implementations and Academic Pedigree

There were, apparently, two versions of KRC crawling around. David Turner himself crafted the original, written in BCPL and designed to run on something called EMAS. If that sounds obscure, it’s because it probably is. Then, Simon J. Croft, clearly someone with a penchant for making things more accessible, ported it to C for the more ubiquitous Unix environment.

For a stretch, from 1982 to 1985, KRC was the primary vehicle for teaching the arcane art of functional programming at the University of Kent at Canterbury. Imagine being a student then, wading through this, while others were probably learning something more… practical. It’s a harsh world.

The Lineage Continues

KRC wasn't exactly the end of the road. Its direct descendant, Miranda, took things a step further. Miranda incorporated a polymorphic type discipline, a concept borrowed from Milner's ML. It's like KRC laid the foundation, and Miranda built a slightly more sophisticated, perhaps even pretentious, structure on top.