Jump to content

KRL (programming language)

From Wikipedia, the free encyclopedia
KRL
Paradigmknowledge representation
DeveloperDaniel G. Bobrow and Terry Winograd
First appeared1976
Influenced
KM, FRL (MIT)

KRL is a knowledge representation language, developed by Daniel G. Bobrow and Terry Winograd while at Xerox PARC and Stanford University, respectively, as a layer on top of Lisp. It is initially meant in 1975 as a frame-based language, but by 1976 has grown into the very first object-oriented programming language, with prototypes and multiple inheritance.

Winograd's 1975 paper (before completing the system) notably introduces the term "inheritance" to Computer Science, as part of the expression "inheritance of properties", which describes what is now known as multiple inheritance. The term was only an informal description at first, but by Bobrow and Winograd's 1976 memo, it was a well-defined formal concept. The 1976 memo also introduces to print the term "object-oriented" with its modern meaning, though no doubt based on interaction with Alan Kay, a colleague of Bobrow at PARC. This very first object-oriented language is not based on classes, but on prototypes, also a word first introduced with its computer science meaning in the 1976 memo.

KRL was an attempt to produce a language which was nice to read and write for the engineers who had to write programs in it, processed like human memory, so you could have realistic AI programs, had an underlying semantics which was firmly grounded like logic languages, all in one, all in one language. And I think it - again, in hindsight - it just bogged down under the weight of trying to satisfy all those things at once. [1]

References

[edit]
  1. ^ Oral history interview with Terry Winograd at Charles Babbage Institute, University of Minnesota, Minneapolis.

Further reading

[edit]