Introduction and misc ideas

Brian T Rice
Mon Jun 17 09:22:02 2002

On Mon, 17 Jun 2002, Alexis Read wrote:
AR>On Thu, 6 Jun 2002, Brian T Rice wrote:
AR>> AR>The other formalism that seems to be as powerful, is rewrite logic, which
AR>> AR>has been developed further in CafeOBJ, Maude, ELAN and BOBJ. The
AR>> AR>capabilities of Maude in particular have reached such a point where it is
AR>> AR>almost usable to regular programmers.
AR>> Except for the syntax. :) Which is why I'm suggesting a strategy of taking
AR>> the underlying engine and stripping off the syntax and giving it a Lisp
AR>> interface (the point being to take advantage of it in Arrow directly of
AR>> course).
AR>I'm not too clear on why the Maude syntax is so bad. I've 12 criteria
AR>below for describing good syntax, all of which Maude supplies. (see the
AR>maude manual section 2.5.3 for recursive terms)
AR>All comments appreciated in the aid of enlightenment!

You're right about all of those comments, but notice that I didn't claim
that the syntax was technically flawed. I'm more concerned with
programmatic manipulability. The fact that Maude hasn't been released
Freely (yet) is part of the issue. Other factors I'll mention below.

AR>The other point to mention is that syntax guides the programmer in the way
AR>they think, which admittedly is a double edged sword. This can be
AR>alleviated by giving example code, and so perhaps other issues become more
AR>pressing, such as marketing familiarity (its similar to xxxx so you'll
AR>pick it up (again double edged)), and the size of the command set and
AR>syntax (KISS). The proviso is that the syntax is not restrictive.
AR>In the case of LISP, and Maude, I don't see which has the more
AR>advantageous syntax.

It's simple: I don't want there to be a syntax or a language, and
machine-manipulable syntax is the key to that. Maude is also notably
missing a backquote and unquote operations, which makes the meta-level
rough to deal with, and SEXP syntax is the only one I know that handles
that generically.

AR>On a slightly different note, here's an attempt to create a visual
AR>database language from a formally specified graph rewrite system. A step
AR>up from SQL methinks!

Interesting. I'll have a look at it today.