MOO-cows Mailing List Archive

[Prev][Next][Index][Thread]

Re: Prolog and Lisp interfaces




    Catalin> Hi, does anyone of you know about MOO-Prolog and -Lisp
    Catalin> interfaces?  Are they available in the public domain?

You may want to look at the MUQ server.  It is NOT a LambdaMOO server, so 
this may not be close to what you're interested in, but MUQ does have 
support for conventional programming languages, explicitly including 
Common Lisp.  It's also extensible in this sense, in that you can readily 
(I'm told) define your own compiler to compile a conventional language 
into MUQ code.

An information page can be found at 
http://www.actlab.utexas.edu/~sandy/WHY-MUQ.html

The following is a section from this page that covers support for 
conventional languages: 


Muq bytecode compilers are implemented in-db using an assembler class 
that handles most of the busywork and guarantees production of only valid 
executables, allowing new compilers to be written by unprivileged users. 

Muq already supports a variety of popular programming syntaxes including 
a large and growing subset of Common Lisp which should eventually be a 
complete, compatible implementation, allowing you to port code back and 
forth and to take advantage of existing code libraries. If your syntactic 
religion isn't supported yet, it is not hard to add a compile for it as 
well, probably starting with one of the existing ones. 

At the semantic level, the Muq virtual machine provides just about 
everything you've heard of, and some things you may not have, including 
vanilla functions, generic functions, anonymous functions, promises with 
implicit forcing (in Scheme nomenclature -- a substrate suitable for 
experimenting with functional programming), thunks (something vaguely 
like named pipes in unix), semaphores for mutual exclusion, implicit job 
blocking on bounded streams, and sophisticated exception handling 
facilities. 



Home | Subject Index | Thread Index