[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: {complex type}



Gabor Greif wrote:
> Doug Hockin wrote:
> 
>>In a FunDev project window, with the Definitions tab
>>selected, the methods automatically generated for
>>slots all show an extra argument "{complex type}".
>>
>>For example, from the airport project:
>>
>>method direction({complex type})
>>method direction-setter(<symbol>, {complex type})
>>
>>What is this {complex type} argument?
>>
>>-- Doug
>>
> 
> 
> possibly some type that was created by \union(\singleton(...), ...)
> and the pretty printer punts on them?

I'm pretty sure that's the correct reason for getting "{complex type}" 
instead of something more useful.  As to what that argument represents, 
it's the type of the object for which the slot is defined -- remember 
that "x.foo == foo(x)", ans similarly for "foo-setter".  In this case, 
it may be that the generics were defined on a type-union, as well as 
having methods which were created by a "slot" definition for a class.

HTH,
Hugh