# does this stuff work?
# do in,out,eat,new need a context?  I think so...
# i.e. like:
# op += r (x y) :
#	new += r x

def ' :
	op . r x
	postfix .
	new r x
	in x
	out r
	eat x

def ! :
	op . x x
	prefix .
	eat x

def < :
	op . x x
	prefix .
	in x

def > :
	op . x x
	prefix .
	out x

op > x x :
	prefix .
	out x


# refer to self:  .  ?          .
# path separator:  . or /  ?    .    e.g. .foo means foo in self, equivalent to 'foo'  ?
# refer to parent:  .. or ^ ?   ..   grandparent:  ...   e.g.  ..foo means foo in parent, ...foo.bar means bar in foo in grand parent
# refer to root:  / or $ ?      /    e.g.  /c.math

# can we define these . / as operators?  maybe

op / x :
	root x

op /
alias / root

op . x o m :
	member x o m

op .
alias . member

