* compiler dep on r6rs
@ 2010-12-07 10:33 Andy Wingo
2011-01-27 10:55 ` Andy Wingo
0 siblings, 1 reply; 6+ messages in thread
From: Andy Wingo @ 2010-12-07 10:33 UTC (permalink / raw)
To: guile-devel
Hi,
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.
Andy
--
http://wingolog.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: compiler dep on r6rs
2010-12-07 10:33 compiler dep on r6rs Andy Wingo
@ 2011-01-27 10:55 ` Andy Wingo
2011-01-27 13:28 ` Ludovic Courtès
2011-02-20 21:46 ` Andy Wingo
0 siblings, 2 replies; 6+ messages in thread
From: Andy Wingo @ 2011-01-27 10:55 UTC (permalink / raw)
To: guile-devel; +Cc: Ludovic Courtès
On Tue 07 Dec 2010 11:33, Andy Wingo <wingo@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.
I plan to do this soonish if there are no objections.
Andy
--
http://wingolog.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: compiler dep on r6rs
2011-01-27 10:55 ` Andy Wingo
@ 2011-01-27 13:28 ` Ludovic Courtès
2011-01-27 14:07 ` Andy Wingo
2011-02-20 21:46 ` Andy Wingo
1 sibling, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2011-01-27 13:28 UTC (permalink / raw)
To: Andy Wingo; +Cc: guile-devel
Hello!
Andy Wingo <wingo@pobox.com> writes:
> On Tue 07 Dec 2010 11:33, Andy Wingo <wingo@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).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: compiler dep on r6rs
2011-01-27 13:28 ` Ludovic Courtès
@ 2011-01-27 14:07 ` Andy Wingo
2011-01-27 19:36 ` Ludovic Courtès
0 siblings, 1 reply; 6+ messages in thread
From: Andy Wingo @ 2011-01-27 14:07 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guile-devel
Hi,
On Thu 27 Jan 2011 14:28, ludo@gnu.org (Ludovic Courtès) writes:
> 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.
Currently (rnrs bytevectors) doesn't import (rnrs base), and I can't see
that changing any time soon, so perhaps we can leave (rnrs bytevectors)
where it is.
> 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.)
Yes, and opens more files, and takes more memory.
Regards,
Andy
--
http://wingolog.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: compiler dep on r6rs
2011-01-27 14:07 ` Andy Wingo
@ 2011-01-27 19:36 ` Ludovic Courtès
0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2011-01-27 19:36 UTC (permalink / raw)
To: Andy Wingo; +Cc: guile-devel
Hi!
Andy Wingo <wingo@pobox.com> writes:
> On Thu 27 Jan 2011 14:28, ludo@gnu.org (Ludovic Courtès) writes:
>
>> 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.
>
> Currently (rnrs bytevectors) doesn't import (rnrs base), and I can't see
> that changing any time soon, so perhaps we can leave (rnrs bytevectors)
> where it is.
>
>> 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.)
>
> Yes, and opens more files, and takes more memory.
Well, OK.
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: compiler dep on r6rs
2011-01-27 10:55 ` Andy Wingo
2011-01-27 13:28 ` Ludovic Courtès
@ 2011-02-20 21:46 ` Andy Wingo
1 sibling, 0 replies; 6+ messages in thread
From: Andy Wingo @ 2011-02-20 21:46 UTC (permalink / raw)
To: guile-devel; +Cc: Ludovic Courtès
On Thu 27 Jan 2011 11:55, Andy Wingo <wingo@pobox.com> writes:
> 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.
>
> I plan to do this soonish if there are no objections.
I did this.
Andy
--
http://wingolog.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-02-20 21:46 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-07 10:33 compiler dep on r6rs Andy Wingo
2011-01-27 10:55 ` Andy Wingo
2011-01-27 13:28 ` Ludovic Courtès
2011-01-27 14:07 ` Andy Wingo
2011-01-27 19:36 ` Ludovic Courtès
2011-02-20 21:46 ` Andy Wingo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).