unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Guile warts (was: [GOOPS] Specializing <generic> to allow lazy method addition)
       [not found]       ` <xy74quhpgjj.fsf@chunk.mit.edu>
@ 2004-02-01 19:41         ` Andy Wingo
  2004-02-05 19:03           ` Guile warts Mikael Djurfeldt
  2004-02-18 22:22           ` Marius Vollmer
  0 siblings, 2 replies; 3+ messages in thread
From: Andy Wingo @ 2004-02-01 19:41 UTC (permalink / raw)
  Cc: guile-devel

[cc'ing to devel for the bug list -- please reply to -devel]

On Tue, 2004-01-27 at 17:17, Mikael Djurfeldt wrote:
> While the MOP for <class> works, the MOP for <generic> isn't yet
> implemented.

I might poke around with this, we'll see. But I reply for a different
reason: <class>, in (guile-user), is not the same as <class> in (oop
goops).

guile> (use-modules (oop goops))
guile> <class>
$2 = #<struct 805c4d0:805c4d0>
guile> (module-ref (resolve-module '(oop goops)) '<class>)
$3 = #<<class> <class> 80863b0>
guile> (is-a? <class> <class>)
$4 = #f

There are some warts that I see with guile 1.6, that I don't think are
fixed yet. I'm making this list to see if there are any objections to
it. Some of these I might get to patching and perhaps others are
inspired to fix some.

* The <class> issue

Can be solved by exporting <class> from (oop goops) ?

* The default namespace is a mess

The problem lies mostly in the fact that bindings used by internal
routines from boot-9.scm are exported, by default, to (guile-user). The
solution is difficult to see. As evidence to the problem, do you really
think that routines like `make-root-module' should be exported to the
normal namespace? Really though. Press TAB at the guile command prompt,
it's ridiculous.

** There are undocumented reserved words, like `app' and `repl'

These really really need to go, somehow. But again, the byzantine nature
of the module system makes it difficult to see the answer. At the very
least, these words (and perhaps others, and if we don't actually do
anything all of boot-9.scm) must be documented. Why can't I have a
module called (gnome gtk repl)?

** Some things in the default namespace should really be in modules of
their own

POSIX, for instance, should be in (os posix) or something. inet-*. All
the environment functions.  module-*.

...

I speak as a hacker on guile-gnome, which can output a holy shitload of
bindings. Every existing binding is important. When I load up gstreamer
and gtk+, I get the following conflicts:

.append  .delete  .hash    .load    .merge   .seek    .write
.close   .error   .id      .map     .raise   .select  .yield

Some of them need to keep their vanilla meanings, like map, write,
delete, load, and append. Maybe yield. But the others should come from
(os posix). And the irritating thing is that (define-method ...) just
overshadows the bindings on these ones, doesn't create the
primitive-generic.

I don't want to sound negative. I'm so much happier programming in guile
scheme than in any other language I've tried. But I do want feedback
from the devs: are these complaints valid, and is there anyone who is
working on them? The boot-9 problems are prolly the worst and most
difficult.

Thanks for reading :-)
-- 
Andy Wingo <wingo@pobox.com>


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


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

* Re: Guile warts
  2004-02-01 19:41         ` Guile warts (was: [GOOPS] Specializing <generic> to allow lazy method addition) Andy Wingo
@ 2004-02-05 19:03           ` Mikael Djurfeldt
  2004-02-18 22:22           ` Marius Vollmer
  1 sibling, 0 replies; 3+ messages in thread
From: Mikael Djurfeldt @ 2004-02-05 19:03 UTC (permalink / raw)
  Cc: Guile Users, djurfeldt, guile-devel

Andy Wingo <wingo@pobox.com> writes:

> I don't want to sound negative. I'm so much happier programming in guile
> scheme than in any other language I've tried. But I do want feedback
> from the devs: are these complaints valid, and is there anyone who is
> working on them? The boot-9 problems are prolly the worst and most
> difficult.

Although I don't have time for Guile development work right now, I
think I can speak for the other developers when saying that your
points are very valid.

Regarding the name space, this is something which should have been
done long ago.  If you want a workaround, note that you can construct
a module with hand-picked bindings:

(define-module (pure-r5rs)
  :pure
  :use-module (ice-9 r5rs))

Also lookup :select in the Guile NEWS file.

M


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


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

* Re: Guile warts
  2004-02-01 19:41         ` Guile warts (was: [GOOPS] Specializing <generic> to allow lazy method addition) Andy Wingo
  2004-02-05 19:03           ` Guile warts Mikael Djurfeldt
@ 2004-02-18 22:22           ` Marius Vollmer
  1 sibling, 0 replies; 3+ messages in thread
From: Marius Vollmer @ 2004-02-18 22:22 UTC (permalink / raw)
  Cc: guile-devel

Andy Wingo <wingo@pobox.com> writes:

> * The default namespace is a mess

Yes.

> ** There are undocumented reserved words, like `app' and `repl'

Yes.

> ** Some things in the default namespace should really be in modules of
> their own

Yes.

> I don't want to sound negative. I'm so much happier programming in guile
> scheme than in any other language I've tried. But I do want feedback
> from the devs: are these complaints valid, and is there anyone who is
> working on them?

The problems are known, but no one is really working on them yet.  I'd
like to first make 1.8 ready and then restructure boot-9, etc.

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


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

end of thread, other threads:[~2004-02-18 22:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <87smkc5b22.fsf@alice.rotty.yi.org>
     [not found] ` <874qwhsa2u.fsf@zip.com.au>
     [not found]   ` <1074535797.1517.64.camel@localhost>
     [not found]     ` <87fze6x5bu.fsf_-_@alice.rotty.yi.org>
     [not found]       ` <xy74quhpgjj.fsf@chunk.mit.edu>
2004-02-01 19:41         ` Guile warts (was: [GOOPS] Specializing <generic> to allow lazy method addition) Andy Wingo
2004-02-05 19:03           ` Guile warts Mikael Djurfeldt
2004-02-18 22:22           ` Marius Vollmer

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