Newsgroups: comp.lang.misc,comp.lang.scheme,comp.lang.tcl,comp.os.linux.misc
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!europa.eng.gtefsd.com!howland.reston.ans.net!spool.mu.edu!darwin.sura.net!news.sesqui.net!uuneo.neosoft.com!nmtigw!peter
From: peter@nmti.com (Peter da Silva)
Subject: Re: GNU Extension Language Plans
Message-ID: <id.R75E1.MEI@nmti.com>
Sender: peter@nmti.com (peter da silva)
Organization: Network/development platform support, NMTI
References: <9410190420.AA02904@mole.gnu.ai.mit.edu> <id.YD1E1.VHK@nmti.com> <BRUCE.94Oct24161921@iasc3.scm.liv.ac.uk> <DAVIDM.94Oct24193229@halfdome.prism.kla.com>
Date: Tue, 25 Oct 1994 15:27:12 GMT
Lines: 29
Xref: glinda.oz.cs.cmu.edu comp.lang.misc:18408 comp.lang.scheme:10614 comp.lang.tcl:20876 comp.os.linux.misc:30771

In article <DAVIDM.94Oct24193229@halfdome.prism.kla.com>,
David S. Masterson <davidm@prism.kla.com> wrote:
> Doesn't this argue for not embedding *any* extension language in a program but
> instead defining a request/reply API that programs must conform to?  Isn't
> this the model that C uses (ie. think of functions as a request to something
> for service).  Then, any language that handles the API can be an extension
> language.

That's a good one. AREXX works that way. You need to be very careful about
the interface, though... AREXX requires you implement your own baby
extension language to parse AREXX's input, and the interface is butt
ugly. Karl wrote a Tcl interface for the Amiga that just passed argvs
around that worked pretty well. A more general interface would want to
use type-tagged elements.

Also, if you're using dynamic libraries to implement the high level extension
language, why have a low level one at all (to pull in another thread), just
define the extension language API and dynamic load the one you want.

That requires dynamic libs, you say? Well, it seems to me that any practical
multiple extension language arrangement is going to. It's too expensive to
fork-and-exec all the time, and you don't want to link everything in, so why
not just depend on dynamic loading and make scheme merely one option of
many?
-- 
Peter da Silva                                            `-_-'
Network Management Technology Incorporated                 'U`
1601 Industrial Blvd.     Sugar Land, TX  77478  USA
+1 713 274 5180                       "Hast Du heute schon Deinen Wolf umarmt?"
