Home > Uncategorized > KRL and the K semantic-framework

KRL and the K semantic-framework

K is for KRL and the K semantic-framework.

KRL (Knowledge Representation Language) is a mechanism to feed facts and relationships to dumb programs to make them smart. Lists of facts and relationships were published in the appendices of reports and people would excitedly rush around waving them about, asserting that with a bit more effort this data would bring forth an intelligent system that would render human involvement in x and y a thing of the past. Many years and millions of dollars later Cyc is still putting in that little bit more effort.

The promise of what could be done with knowledge representation, and other AI related ideas, helped create a huge bubble around building human-like computer software systems in the early 1980s. Fear of what Japan’s fifth generation computer project might achieve also played a big part in fueling this bubble, however without the visible success of Japanese home electronics/cameras this project could well have gone unnoticed in the West (we had the Alvey programme in the UK, which managed to spend lots of money without delivering anything remotely useful; reported to me by several people involved in its projects).

The K semantic-framework gets a mention because it was used to write C-semantics, the most impressive (by far) formal semantic of C I have seen (it is also the only other language beginning with K that I know anything about). Think of it as Coq without users into soap powder advertising.

  1. Stephen Cox
    December 11th, 2014 at 20:23 | #1

    I thought there must be an executable language beginning with K, so I put “computer language beginning with K” in Google (as one does these days), and it came up with (no surprise) K:


    It is described as an ASCII version of APL, hence the “difficult to parse for humans” operator overloading.

    K is interpreted, and, intriguingly, the Wikipedia entry claims that the small size of the interpreter and compact syntax make it possible for K applications to fit entirely within level 1 cache.

    It’s the foundation for the KDB+ database, which is under active development, so it’s a serious effort.

    There’s also its development into Q, but perhaps this should be left for consideration in six days’ time.

  2. December 11th, 2014 at 20:52 | #2

    @Stephen Cox
    Thanks for the suggestion. I am restricting myself to language with which I have some connection, however tenuous, and have at times had to resort to Wikipedia’s category listings to refresh my creaking memory. Two APL derived languages I can have read a bit about are A+ and J, but my first encounter with K was when recently browsing a category listing.

  1. No trackbacks yet.

A question to answer *