[Top][All Lists]

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

advice needed: (or 'guile 'clisp)

From: Ivan Petrovich
Subject: advice needed: (or 'guile 'clisp)
Date: Sun, 12 Aug 2001 13:04:47 -0600
User-agent: Mutt/1.2.5i

Howdy guilers,

I'd like to get your opinions on a programming decision.

I am planning a project which will consist of a number of
modules. These modules will be launched independently. They may even
be running on several CPUs, connected only with IPC and TCP/IP. There
will be heavy traffic of symbolic and numerical data among these
modules. For some of the modules, at least, the language of choice is
some dialect of Lisp. I am been contemplating the use of CLisp for
these modules, and use guile as the 'glue' among modules. The choice
of guile for the 'glue', is clear as it has the necessary features for
the job. The choice of CLisp for the modules, however, isn't so
clear. Given that guile provides many useful features found in CLisp
that I need, I am very tempted to use guile for everything--modules
and glue, thus simplying the integration of the modules.

I'd like to get your take on some particular issues:

1) How does guile compare to CLisp in number crunching performance? I
will start with interpreted code, but appreciate the possiblity of
using a compiler such as the one offered by Clisp.

2) If I were to implement the modules in CLisp, I am willing to write
routines external to the modules (in guile) to pass the data. In
particular, database lookup will require that the each module converts
a set of parameter names and their values from their internal
representation to ascii (or ... ?) pass it to the IPC routines, which
sends the data to the next module, where the parameter names and values
are converted in the reverse direction. The use of guile will
eliminate most of this. But will it make enough of a difference in
performance to offset any inefficiency that it _may_ have over CLisp?

3) If I were to implement everything in guile, and run the modules on
separate CPU's, will I be able to pass the data among the modules
using guile's internal data representation (without going through
expensive I/O)? In other words, can I share objects across processes?
(Not just program files, but running processes.)

4) Are there any inherent features/inadequacies in guile that make
it more/less suited than, say, CLisp, for complex projects involving
data passing and number crunching?

I am fairly new to guile, though I have been following the guile-user
and guile-devel lists for several months. Your advice is appreciated.

Thank you much. Regards,


Emacs said, "I am The Way, The Truth, and The Life."
 -- Richard 14:6

reply via email to

[Prev in Thread] Current Thread [Next in Thread]