From: lyle borg-graham
Subject: Documenting complex systems with Lisp
Date: 
Message-ID: <39B4D451.4625AB31@cogni.iaf.cnrs-gif.fr>
--------------65A60D6EBE13FFFA8088EA6A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I am writing a piece that discusses complex biophysically-detailed
models of neurons and their networks, including their relation with
experimental neuroscience and how they may be better used.

Among other things I argue that there is a crucial need for more
efficient (tractable, generic, error-resistant, user-friendly etc)
methods for documenting these models. In particular there is a need for
a common description language in order to facilitate both the validation
of these complex dynamical models and their eventual incorporation into
future work.

For various reasons I am using Lisp for not only this sort of
description (which can include parameters of physical structures,
equations for element kinetics, connectivity between
elements and so on), but also for the  numerical and graphical
evaluation of these models. But here I just want to focus on the
particular appropriateness (if it exists) of Lisp for the description.

In my experience, I have found that the compact and flexible syntax of
Lisp is well-suited for this job, especially since it is straightforward
to define new constructs (e.g. macros) that efficiently express all
necessary detail for some given model element, usually in a manner that
is easy to read for even a non-Lisper. A simple example would be
documenting the dependence of some kinetic rate on some quantity, say
voltage. Since for the model description, evaluation efficiency is not
an issue, a stripped down DEFUN form can provide a clear expression of
the dependency. Of course the additional advantage later on is that this
form can be evaluated directly by Lisp. I would argue that in most cases
something similar written in C would require a lot of text that has
little or nothing to do with the functional goal, but rather is required
by the compiler.

Thus, to summarize, what do people think are the properties of Lisp (or
related languages?)
that make it particularly appropriate for the formal description of
complex systems?

Thanks,

Lyle

--------------65A60D6EBE13FFFA8088EA6A
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
I am writing a piece that discusses complex biophysically-detailed models
of neurons and their networks, including their relation with experimental
neuroscience and how they may be better used.
<p>Among other things I argue that there is a crucial need for more efficient
(tractable, generic, error-resistant, user-friendly etc) methods for documenting
these models. In particular there is a need for a common description language
in order to facilitate both the validation of these complex dynamical models
and their eventual incorporation into future work.
<p>For various reasons I am using Lisp for not only this sort of <i>description
</i>(which
can include parameters of physical structures, equations for element kinetics,
connectivity between
<br>elements and so on), but also for the&nbsp; numerical and graphical
<i>evaluation</i>
of these models. But here I just want to focus on the particular appropriateness
(if it exists) of Lisp for the description.
<p>In my experience, I have found that the compact and flexible syntax
of Lisp is well-suited for this job, especially since it is straightforward
to define new constructs (e.g. macros) that efficiently express all necessary
detail for some given model element, usually in a manner that is easy to
read for even a non-Lisper. A simple example would be documenting the dependence
of some kinetic rate on some quantity, say voltage. Since for the model
<i>description,
</i>evaluation efficiency is not an issue, a stripped down DEFUN form can
provide a clear expression of the dependency. Of course the additional
advantage later on is that this form can be evaluated directly by Lisp.
I would argue that in most cases something similar written in C would require
a lot of text that has little or nothing to do with the functional goal,
but rather is required by the compiler.
<p>Thus, to summarize, what do people think are the properties of Lisp
(or related languages?)
<br>that make it particularly appropriate for the formal description of
complex systems?
<p>Thanks,
<p>Lyle</html>

--------------65A60D6EBE13FFFA8088EA6A--