unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Why Ice-9?
@ 2010-07-09 17:59 Noah Lavine
  2010-07-09 19:07 ` Andy Wingo
  0 siblings, 1 reply; 7+ messages in thread
From: Noah Lavine @ 2010-07-09 17:59 UTC (permalink / raw)
  To: guile-devel

I am not completely sure this is the right place to ask this, but why
do many of the module names in Guile start with 'ice-9'?

I can tell you that as a newcomer this is quite unintuitive.

Noah



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Why Ice-9?
  2010-07-09 17:59 Why Ice-9? Noah Lavine
@ 2010-07-09 19:07 ` Andy Wingo
  2010-07-09 19:44   ` Andreas Rottmann
  2010-07-10 14:17   ` Ludovic Courtès
  0 siblings, 2 replies; 7+ messages in thread
From: Andy Wingo @ 2010-07-09 19:07 UTC (permalink / raw)
  To: Noah Lavine; +Cc: guile-devel

On Fri 09 Jul 2010 19:59, Noah Lavine <noah.b.lavine@gmail.com> writes:

> I am not completely sure this is the right place to ask this, but why
> do many of the module names in Guile start with 'ice-9'?
>
> I can tell you that as a newcomer this is quite unintuitive.

Heh, I thought that too, once. 

  http://en.wikipedia.org/wiki/Ice-nine

The idea at the time (1998 or so) was that Guile's module system would
crystallize the mass of Scheme code out there. It didn't happen exactly
like that; in practice ice-9 is Guile's namespace.

Now, there is a deeper issue here -- a global Scheme namespace is
starting to emerge, and Guile is a bit all over the map. To me it's fine
to have e.g. statprof have the toplevel module, (statprof), even though
it's part of Guile; but in a way I feel that instead of having ice-9 and
system, we should just have (guile) as our module prefix, in the same
way that e.g. ikarus and chez scheme have (ikarus ...) and (chezscheme
...), respectively.

It's too late to do that this cycle, but perhaps during 2.0 or for 2.2
we could provide (ice-9 popen) as an alias to (guile popen), and
eventually for 2.4 deprecate both ice-9 and system. Just a thought,
though...

Andy
-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Why Ice-9?
  2010-07-09 19:07 ` Andy Wingo
@ 2010-07-09 19:44   ` Andreas Rottmann
  2010-07-10 14:17   ` Ludovic Courtès
  1 sibling, 0 replies; 7+ messages in thread
From: Andreas Rottmann @ 2010-07-09 19:44 UTC (permalink / raw)
  To: Andy Wingo; +Cc: Noah Lavine, guile-devel

Andy Wingo <wingo@pobox.com> writes:

> On Fri 09 Jul 2010 19:59, Noah Lavine <noah.b.lavine@gmail.com> writes:
>
>> I am not completely sure this is the right place to ask this, but why
>> do many of the module names in Guile start with 'ice-9'?
>>
>> I can tell you that as a newcomer this is quite unintuitive.
>
> Heh, I thought that too, once. 
>
>   http://en.wikipedia.org/wiki/Ice-nine
>
> The idea at the time (1998 or so) was that Guile's module system would
> crystallize the mass of Scheme code out there. It didn't happen exactly
> like that; in practice ice-9 is Guile's namespace.
>
> Now, there is a deeper issue here -- a global Scheme namespace is
> starting to emerge, and Guile is a bit all over the map. To me it's fine
> to have e.g. statprof have the toplevel module, (statprof), even though
> it's part of Guile; but in a way I feel that instead of having ice-9 and
> system, we should just have (guile) as our module prefix, in the same
> way that e.g. ikarus and chez scheme have (ikarus ...) and (chezscheme
> ...), respectively.
>
> It's too late to do that this cycle, but perhaps during 2.0 or for 2.2
> we could provide (ice-9 popen) as an alias to (guile popen), and
> eventually for 2.4 deprecate both ice-9 and system. Just a thought,
> though...
>
+1 for that idea from me.

Rotty
-- 
Andreas Rottmann -- <http://rotty.yi.org/>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Why Ice-9?
  2010-07-09 19:07 ` Andy Wingo
  2010-07-09 19:44   ` Andreas Rottmann
@ 2010-07-10 14:17   ` Ludovic Courtès
  2010-07-12  8:07     ` Thien-Thi Nguyen
  1 sibling, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2010-07-10 14:17 UTC (permalink / raw)
  To: guile-devel

Hello,

Andy Wingo <wingo@pobox.com> writes:

> Now, there is a deeper issue here -- a global Scheme namespace is
> starting to emerge, and Guile is a bit all over the map. To me it's fine
> to have e.g. statprof have the toplevel module, (statprof), even though
> it's part of Guile; but in a way I feel that instead of having ice-9 and
> system, we should just have (guile) as our module prefix, in the same
> way that e.g. ikarus and chez scheme have (ikarus ...) and (chezscheme
> ...), respectively.

OTOH, ‘ice-9’ is unlikely to ever collide with anything else, so it’s
roughly equivalent to ‘guile’, just a little bit more obscure.  :-)

‘system’ may be more risky in that respect.  ‘guile’ would have been a
better choice, but I’m afraid it’s too late (in theory it isn’t,
but...).

Thoughts?

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Why Ice-9?
  2010-07-10 14:17   ` Ludovic Courtès
