MOX
Kyle Lahnakoski
kyle@arcavia.com
Tue Jan 29 08:35:01 2002
Francois-Rene Rideau wrote:
>
> > A convincing argument that triples are important: both Brian's arrow
> > (ID, head, tail) and in Lisp cons cells (ID, car, cdr) are triples. The
> > "ID" encapsulates the ability to reference (or point to) the arrow or
> > cons cell respectively.
> However, CONS-as-triples, as opposed to triple-knowledge-bases such as
> used expert systems like SNARK and its successors, verify an additional
> invariant that an ID can be used but once in head position.
Are you saying that a triple-knowledge-base ("base" as in "basis" as
opposed to "database") is a more general structure and therefore more
expressive? I would agree with that. But I would prefer to find a
structure with the most restrictions on its coordinates.
> All in all, important questions are "what information do you want to encode?"
> (the inductive types approach), and dually "what are the operations to be
> performed on this information?" (coinductive types). Continuation-based
> techniques allow to go from one to the other in higher-order languages.
I would like to hear more about this role of continuations.
I think I know what you mean here; the two questions are important for
determining how to encode information. Even an arrow-like system has
had to answer these questions, but those questions were not explored
consciously (at least not in my mind).
I guess, then, I should search for the (desirable) properties that
demand an arrow-like system of information representation. Here is my
attempt:
1) Information must be encoded without the use of symbol sequences.
Things such as strings, or blocks of bits are not allowed. Being a
person that denies any form of series or sequences, when possible,
enjoys the existence of this requirement.
2) ?is that all?
The triple I suggest above can be seen as a reduction of sequences to
their basic building block (cons cell). But even this triple need not
be an ordered triple as long as we name the parameters. For example, a
particular triple can be stated as {ID=A, head=B, tail=C}.