|Re: [Sawfish] ... upcoming releases / maintainership|
[ Thread Index | Date Index | More lists.tuxfamily.org/sawfish Archives ]
It hasn't been mentioned yet, so can I suggest gauche scheme? Its a nice, well thought out, batteries-included scheme. Its pretty zippy when you consider how small the runtime VM is. The core distribution comes with many convenience libs included.
Its object system goes hand in hand with its type system. Every type has its own class.
It has bindings for opengl, gtk and tk.
Like racket, it has its own support for lazy lists which can be used as regular lists - rather than as a distinct streams type.
Oh, and it has complete support for full native threads as well.
Racket is an excellent implementation, but maybe a little too heavy for sawfish.
Anyway, just consider this as a quick $0.02 from someone who really enjoyed hacking away at sawfish since i started using it a year ago. The size of my librep prelude.jl is indicative of how much stuff you take for granted in a good scheme implementation, which isn't there in librep.
Just now, POMPEE William wrote:
> The most important thing we should consider when moving to an other
> LISP dialect (or programming language) is the maintainability.
> Currently rep-gtk is a weight that could be left to an existing GTK
> language binding such as guile-gnome but I'm afraid the Scheme
> language (R5RS) isn't powerful enough (alone) to meet our needs.
Absolutely. The Scheme standards always define a very minimal
language, which by itself is never going to be enough for pretty much
all practical projects, and sawfish is no exception.
> Maybe using the SLIB library features on top of Scheme could be a
> "portable" solution instead of trying to make Rep looks like Scheme.
Attempting to use some portable library is not a good idea either. (I
can explain why in more details, but that'd be pretty off-topic.) The
bottom line with Scheme is that choosing a specific implementation is
basically choosing a language to go with. To make this concrete, if
you think that going with some portable code means that you can dump
one implementation and move to another with relative ease, then you're
in for a bad surprise.
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
|Mail converted by MHonArc 2.6.19+||http://listengine.tuxfamily.org/|