# Prolog and Lisp interfaces

"R. Michael Young" (myoung+@pitt.edu)
Thu, 5 Dec 1996 05:56:46 PST

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

        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.