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}.