Michael G Schwern wrote:

> Binary ;
> 
> This worries me.  Giving ; two meanings makes basic language parsing
> harder, which would be fine if there was a big payoff, but there's
> not.  Just making shorthand for [[1,2,3],[4,5,6]] doesn't seem worth
> it.  What am I missing here?


What you might be missing here (or what I might be improperly getting here)
is that a good way to implement this sort of thing is with an exception
handling parser.  The end-of-statement-while-brackets-are-open error
can be trapped and turned into More Useful Syntax.


Alternately, semicolon only means statement-end when all brackets are
balanced.


Suddenly we have 
more syntax to play with: an easy-to-find separator is no longer pinned
into its one role as statement terminator, to use a chess metaphor.

The list-of-lists is an example of what can be done; it is not the point
of the innovation.  Things like syntaces for declaring your named
arguments come to mind as a more intense use of this feature. I am not
caught up with the state of the art enough to produce a compliant example
at this time.


> Binary //
> 
> The analogy to || is probably a bit too clever.  My first reaction
> was it's some sort of weird division operator.  But it's servicable.

It echoes the switch from | to / within the IETF RFC syntax declaration
language.  Apparently the global keyboard steering committee has
deprecated the vertical bar.

 
> Hyperoperators:
> 
> I sort of understand it, but don't really grok it.  I can sort of
> thing of ways it might eliminate the need for a few maps and
> foreaches.  Damian, might I request some clarification in Exogenesis?

I am not Damian, but I'll try:

The feature is not, IMO, big enough to warrant giving it the
really-big-sounding name "hyperoperator" but it is as good as any
and no other (?) language has it at this particular level of explicitness
(overloads on C++ container classes notwithstanding.)

There is no way to disambiguate the do-once case from the do-for-each
case without some syntax of some kind, so hat-operator is pressed into
the role.

I suppose descent into LoL and attitude towards multidim is up to
the operator getting hyperized -- that is a point for regularization
of some kind, cultural if not linguistic.


 
> Backtracking:
> 
> Ok, I don't get it at all.  Damian, clarification?

Me neither.  I had thought that backtracking dealt with
remembering one's side effects so they could be unwound.
The RFC in question was completely incomprehensible to me
as well, and possibly written by someone who was not aware
that Perl's logical operators short-circuit by definition.

What am I missing?

Reply via email to