From: Christopher C. Stacy
Subject: streams portability
Date:
Message-ID: <u1y02evfk.fsf@dtpq.com>
I need a portable interface to streams.
For Gray Streams:
CMUCL puts them in EXT, but Lispworks puts them in STREAM.
CMUCL thinks the arguments to STREAM-READ-SEQUENCE has &OPTIONAL
arguments START END, while Lispworks thinks they're required.
Is there a Simple Streams implementation for Lispworks?
What about CLISP and Corman?
How is everyone else dealing with this?
······@dtpq.com (Christopher C. Stacy) writes:
> I need a portable interface to streams.
>
> For Gray Streams:
> CMUCL puts them in EXT, but Lispworks puts them in STREAM.
> CMUCL thinks the arguments to STREAM-READ-SEQUENCE has &OPTIONAL
> arguments START END, while Lispworks thinks they're required.
>
> Is there a Simple Streams implementation for Lispworks?
> What about CLISP and Corman?
>
> How is everyone else dealing with this?
I have a file gray-streams-package.lisp that defines the
ORG.NO-CARRIER.GRAY package, finds the package where the Gray symbols
live for the current implementation, imports the Gray symbols, then
exports them. In my Gray streams using code, I just use-package
ORG.NO-CARRIER.GRAY.
This works for me on CMUCL, CLISP, and OpenMCL.
--
/|_ .-----------------------.
,' .\ / | No to Imperialist war |
,--' _,' | Wage class war! |
/ / `-----------------------'
( -. |
| ) |
(`-. '--.)
`. )----'
From: Christopher C. Stacy
Subject: Re: streams portability
Date:
Message-ID: <ur881n519.fsf@dtpq.com>
>>>>> On 16 Apr 2003 11:41:13 -0700, Thomas F Burdick ("Thomas") writes:
Thomas> ······@dtpq.com (Christopher C. Stacy) writes:
>> I need a portable interface to streams.
>>
>> For Gray Streams:
>> CMUCL puts them in EXT, but Lispworks puts them in STREAM.
>> CMUCL thinks the arguments to STREAM-READ-SEQUENCE has &OPTIONAL
>> arguments START END, while Lispworks thinks they're required.
>>
>> Is there a Simple Streams implementation for Lispworks?
>> What about CLISP and Corman?
>>
>> How is everyone else dealing with this?
Thomas> I have a file gray-streams-package.lisp that defines the
Thomas> ORG.NO-CARRIER.GRAY package, finds the package where the Gray symbols
Thomas> live for the current implementation, imports the Gray symbols, then
Thomas> exports them. In my Gray streams using code, I just use-package
Thomas> ORG.NO-CARRIER.GRAY.
Thomas> This works for me on CMUCL, CLISP, and OpenMCL.
Well, that's exactly what I had done (using my domain.packge name, too!),
but then I discovered that STREAM-READ-SEQUENCE does not have a standard
definition that is compatible between the two implementations I'm using.
That would be CMUCL and Lispworks.
So, then I gave up and just patched EXT:STREAM-READ-SEQUENCE in CMUCL.
······@dtpq.com (Christopher C. Stacy) writes:
> I need a portable interface to streams.
>
> For Gray Streams:
> CMUCL puts them in EXT, but Lispworks puts them in STREAM.
> CMUCL thinks the arguments to STREAM-READ-SEQUENCE has &OPTIONAL
> arguments START END, while Lispworks thinks they're required.
>
> Is there a Simple Streams implementation for Lispworks?
> What about CLISP and Corman?
>
> How is everyone else dealing with this?
Have you looked at acl-compat <http://www.cliki.net/ACL-COMPAT>? I'm
not sure but maybe that would fit your needs or provide a starting
point.
Edi.