[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] [PATCH] Move port procedures out of toplevel and drop
[Chicken-hackers] [PATCH] Move port procedures out of toplevel and drop most "chicken" imports
Fri, 26 Jan 2018 09:37:28 +1300
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"
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.
Description: Text Data
- [Chicken-hackers] [PATCH] Move port procedures out of toplevel and drop most "chicken" imports,
Evan Hanson <=