On Wed, Feb 16, 2005 at 01:55:31PM -0600, Patrick R. Michaud wrote:
: And to
: anticipate the followup question of "Well, why not make features such
: as junctions into optional modules?", I think a partial answer is that
: features like these really need deep language support to work
: effectively in their complex applications.  Otherwise we'd just
: stick with Perl 5. :-)

That, and we'd like a novice to be able to write

    given $x {
        when 1 | 2 | 3 {...}
        when 4 | 5 | 6 {...}
    }

without having to know there are junctions there underneath.  Forcing
them to cargo-cult a "use junctions" declaration merely to get switch
alternatives would not solve any problems I can think of.  Nor would
inventing a separate switch syntax for alternatives be appropriate when
we can make junctions work for that in a semi-orthogonal fashion.  As I
said elsewhere, the training wheels probably belong on the variable's
type checking, not on the underlying type space.  Variable types are
*views* into the actual underlying object types bound to the variable,
and so variable types can place arbitrary restrictions on the use of
those underlying general types.

Larry

Reply via email to