4 ms·
In Lisp (and similar) sometimes the term object is used, since it's not the variable that's important, but the data object which is returned from a function and
by lispm 3y ago
In Lisp (and similar) sometimes the term object is used, since it's not the variable that's important, but the data object which is returned from a function and which has an identity. A symbol has by definition an entity.
A symbol also has a property list, which is a mutable storage with keys and values.
Since knowledge representation was an early topic, using property lists was not unusual. Then various forms of procedural invocations were tried. For example 'access oriented' style was by invoking functions (if-needed, if-added, if-removed, ...) when a slot was accessed. So-called slot-demons. That lead to frame systems, like FRL from 1977.
Using a property list for key/values :
CL-USER 21 > 'bladerunner
BLADERUNNER
CL-USER 22 > (setf (get 'bladerunner 'is-a) 'movie)
MOVIE
CL-USER 23 > (push 'harrison-ford (get 'bladerunner 'actors))
(HARRISON-FORD)
CL-USER 24 > (push 'sean-young (get 'bladerunner 'actors))
(SEAN-YOUNG HARRISON-FORD)
CL-USER 25 > (push 'rutger-hauer (get 'bladerunner 'actors))
(RUTGER-HAUER SEAN-YOUNG HARRISON-FORD)
CL-USER 26 > (symbol-plist 'bladerunner)
(ACTORS (RUTGER-HAUER SEAN-YOUNG HARRISON-FORD)
IS-A MOVIE)
For example "SIR: a computer program for semantic information retrieval" by Bertram Raphael, 1964:
https://dspace.mit.edu/handle/1721.1/6904 https://dspace.mit.edu/handle/1721.1/6904
Page 45:
"The model in SIR is based largely upon the use of description-lists. A description-list is a sequence of
pairs of elements, and the entire list is associated with a particular object. The first element of each pair is the name of an attribute applicable to a class of objects, and the second element of the pair is the value of that attribute for the object described."
There we already see the terms used: OBJECT, CLASS, ATTRIBUTE, VALUE
Then he introduces the "is" set-inclusion relation. There is also a part-whole relationship. And more... 'basic objects' are words.
Later research then added the idea of procedure invocations by various means.