# arrow-structure syntax

**RE01 Rice Brian T. EM2**
BRice@vinson.navy.mil

*Fri, 4 Dec 1998 22:50:04 +0800*

-pseudo-code declaration:
arrow: { head: ptr , tail: ptr };
-arrows equaling {nul,nul} are nodes.
-groups of arrows are denoted via linked lists formed by arrows, a la LISP.
-arrow types would be denoted by, say, a list of all arrows per type. (needs
work)
-lambda-calculus would be a fundamental building block.
-perhaps arrows equaling {another_arrow, nul} or {nul, another_arrow} could
be encodings for contexts or partially-evaluated arrows.
-fundamental operators: (to be eventually encoded as arrow-structures)
inverse: {h,t} -> {t,h}
combinator: { {h1,t1} , {h2,t2} } -> {h1,t2}
evaluator: any ideas???
-infinitary notations could be made via a 'axiom of choice' attitude. in
other words, some statements describing some set of arrows could be
enumerated and some selection operator could be created which picks one,
much like 'there exists' or a modal operator like 'push a'. this could be
the eventual destination of the 'type' concept, using the context idea.
-more to come...