chicken-hackers
[Top][All Lists]
Advanced

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

[Chicken-hackers] [PATCH] Move port procedures out of toplevel and drop


From: Evan Hanson
Subject: [Chicken-hackers] [PATCH] Move port procedures out of toplevel and drop most "chicken" imports
Date: Fri, 26 Jan 2018 09:37:28 +1300

Hi all,

Here's a medium-sized patch that rehomes some more top-level things. I
started out just moving the port-related procedures, but one thing led
to another and I also ended up killing off most of the bare "chicken"
imports, too.

I departed from the c-l-r page slightly for some of these identifiers.
I've moved these four into chicken.port as planned: port-closed?,
port-name, port-position, and set-port-name!.

The following procedures, however, are now in chicken.base instead:
get-output-string, open-input-string, open-output-string, port?
input-port-open?, output-port-open?, and flush-output. I've done this to
more closely match the R7RS library layout, which has those first six
procedures in scheme.base, as well as flush-output-port, which
corresponds to our flush-output. Incidentally, we might want to rename
our procedure to match.

I wasn't totally sold on port?, actually, so I put it in chicken.base
since that's what the R7RS does, and that's also where many of the other
type predicates for built-ins have gone, e.g. fixnum? and promise?. This
is a toss-up for me, though, since there is also blob? in chicken.blob,
locative? in chicken.locative, and so on. Thoughts?

This can still be built with 5.0.0pre4, no need for a new boot-chicken.

Cheers,

Evan

Attachment: 0001-Move-port-procedures-out-of-toplevel-and-drop-most-c.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]