Re: Which Scheme to choose?
- From: phi500ac@xxxxxxxx
- Date: Sun, 11 May 2008 18:02:53 -0700 (PDT)
On 27 abr, 12:55, Trastabuga <lisper...@xxxxxxxxx> wrote:
On Apr 27, 9:57 am, Trastabuga <lisper...@xxxxxxxxx> wrote:
On Apr 26, 8:45 pm, phi50...@xxxxxxxx wrote:
On 26 abr, 13:09, Trastabuga <lisper...@xxxxxxxxx> wrote:
I looked at a few Scheme implementations like (MzScheme, Bigloo,
Stalin) very quickly.
I use Emacs as an editor, but I couldn't make MzSheme work with Emacs
(though I installed all the necessary Emacs packages for it).
MIT Scheme also looks good, but I couldn't find anywhere in its
documentation if it can produce native executable binaries.
Basically, I am looking for a good alternative to Lisp, which would
have the same nice interactive environment in Emacs like Slime, could
produce small fast executables on both Windows and Linux and be able
to create GUI applications (native Win32?). I'd like to mention that
it would be nice if this implementation had big community and lots of
libraries, but I guess I am asking too much :)
I believe that the best candidate is Bigloo. If you are using Windows,
you can download it from Junia's site (code.google.com/p/stalingui).
My group is trying to keep Bigloo for Windows up to date. If you are
using Linux, or MacIntosh, then you can download Bigloo from its site
(www.bigloo.org). Here is my conclusion about the Scheme compilers
that you mention:
1 --- Chicken -- Positive features: Easy to use, small executables,
excellent libraries. Negative features: Very slow.
2 --- Bigloo -- Positive features: Medium size executables (900 K,
static link), very fast, GUI based on GTK and Japi (you can download
the bindings from Junia's site), optional type checking (very good to
detect errors), Bee IDE for emacs, complete and easy to use foreign
interface for C and Java, large and easy to use libraries, hop
internet application server, etc. Negative features: People who
developt Bigloo seems not to care about Windows; however, Junia is
trying to provide support for Windows; I hope she keeps with the good
3 --- Stalin -- This is my favorite Scheme. However, Stalin is very
incomplete, and does not come with Windows binaries. Junia and Reane
are trying to fix the situation.
4 --- Mzscheme -- Large distribution, and very slow (compared with
Bigloo and Stalin).
5 --- Gambit -- Fast, easy to use, complete. Very large stand alone
files ( 3 M).
6 --- Schlep plus Siod -- Positive features: Small stand alone exec
files, very fast. Negative features: No support, difficult to compile,
no official distribution.
From what I said, I would recommend Bigloo, with Bee (Emacs based
I tried to subsribe to Bigloo mailing list. Looks like I managed it
even though all the communication was in French.
I downloaded and installed bigloo-3.1b-setup.exe fromhttp://code.google.com/p/stalingui/downloads/list.
It works in Emacs with Quack, but looks like to get Bee I need to get
and compile the source distribution.
Now, I started to go through the tutorial, and I couldn't compile the
file. I sent the question to the mailing list, but it looks like it
was rejected (or ignored). (the message was: Commande non comprise :
la fin du message est ignorée).
Anyway, here is what I got when I try to compile c-area.scm:
-*- mode: compilation; default-directory: "~/test-code/Scheme/" -*-
Compilation started at Sun Apr 27 09:08:54
d:/WinBigloo/bin/bigloo.exe c-area.scm -o c-area
In file included from d:/WinBigloo/lib/3.1a/bigloo.h:45,
stdio.h:26:20: stddef.h: No such file or directory
stdio.h:28:20: stdarg.h: No such file or directory
Looks like it can't find the include files. I'll try to compile the
bigloo myself, see if it changes anything...
I just copied the two header files from install-tools/include to the
main include folder, and it solved it.
Now I can compile non-GUI stuff.
I was trying to compile some basic GUI from the tutorial and was using
files from your tutorial bigwin-c.
Now when I try to evaluate
(module test (main start)
(import (gtkserver_gtk "gtk.scm")) )
The repl says:
Can't open file -- gtk.scm
But the file is there in the source folder.
Also when I try to build it with command:
bigloo sca-bttn.scm -o bttn.exe -lgtk-server
It give me errors:
Bdb not available (see Bigloo configuration option) ignoring option
Info: resolving _single_thread_denv by linking to
Info: resolving _bgl_multithread_dynamic_denv by linking to
gtk.o:gtk.c:(.text+0x103d): undefined reference to `gtk'
gtk.o:gtk.c:(.text+0x1167): undefined reference to `gtk'
gtk.o:gtk.c:(.text+0x12fd): undefined reference to `gtk'
gtk.o:gtk.c:(.text+0x1427): undefined reference to `gtk'
gtk.o:gtk.c:(.text+0x1477): undefined reference to `gtk'
gtk.o:gtk.c:(.text+0x14c7): more undefined references to `gtk' follow
collect2: ld returned 1 exit status
Any ideas how resolve it?
Sorry for taking so long to answer to your questions. Yes, you will
need to distribute gtk with Bigloo, which is a nuisance. Therefore I
suggest that you use JAPI instead. You can download the bindings from
the same site where you got the GTK-bindings (Junia's site,
code.google.com/p/stalingui). Japi requires Java Runtime Environment,
but since it is already installed in most computers, I believe that it
is more practical than GTK.
- Prev by Date: easi I/O in Scheme?
- Next by Date: what si the gain with lambda here?
- Previous by thread: easi I/O in Scheme?
- Next by thread: what si the gain with lambda here?