Applications

David Gadbois gadbois@cyc.com
Mon, 28 Apr 1997 09:07:20 -0500 (CDT)


It appears that some folks want a justification for this project other
than just because The Stars Are Right.  Well, that is understandable.
Here are some ideas for what a LispOS is good for:

o Vertical applications.  A number of important applications do not
fit into the traditional layered implementation approach because of
performance needs or changing abstraction boundaries.  This includes
everything from low-level routing and frobbing of data streams to very
high-level knowledge-based manipulations of said data.  With a LispOS,
you could mould the system to fit your needs rather than the other way
around.

o Integration.  With a LispOS, you can spending less time reinventing
wheels and pounding round pegs into square holes.  Because of the
single-address space, there are no time-consuming obstacles to get in
the way of applications building on one another.  Because of the safe,
high-level, object-oriented representation, there are no communication
barriers to overcome to get them to talk to one another.

o Evolving systems.  A LispOS allows you to manipulate, test, and
extend complicated systems quickly, safely, and on the fly.  How much
time is currently needlessly wasted on development/delivery
distinctions, setting up test jigs for black-box systems, and
understanding systems that are gears towards machines rather than
people?  How much that could be done doesn't get done because
modifying or extending existing systems is too hard, too expensive, or
too dangerous?

The point is not to build tools that make it somewhat easier to
undertake advanced projects but rather to create an environment and
infrastructure where such undertakings happen easily and naturally.
That is why we are talking about a Lisp *operating system* rather than
just another integrated development environment.  If the LispOS can
run under existing environments, fine, but I do not think that is a
requirement, and if doing so compromises the above utilities, then,
while it may not be Wrong, it is certainly a Bad Thing.

Here are some applications that are enabled by this OS.  These are all
projects I would like to undertake, but the infrastructure to make it
easy to crank them out currently just isn't there.  Other folks have
mentioned CAD/CAM, music, data mining, the Web, publishing, and
multimedia.

o Routing and filtering. Taking various inputs (sensor data streams,
text messages, machine communications), doing some basic analysis,
summarization, and reduction, and deciding where and how the results
should go.  This application requires understanding the both the
message and the messenger; understanding the recipient and how it
receives the message; and slinging data around and massaging it
everywhere from the bit to the knowledge level.

o Knowledge brokering.  Providing an exchange where information in a
variety of formats from a variety of sources can be found through
high-level queries and transferred to the appropriate parties.  This
application requires the ability to adapt nimbly to new sources and
access patterns.

o Robotics.  This application requires the ability to rapidly develop
and test new approaches and to integrate low-level inputs and control
with high-level planning and understanding.

o Telephony.  I have recently been involved in the selection and
purchase of telecom equipment, and I can state authoritatively that
the existing solutions stink and are way overpriced.  A LispOS would
be a great environment for managing the data streams, doing with the
protocols, controlling the equipment, developing new features,
building advanced applications, and making the whole system easy to
use and maintain.

Note that none of the above applications is a blue-sky research
project.  All of them have the quality that, given the right
environment, you could run out, scare up some venture capital, spend a
year developing one, and Make Money Fast.

--David Gadbois