[armedbear-devel] 0.18 and beyond

logicmoo at gmail.com logicmoo at gmail.com
Fri Nov 6 12:57:16 UTC 2009

From: "Ville Voutilainen" <ville.voutilainen at gmail.com>
>>>> How do you then pass the primitive as one? Like passing EQ/EQUAL/EQUALP
>>>> to FIND/POSITION family of functions?

2009/11/6  <logicmoo at gmail.com>:
>> Oh right, I understand the question a little better
>> public static final SubLObject find(SubLObject item, SubLObject sequence,
>> SubLObject test, SubLObject key, SubLObject start, SubLObject end) {

From: "Ville Voutilainen" <ville.voutilainen at gmail.com>
> This also takes SubLObjects, much like our find takes LispObjects. How do you
> wrap the primitive into a SubLObject?

You are allowed to pass Primitives into places that take LispObject

CYC  used SubLObject where ABCL used LispObject
So SubLObject is the common ansestor of everything in the same way LispObject is ABCL.
So where Primitive is also a LispObject it would be legal to be a SubLObject when reading Cyc sources.
(Instead of Primitive->LispObject it'd be SubLFunction->SubLObject)

The difference is SubLObject is an interface rather than a class.  created relatively the same purpose

More information about the armedbear-devel mailing list