unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* 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).