On Thu, Sep 8, 2011 at 6:20 AM, Luís Oliveira luismbo@gmail.com wrote:
On Thu, Sep 8, 2011 at 5:23 AM, Liam Healy lnp@healy.washington.dc.us wrote:
- Finding that (parse-type 'complex) is an instance of neither
ENHANCED-TYPEDEF nor ENHANCED-FOREIGN-TYPE, the expand-from-foreignT T method is called, which just returns value (first arg).
So there's a gap here, and I'm not sure how to plug it. Should I be making complex-type a subclass of enhanced-foreign-type so that the compiler macro picks up the conversion to lisp?
Oh. That's right, unless it's an enhanced-foreign-type it won't go through the translation mechanism. Adding that as superclass should work.
I'm having trouble with this. If I simply make it a superclass, I get an error: Must specify an ACTUAL-TYPE. If I fill the slot when I try to define the class, I get an error that complex is not a CFFI type. I'm not knowledgeable about the various classes and what an alias type means, etc. Can you fill me in on exactly how the new type class should be made when it is a subclass of both foreign-struct-type and enhanced-foreign-type?
Liam