On Fri, Jul 01, 2005 at 11:51:55AM -0700, Larry Wall wrote:
: So either we need a different sigil for type variables, or a syntax
: for explitly binding and declaring an autovivified type.  (Which,
: interestingly, could also be used in rvalue context.)

I neglected to provide an example of this, but it'd be something like

    $x = (my T) $y;

to declare that T is whatever type $y happens to be when evaluated.

It would have to be a special form, though, since it needs to expect
a term after it rather than an operator.  And it would require the
absence of anything following T, since (my T $x) means something
entirely different, and in fact requires an operator to follow.
I don't see a better approach offhand, unless it's [my T], which
would have to be just a special, and risks visual confusion with
lists and reduction operators.  So I'm still thinking (T)/(my T)
is the better approach.  But it could use more collective mulling.

Larry

Reply via email to