This is the mail archive of the
mailing list for the Guile project.
Re: Translation for extension is a bad idea
> As I see it, there are a couple of reasons why Sawfish has been more
> popular than Scwm:
> 1) Performance (esp. startup) of Scwm is still poor. I fault Guile
> mostly here, as we all know that Guile's not got the fastest startup
> time. (Things are improved in 1.4, to be sure, but not enough, yet.)
I hardly think it is fair to blame startup time. How often do you restart
your window manager? I restart mine on average once every few weeks.
Besides, X11 is pretty slow to start up. Enlightenment with the gnome
desktop takes a real long time to start and no one is bothered by that.
(not that I use SCWM, I use twm because it works and does what I want).
> 4) Sawfish benefits from John being the author of librep and being able
> to exploit the extension language subsystem more completely. Though
> I've been (or at least once was) a substantial contributor to Guile, I
> not only do I not understand Guile nearly as well as John understands
> librep (actually, he understands librep probably better than anyone
> understands guile), but I also have had to argue for the changes I
> wanted to guile, rather than just make them myself. I'm not complaining
> about that tradeoff (as I value the stability of Guile and recognize
> Scwm is obviously and thankfully not the only client of guile), but just
> observing that it's a hindrance towards making improvements to Scwm that
> extend into the extension language.
The ``single author'' principle is very powerful. While scheme is a nice
simple elegant language, it is not characterised by simple clean
implementations, at least, I haven't seen one yet. The result is a lot
of black magic and a long lead time for hackers. That doesn't effect the
end-user but it does make it difficult to put a project together.
> 6) Some highly dynamic, extensible things are slightly more awkward in
> Scheme than in Lisp. (E.g., bindings that want to use symbols to bind
> to are complicated by the module system; the alternative, using the
> procedure object, means that when the procedure is re-defined, the
> binding needs to be re-made.)
Hmmm, could goops assist in handling this sort of dynamic stuff?
I mean, that is what object systems are all about (or so I thought)...
I'll admit that I don't know much about goops and have never really
caught onto the OO bandwagon.