Subject: Re: choice for embedding Scheme implementation?
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 22 May 2002 04:16:40 GMT
Newsgroups: comp.lang.scheme
Message-ID: <acf638$2choa$1@fido.engr.sgi.com>
Jens Axel S�gaard <usenet@soegaard.net> wrote:
+---------------
| Todd Gillespie wrote:
| > I am looking at implementing a Scheme in a network application I am
| > working on.  What I can't conclude thus far, is which Scheme
| > implementation is "best" for my uses?
| 
| For the sake of curiosoty I decided to see how to embed MzScheme.
| Be aware that Google digs up the embedding instructions for the
| version 103.
| The new are located is here:
| 
| http://download.plt-scheme.org/doc/200alpha12/html/insidemz/insidemz-Z-H-1.h
| tml#%_sec_1.2
+---------------

Those directions work for v.103, too.

Note that on MIPS/Irix platforms (and, presumably, others that
support dynamic loading of shared libraries), you can pre-link the
"libgc.a" & "libmzscheme.a" together into a single "libmzscheme.so"
[or separate .so's, whichever], which makes executables which embed
MzScheme quite small. E.g., the executable for the test program given
in the above URL ended up being only ~22 KB (stripped) on Irix 6.5.5:

	% % cc -g -o foo -rpath $cwd -I../../include foo.c -L. -lmzscheme
	% ls -l foo
	-rwxr-xr-x    1 rpw3     engr        22020 May 21 21:10 foo
	% /bin/time ./foo '(+ 12 34)'
	46
	real 0.211, user 0.130, sys 0.051
	% 

Not as fast-starting as Perl or /bin/sh, perhaps, but good enough
for most interactive uses...


-Rob

-----
Rob Warnock, 30-3-510		<rpw3@sgi.com>
SGI Network Engineering		<http://reality.sgiweb.org/rpw3/>
1600 Amphitheatre Pkwy.		Phone: 650-933-1673
Mountain View, CA  94043	PP-ASEL-IA

[Note: aaanalyst@sgi.com and zedwatch@sgi.com aren't for humans ]