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?

From: Thomas F. Burdick
Subject: Re: streams portability
Date: 
Message-ID: <xcvptnm70ae.fsf@famine.OCF.Berkeley.EDU>
······@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.
From: Edi Weitz
Subject: Re: streams portability
Date: 
Message-ID: <87iste4syc.fsf@bird.agharta.de>
······@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.