Retaking ++ and -- : how to get the old functionality?

The more I look at this, the more I think that tag-looking-things that are only arrow characters being words is not that bad, and likely the only sane way for the mind to accept <> being a WORD!

This would bring <=>, <+>, <->, <|> and all of their friends (<+->, <-=->) into the arrows-fold. The spaceship operator could do what it does in other languages:

switch a <=> b [
    '= [print "A equal to B""]
    '> [print "A greater than B"]
    '< [print "A less tan B"]
]

Perhaps <-> could be SWAP (which I've been thinking could be extended to words. They'd have to be quoted if so:

>> a: 10
>> b: 20
>> 'a <-> 'b
== 20  ; !!! or 10, or void?
>> a
== 20
>> b
== 10

Maybe <+> could be an infix joining operator, maybe for newpath:

>> filename: 'README
>> extension: "txt"
>> %/some/path <+> [/ filename.(extension)]  ; dialected handling of TUPLE and /
== %/some/path/README.txt

Whatever <|> did, it should probably relate to expression barriers somehow.

Giving these meaning could help normalize the reflex people have in looking at them, and knowing the rules for arrow-words and not "seeing" a TAG!

2 Likes