One of the things I like in Chicken scheme is one of the cleanest distribution model I ever seen. For some it will look, at first, very ordinary or they will not notice it at all (at best) but... shouldn't The Right Way be the program installation without noticing that procedure at all?
I never was a fond of distributing own binaries (except a
distro specific packages) on Linux; you never know what the person
who downloads it has. Does it have correct glibc or stdc++ or
whatever libraries you are using? Just bump the source archive and
let configure do the magic.
But in Chicken case, things are different. You simply
download the binary
and extract it in / directory.
Later, you find out you are missing the big integer support
(not enabled by default), simply telling "
chicken-setup numbers" in
command line and "
(use numbers)" at the
beggining of the program will brings them.
And at the end, you want to compile your code, "
csc yourfile.scm" will do
Now, can things be more simple than that? You should not be
worried will Chicken's binary works on your Linux distro nor what
nor how "
egg dependencies, finds and downloads them and at the end, compiles
and installs them. Nor how "
csc" calls gcc at the
background to perform final translation of generated C code to the
big programs will have the
similar thing with the same (or at least similar) easiness?
Distributing programs correctly
October 15, 2008