[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: compiler dep on r6rs
From: |
Ludovic Courtès |
Subject: |
Re: compiler dep on r6rs |
Date: |
Thu, 27 Jan 2011 14:28:05 +0100 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux) |
Hello!
Andy Wingo <address@hidden> writes:
> On Tue 07 Dec 2010 11:33, Andy Wingo <address@hidden> 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).