FWIW, if people are really eager to keep ^ for xor (I don't think
anything's clicking great as a replacement), we could of course switch
hyper to ~. That would give us, in part:
? ! + - _ # unary prefixes
+ - * / % ** x xx # binary
+= -= *= /= %= **= x= xx=
~+ ~- ~* ~/ ~% ~** ~x ~xx # hyper
~+= ~-= ~*= ~/= ~%= ~**= ~x= ~xx=
and or xor err # logical ops
&& || ^^ // # logical ops
b& b| b^ # binary (placeholders, for now)
& | ^ # binary or super (dunno, for now)
all any one none # superpositional (+ sum,prod,cat,reduce)
That would put us back to square one with string cat, but it _would_
give people back their C-like xor, which would help the familiarity
issue a bit.
OR, we could use ~ for string and ~~ for hyper, which I think would be
OK except for the presence of an ~~~ operator for hypercat (it does sort
of look like a cat going really fast, though, doesn't it?)
We could also try for some bracketing constructs around hypers, or a
doubled punct, or something. Thought of course about <+>, it looks very
hyper-like, but probably still too many issues with the old-style file <$stuff>
+ - * / % ** x xx # binary
+= -= *= /= %= **= x= xx=
<+> <-> <*> </> <%> <**> <x> <xx> # hyper
<+=> <-=> <*=> </=> <%=> <**=> <x=> <xx=>
Dunno, just feels like there should be a solution here, somewhere...
@a ~~+ @b # not awful
@a <+> @b # sigh, this is pretty nice looking
@a h<+> @b
@a @<+> @b
@a ^+^ @b
@a `+ @b
@a .+. @b
@a =+= @b
@a ~+~ @b
@a \+\ @b
@a [+] @b
@a h[+] @b
@a @[+] @b
@a @+ @b
MikeL