Hello!

Andy Wingo <wi...@pobox.com> writes:

> On Tue 07 Dec 2010 11:33, Andy Wingo <wi...@pobox.com> writes:
>
>> The new R6RS support is great. However we are currently pulling in (rnrs
>> base) into the set of modules needed by the compiler, because (language
>> assembly compile-bytecode) uses open-bytevector-output-port, and the
>> ports impl gained a dep on base.
>>
>> Is there any way that we can remove this dependency? It will speed up
>> bootstrap and the pause as the first expression at the REPL is
>> compiled.
>
> How about we move most of the procedures that are defined in C via
> scm_init_r6rs_ports to (ice-9 binary-ports).  Then (rnrs io ports) can
> still be a r6rs module, and low-level code can avoid pulling in r6rs.

A potential problem is that (rnrs io ports) uses bytevectors, defined in
(rnrs bytevectors), so we would perhaps need an (ice-9 bytevectors) as
well[*], and a new node in the manual for each, etc.

Is the only problem of the current solution that compilation of Guile
itself is slower?  (Which is a real problem, but I’m trying to get the
big picture.)

Thanks,
Ludo’.

[*] (rnrs io ports) doesn’t import (rnrs bytevectors), but it may seem
    slightly inconsistent to have (ice-9 binary-ports) and not (ice-9
    bytevectors).

Reply via email to