guile-devel
[Top][All Lists]
Advanced

[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).



reply via email to

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