[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Array Register Analog in MCL?
- To: slh@digitool.com (Steve Hain), JCMA@ai.mit.edu (John C. Mallery)
- Subject: Re: Array Register Analog in MCL?
- From: alice@digitool.com (Alice Hartley)
- Date: Mon, 15 May 1995 15:48:07 -0400
- Cc: info-mcl@digitool.com
- Sender: owner-info-mcl@digitool.com
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