[gambit-list] How to create small standalone executable with
Marc Feeley
feeley at iro.umontreal.ca
Mon Aug 17 11:04:26 EDT 2009
On 17-Aug-09, at 10:17 AM, Taylor R Campbell wrote:
> Procedures such as
> Gambit's ##MAKE-GLOBAL-VAR are not necessary to make Scheme work.
You are correct. Scheme can be made to work with very little code.
For example the PICBIT system which implements most of R4RS can fit in
roughly 20kb of code, and the PICOBIT VM fits in less than 10kb of
code. Gambit's design goals do not include "a compact runtime
system". Gambit was designed to be portable and efficient, and to
provide a superior development and production environment for Scheme.
In my message I was explaining that in Lisp-like languages, such as
Gambit Scheme, where dynamism is pervasive and features are highly
interdependent, it is hard to implement an effective tree-shaker.
Are you saying that Scheme48 does not adhere to that Lisp philosophy?
I thought Scheme48 supported "live debugging" and that it was the
default execution mode. Does the debugger rely on eval? What happens
when an exception is raised at run time? On my MacBook Pro I checked
the size of the runtime system of Scheme48 and Gambit and there is in
fact very little difference (scheme48.image=2.7MB and gsi=3.3MB).
Also, when executing (let loop () (loop)) the ps program reveals that
Scheme48 has a RSS of 6.4MB and Gambit has a RSS of 2.4MB. So at
execution time, for a small program, Scheme48 seems to take 2.5 times
as much memory as Gambit.
Marc
More information about the Gambit-list
mailing list