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

Re: Array Register Analog in MCL?



At 1:55 AM 5/14/95, Steve Hain wrote:
>At 12:00 AM 5/14/95, John C. Mallery wrote:
>[...]
>>Fast enough, but I need to get reaonsable lisp types out so that they could
>>be reinserted, for example, with setf aref.
>>
>>This returns objects like #<Unprintable CCL::IMMEDIATE : #x666F6F6F>
>>
>>I can get in trouble if I try to stuff these into, for example, strings.
>>
>>I'm primarily concerned with fast string hacking at this time.
>>
>>Is there a way to get the returned object converted into the relevant
>>lisp type?
>>
>>If we can settle on the right fast-aref, it might be worth adding the
>>array-registers
>>declaration to MCL so that the compiler can do the work rather than a user
>>macro.
>
>I'm not familiar with the semantics of the "array-registers" declaration.
>If you wrap an SVREF form in a speed 3/safety 0 declaration, then you
>also have to make sure the arguments are the correct types. For strings,
>they're not, therefore the incorrect results. For simple strings, using
>SCHAR instead of SVREF would give correct results, but doesn't compile
>to code that's quite as efficient.
>
>- Steve Hain
>

For strings we also have ccl::%schar  which gets a character,
 ccl::%scharcode gets the character code
 ccl::%set-scharcode  sets the char code.
These do no bounds or type checking. I dont remember whether optimize
speed 3 knows about them,

Alice@digitool.com