define-concept [Function]
Purpose
The define-concept function allows the user to procedurally define or redefine a Loom concept.
Syntax
define-concept &key name is is-primitive implies defaults partitions
exhaustive-partitions in-partition predicate function mixin-classes mixin-slots
annotations identifier kb characteristics
Arguments
The name argument is a symbol or string. If name is null, the concept is given a system-generated name.
All of the remaining define-concept arguments are Lisp expressions which evaluate to atoms or lists that are legal arguments to defconcept. Variables appearing in these expressions may evaluate to Loom objects or to the names of such objects.
Value
This function returns the newly-defined (or redefined) concept.
Examples
(define-concept) ==> |C|THING_1
(define-concept :name 'Person) ==> |C|PERSON
(let ((supers (list 'Man (fc Rich))))
(define-concept :is `(:and ,@supers))) ==> |C|RICH&MAN
See Also
Last modified: Dec 28 1995