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