[om-list] simulating time/place and context

Mark Butler butlerm at middle.net
Sat May 26 19:04:10 EDT 2001


Luke,

What you have described is a reasonable run time implementation - we just have
to be able to store the variant data efficiently in the first place.  If we
use a LISP style database we virtually eliminate the problem on the storage
side because it is easy support attributes and relations that have functional
dependencies if you can substitute an expression anywhere we might have had a
scalar before.

Of course, that means that the run-time components have to be capable of LISP
style expression manipulation, much like Mathematica.  This is certainly
practical in LISP itself or Java or C++.  In the latter two languages, you
simply build the same runtime environment as you have in a LISP interpreter -
you might look at the FramerD source code in the "scheme" subdirectory - it is
quite instructive.

I think it might be a good idea to support LISP or Scheme directly, but I
would also like to write a higher level language with the flexibility of LISP
and a C++ style syntax.  If we are going to support functional attributes, we
need a syntax that mere mortals can write simple functions in (as in modern
spreadsheets).  Naturally, such user defined functions would need to be
translated into a LISP like intermediate form before evaluation.

Besides LISP style function representation, we also need a way to efficiently
represent regularly sampled functions such as time series, sampled images, and
so forth.  We also need similar techniques for irregularly sampled data and
hybrids of the two.  We could certainly store schema dependency as just
another abstract dimension for a functionally dependent attribute, although
care needs to be taken to prevent schema cross-pollution.

 - Mark




More information about the om-list mailing list