[Ecls-list] gray-stream support

Juan Jose Garcia-Ripoll jjgarcia at users.sourceforge.net
Tue May 6 07:24:44 UTC 2008


On Tue, May 6, 2008 at 5:00 AM, Geo Carncross <geocar at gmail.com> wrote:
> Sorry to wake this back up, but trivial-gray-streams needs to make
>  stream-element-type, open-stream-p and close be generic functions.
>
>  Right now, I'm doing this:
>
>  (setf (fdefinition 'close) #'gray:close)
>  (setf (fdefinition 'stream-element-type) #'gray:stream-element-type)
>  (setf (fdefinition 'open-stream-p) #'gray:open-stream-p)
>
>  which is pretty similar to what SBCL does when loading sb-gray. It at
>  least makes it possible to build all of hunchentoot's dependencies.

Hutchentoot has its own package, doesn't it? Why not modify the
package definition

(defpackage hutchentoot
  ...
  (use :gray))

This will import _all_ of Common Lisp, with CLOSE and other functions
overwritten. It also has the advantage that it does not trick the
compiler. Your change is not allowed and the compiler does not expect
it, so it will keep using cl_close(), etc, which is fine, it will work
(ANSI CLOSE will call Gray CLOSE if it finds a standard-object as
argument), but I would not call it the right way.

Please tell me whether this works.

Cheers

Juanjo

-- 
Facultad de Fisicas, Universidad Complutense,
Ciudad Universitaria s/n Madrid 28040 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the ecl-devel mailing list