HaloO,

Brent 'Dax' Royal-Gordon wrote:
Steve Peters <[EMAIL PROTECTED]> wrote:

~ seems to be available for a sigil, if my reading of S02 is correct, and
the cent sign is replacing :: in all cases.  If not (that is $::foo is
still the global variable named foo) then * may also be available.


Sigils can't conflict with unary operators (like, say, the
stringification and flattening operators, ~ and *) and ideally
shouldn't conflict with binary ops either (although % breaks this
rule).

My 2ยข is that we should reap ^ from the one junction and promote it to
become the 'runtime type information carrier' sigil---like the wings
on the feet of Hermes/Mercury :)

And we should find an alternative to binary % which isn't very well
defined in it's abstract meaning---but I find that the 0/0 connotation
that it spawns in my infinitly twisted brain matches nicely with infinite
precision nums and I get the identities:

   Undef ::=   0/0;
   One   ::= Any/Any  # actually $x = any(1..Inf) && 1 == $x/$x
   Inf   ::= Inf/Inf  # the other Undef :)
   Type  ::= All      # the concept that is shared by all instances
                      # and represented by the one meta representative

and of course some mixed cases like

       0 ::= 0/Any
     Inf ::= Any/0

The none junction hasn't one single char infix creator either. Also the
all junction is in partial conflict with the & sigil. OTOH, many fear
that junctive auto-threading enters their functions. And the junctions
have got very well picked short names.

In other words a comparison like

  if $x != $x { ... }

should *never* hit the nada operator. While

  if &x != &x { ... }

could depending on the evaluation of the code &x refers to.
--
$TSa.greeting := "HaloO"; # mind the echo!

Reply via email to