-
Notifications
You must be signed in to change notification settings - Fork 0
Description
ISSUE
cffi::parse-type use
CAUSE
CL-WITH uses actual class objects to dispatch on. Starting with a symbol for Lisp classes, or a keyword like :int for built-in CFFI classes, or a list like (:struct foo), a GET-TYPE-INFO method is chosen and applied to generate an a actual <..class> object. This object is used to dispatch the GET-XXX-CLAUSE method, which returns the expansion for the clause.
ORIGINS
This was originally specified in order to deal with two possible Lisp classes for instances of structs and classes, respectively -- as well as CFFI's structs and basic types. It was deemed more reliableto dispatch on the actual class object rather than rely on 'foo=lisp-object, (foo)=cffi-object and :foo=cffi-basic-object... In addition, symbols may be used as single-level variables to shorten cffi types...
PROPOSED SOLUTION
Leave as is? CFFI is a mature library, and parse-type is not likely to change.
STATUS
Will keep this open for now, at least as a reminder