[om-list] Re: Language Power

Tom and other Packers TomP at Burgoyne.Com
Sat May 5 16:55:43 EDT 2001


Mark

    I like Lisp.  I like all those parentheses.  I like the meta-linguistics
of it.  But I tend to like programming schemes which force people to meet
the computer half-way.  In HP calculators, it's RPN (reverse polish
notation).  In Lisp, it's apparently similar.  Paradigm shifts are fun.  And
with good editors which high-light parenthesis-pairs, we really don't suffer
from our inherent human perceptual deficiencies.

tomp

----- Original Message -----
From: "Mark Butler" <butlerm at middle.net>
To: "Tom and other Packers" <TomP at burgoyne.com>
Cc: "One Model List" <om-list at onemodel.org>
Sent: Saturday, May 05, 2001 11:03 AM
Subject: Re: [om-list] Re: Language Power



Long, long ago, LISP had a normal readable syntax, but apparently the
inventors decided to change to emphasize that LISP code was just another
form
of LISP data.  Unfortunately this decision was fatal for its prospects of
general acceptance.

I believe a reasonable compromise would be to reverse course and develop a
readable high level language with a similar internal representation as LISP.
You could then support run time code generation in two forms: by using code
that generates LISP style operation trees directly or by using code that
generated high level language that was translated to operation trees as a
separate step.

This capability is particular relevant in our system for modeling a wide
variety of natural phenomena.  Any attribute that is distributed across
space
and time can only be efficiently represented and operated on using
functional
representations, even if only to interpolate between various samples.

The only way to actually do this in languages like C++ or Java is to develop
a
LISP-like symbolic math engine.  For serious applications, it would also be
very helpful to be able to compile a mathematical expression into native
machine code.  The current way to do this is to translate it into regular
source code, write it to a file, use a compiler to compile it, and then load
it back as a shared library or Java class file.

 - Mark






More information about the om-list mailing list