@ 2010-07-12  8:07     ` Thien-Thi Nguyen
  2010-07-13 21:20       ` Andy Wingo
  0 siblings, 1 reply; 7+ messages in thread
From: Thien-Thi Nguyen @ 2010-07-12  8:07 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-devel

() ludo@gnu.org (Ludovic Courtès)
() Sat, 10 Jul 2010 16:17:07 +0200

   ‘system’ may be more risky in that respect.  ‘guile’ would have been a
   better choice, but I’m afraid it’s too late (in theory it isn’t, but...).

   Thoughts?

Perhaps we can start discussing "directory aliases", a feature whereby
(foo bar baz) can be specified to resolve (perhaps in multiple steps)
to (actual baz).  We alias only directories, not full module names, to
avoid having to deal with ‘%load-extensions’.

Design decisions to be made:

- Module name directory part (of aliases, of fully-resolved) 
  must be non-empty?

- Will dealing with ‘%load-extensions’ be in the future plans?

- Where/how to store alias info.  Can this mechanism be unified
  with one for resolved modules (e.g., Guile 1.4.x module catalogs)?

Anyway, just some thoughts.

thi



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Why Ice-9?
  2010-07-12  8:07     ` Thien-Thi Nguyen
@ 2010-07-13 21:20       ` Andy Wingo
  2010-07-14  6:28         ` Thien-Thi Nguyen
  0 siblings, 1 reply; 7+ messages in thread
From: Andy Wingo @ 2010-07-13 21:20 UTC (permalink / raw)
  To: Thien-Thi Nguyen; +Cc: Ludovic Courtès, guile-devel

On Mon 12 Jul 2010 10:07, Thien-Thi Nguyen <ttn@gnuvola.org> writes:

> () ludo@gnu.org (Ludovic Courtès)
> () Sat, 10 Jul 2010 16:17:07 +0200
>
>    ‘system’ may be more risky in that respect.  ‘guile’ would have been a
>    better choice, but I’m afraid it’s too late (in theory it isn’t, but...).
>
>    Thoughts?
>
> Perhaps we can start discussing "directory aliases", a feature whereby
> (foo bar baz) can be specified to resolve (perhaps in multiple steps)
> to (actual baz).  We alias only directories, not full module names, to
> avoid having to deal with ‘%load-extensions’.

There are also submodule binders, in git guile, that can be used to
implement this.

> - Module name directory part (of aliases, of fully-resolved) 
>   must be non-empty?
>
> - Will dealing with ‘%load-extensions’ be in the future plans?
>
> - Where/how to store alias info.  Can this mechanism be unified
>   with one for resolved modules (e.g., Guile 1.4.x module catalogs)?

I don't understand the problem solved by these things; I would need more
details to comment, I think.

Andy
-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Why Ice-9?
  2010-07-13 21:20       ` Andy Wingo
@ 2010-07-14  6:28         ` Thien-Thi Nguyen
  0 siblings, 0 replies; 7+ messages in thread
From: Thien-Thi Nguyen @ 2010-07-14  6:28 UTC (permalink / raw)
  To: Andy Wingo; +Cc: Ludovic Courtès, guile-devel

() Andy Wingo <wingo@pobox.com>
() Tue, 13 Jul 2010 23:20:35 +0200

   There are also submodule binders, in git guile, that can be used to
   implement this.

Cool, i'll take a look at submodule binders.

   > - Module name directory part (of aliases, of fully-resolved) 
   >   must be non-empty?
   >
   > - Will dealing with ‘%load-extensions’ be in the future plans?
   >
   > - Where/how to store alias info.  Can this mechanism be unified
   >   with one for resolved modules (e.g., Guile 1.4.x module catalogs)?

   I don't understand the problem solved by these things; I would need more
   details to comment, I think.

The first and third are issues analogous to design of symbolic links on a
filesystem.  The ‘%load-extensions’ question is orthogonal.

thi



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-07-14  6:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-09 17:59 Why Ice-9? Noah Lavine
2010-07-09 19:07 ` Andy Wingo
2010-07-09 19:44   ` Andreas Rottmann
2010-07-10 14:17   ` Ludovic Courtès
2010-07-12  8:07     ` Thien-Thi Nguyen
2010-07-13 21:20       ` Andy Wingo
2010-07-14  6:28         ` Thien-Thi Nguyen

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