For Programmers: Free Programming Magazines  


Home > Archive > Scheme > August 2005 > Embedding Scheme: what implementation?









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Embedding Scheme: what implementation?
DB

2005-08-26, 7:00 pm

I'm new to Scheme and I would embed it into a commercial application as
scripting language. I've searched on Internet and I've seen that exists
*a lot* of implementations (of course this is a good thing).

Because I've not the right knowledge to choose the "best" implementation
for my needs, I would appreciate a lot some help. What I need should
meet the following requirements:
*) Embeddable in C/C++ applications
*) Actively maintained
*) Opensource and free for commercial use (e.g. LGPL)
*) Lightweight (e.g.: a single DLL of 500K)
*) Efficient on numerical computations


Regards,
Daniele Benegiamo.
Marco Antoniotti

2005-08-26, 7:00 pm

I would have written you directly, but you have no discernible email.

http://ecls.sf.net

Cheers
--
Marco



DB wrote:
> I'm new to Scheme and I would embed it into a commercial application as
> scripting language. I've searched on Internet and I've seen that exists
> *a lot* of implementations (of course this is a good thing).
>
> Because I've not the right knowledge to choose the "best" implementation
> for my needs, I would appreciate a lot some help. What I need should
> meet the following requirements:
> *) Embeddable in C/C++ applications
> *) Actively maintained
> *) Opensource and free for commercial use (e.g. LGPL)
> *) Lightweight (e.g.: a single DLL of 500K)
> *) Efficient on numerical computations
>
>
> Regards,
> Daniele Benegiamo.

Ray Dillinger

2005-08-26, 7:00 pm

Marco Antoniotti wrote:
> I would have written you directly, but you have no discernible email.
>
> http://ecls.sf.net
>


OP did not say he wanted to embed common lisp; he said he
wanted to embed scheme.

http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/siod/

is perhaps more on point, although its maintenance seems to
be limited to the maintenance of packages and installers for
the last few years.

Bear

DB

2005-08-26, 9:56 pm

Ray Dillinger wrote:
> http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/siod/
>
> is perhaps more on point, although its maintenance seems to
> be limited to the maintenance of packages and installers for
> the last few years.


Unfortunately...

Comments about Guile? It seems a lot used.
Tim Wilson

2005-08-26, 9:56 pm

On Sat, 27 Aug 2005 02:18:56 +0200, DB wrote:

> Ray Dillinger wrote:
>
> Unfortunately...
>
> Comments about Guile? It seems a lot used.


Guile is decent and is for the most part designed for what you want, but
it seems you are using a bit of a broad definition of "embeddable." You
can certainly link to Guile and use it as a library, like Tcl. If you
want something that you can mold yourself and get better access to things
like the GC then you might want to look at SIOD again. From what I
recall, it's an older R3RS based Scheme. The Gimp has used SIOD for a
number of years and it seemed up to the task. You won't get the niceties
of R5RS such as continuations, however.

Depending on what your needs are, there are a few benefits to having the
entire system under your control. You can pretty much eliminate the
numeric tower down to just machine integers and floats if needed. A
"trick" that was used in the game Abuse was to completely eliminate the GC
and simply allocate from a single preallocated area. At certain points in
the game the entire memory heap could be discarded and/or reused.

Again about Guile...
642568 Jun 2 03:56 /usr/lib/libguile.so.12.3.0

size >500K, but still fairly lightweight.
It's currently maintained, and it seems progress has been fairly steady
the last year or so.


Tim

Roberto Waltman

2005-08-27, 3:56 am

> .... Scheme .... embed it into a commercial application as scripting language.
> .... should meet the following requirements:
>*) Embeddable in C/C++ applications
>*) Actively maintained
>*) Opensource and free for commercial use (e.g. LGPL)
>*) Lightweight (e.g.: a single DLL of 500K)
>*) Efficient on numerical computations


Not sure about this last requirement, but scheme 48 seems to meet the
others. ( www.s48.org )



Roberto Waltman.

[ Please reply to the group,
return address is invalid ]
bunny351@yoho-gmail.com

2005-08-27, 7:56 am

Marco Antoniotti schrieb:

> I would have written you directly, but you have no discernible email.
>
> http://ecls.sf.net
>


It should be added here that ECLS's support for Standard Scheme
is absolutely catastrophic.


cheers,
felix

DB

2005-08-27, 6:59 pm

Tim Wilson wrote:
> If you want something that you can mold yourself and get better access to things
> like the GC then you might want to look at SIOD again. From what I
> recall, it's an older R3RS based Scheme. The Gimp has used SIOD for a
> number of years and it seemed up to the task. You won't get the niceties
> of R5RS such as continuations, however.


Have been suggested also by Ray Dillinger, but it seems abandoned (last
release 1997):

http://people.delphiforums.com/gjc/siod.html

Another implementation similar to SIOD (i.e. very little footprint)
seems to be TinyScheme:

http://tinyscheme.sourceforge.net/

with last release in 2004. Comments about it?



> Depending on what your needs are, there are a few benefits to having the
> entire system under your control. You can pretty much eliminate the
> numeric tower down to just machine integers and floats if needed.


This would be a very welcomed option. The task for wich I would use an
embedded Scheme implementation is only for numeric calculations.


Googling I've found another project that seems activelly maintained,
MzScheme:

http://www.plt-scheme.org/software/mzscheme/

It sounds to be a complete system (with many libraries, that for my
needs can be too "big") with the option to be embedded into client
applications. Someone have used it?
DB

2005-08-27, 6:59 pm

Roberto Waltman wrote:
>
>
> Not sure about this last requirement, but scheme 48 seems to meet the
> others. ( www.s48.org )


It is interesting but from the official site seems that porting to
Windows is still in experimental (and not supporting Win98/ME, I
know...but are not still disappeared). But it surely maintained.

Thanks,
Daniele.
Marco Antoniotti

2005-08-29, 7:02 pm



Ray Dillinger wrote:
> Marco Antoniotti wrote:
>
>
> OP did not say he wanted to embed common lisp; he said he
> wanted to embed scheme.
>
> http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/siod/
>
> is perhaps more on point, although its maintenance seems to
> be limited to the maintenance of packages and installers for
> the last few years.


Yep. I should have apologized beforehand for trolling. :)
I would have really responded in private, but there was no discernible
email address to reply to.

Cheers
--
Marco
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com