I will be home within the week

RE01 Rice Brian T. EM2 BRice@vinson.navy.mil
Fri Jan 18 22:32:01 2002


Hello all,
I've been following the discussions as I can on the web interfaces to the
mailing lists and such, and it's certainly nice to see some activity.
However, obviously I haven't made the effort to add to the discussions
myself: my time is fairly sparse, basically.

I haven't really had time for my own programming exercises as well. So when
I return, expect the release of the final bug fixes and rounding-out of
features for the initial semantics of my Arrow code, which is the Binary
Relational Algebra plus some extensions. The coding that was done aside from
that is very dis-organized and doesn't really reflect any concepts better
than the sources I tried to emulate (e.g. Maude, Lisp, etc.), so it won't be
released yet. I'm going to go talk to some professors and graduate students
at the University of Washington nearby to see if I can develop some useful
relationship and discussions with solving this in mind.

However, I have been studying different matters which relate to the system,
and I have some ideas which solve problems individually (collecting these
ideas into a continuous system is another matter :/). One of the most
interesting sources of food for thought I've found has been the collected
works of Martin Heidegger, the German philosopher. I've also taken the time
to practice up on C and OCAML for my own edification.

Here's some preliminary feedback about some of the things presented
recently:

TUNES website / review:
	This is perennially useful in itself and also controversial. This
also may be the first time in a while where I could devote quite a lot of
time to writing and editing, but as I'm not familiar with web/cgi/php
programming, someone needs to step forward to take care of what's needed. I
believe Tril had some intentions on this, and there are new volunteers
obviously, but whoever does it needs to follow through and take it on as
their *own* (imho) to avoid the idea that someone would be interfering.
Corey Reece wanted to do this with the Diktuon and I had put some content
into it, but he no longer has the time for anything like it now.

Questions about LISP or its status with respect to TUNES plans:

	Lisp is an excellent philosopher's stone for us because it has the
longest history of interesting languages, and also has had some of the most
relevant developments. The critical feature that characterizes any
discussion about the various LISPs is the syntactic abstraction feature that
it provides, which some researchers have actually suggested can be surpassed
(foregoing cons-based representation with ADTs) but no one has really
followed through on using this idea integrally. A *great* many features may
be added or deleted from a language with this central feature and still be
the object of a LISP discussion. Perhaps it would be more beneficial to
frame these talks in terms of the features instead, or to propose ways that
new and interesting features fit or do not fit into the current set of major
semantic elements of what we commonly call LISP (e.g. applicative semantics,
eval-quote relation, standardized quotation mechanism, ...). One major
example that comes to mind is pattern-matching, which some LISPs in the
1960s even tried to incorporate (Planner and others, I believe. The name
'Scheme' itself is a pun on that tradition.).

	*As a side note, I do recommend following the Lambda the Ultimate
Programming Language Weblog (http://lambda.weblogs.com), which has been a
nice source of pointers and opinions of good programmers for me on my
low-bandwidth connection out here.

Questions about Maude or its status with respect to TUNES plans:

	As for Maude, I'll just explain the interesting aspects as quickly
as I can. Maude is a specification language (like Z or OBJ) based on the
replacement of (sub-)terms ('term-rewrite'). It has a basic self-hosted
evaluator and quotation mechanism which are highly useful in specializing
the language in interesting ways. Of course, it's *executable*: it's a logic
that relates very neatly to concurrent computations and their models. I
should add that the syntax is pretty bad as is; I find it fairly hard to use
myself.
	Everything else about Maude is just the formal details. It is a
research project after all. It's relevance to TUNES has to do with the TUNES
idea of simple formal proofs being directly available for software and
providing the security aspects we normally get through manual checking. (It
took me a while to understand Fare's stance on this.) The security checks
are just quick ways to say where you can optimize, and the big win (we
predict) is that a good logic allows for many more *automatic* optimizations
than we can get otherwise. Maude *is* just another language, but its
semantics are at a very interesting point for us in the continuum of
languages.

If you like, edit these as you see fit and add them to explanation pages on
the Wiki.

When I get back, I'll need to take some time off and also to work on the
company I consult for, but otherwise I'll be developing a lot of things for
you, and will be very available for questions. I should be available well
enough on IRC/ICQ as well, and apparently Squeak's groupware tools have also
gotten a lot better. I certainly have enjoyed doing demos across the
internet for Arrow and Squeak, so this will probably just improve.

Thanks guys,
~