Hi,

A while ago I got some (admittedly under-tested) early support in for type variables. I went to check it over today to play with it a bit and try and improve the testing situation and found that it's somewhat broken. The reason is that:

my ::T = Int;

Now parses as if "my ::T" is a call to "my" passing "::T", rather than as scope declarator. At first I thought this was just because '::' had been removed from the token sigil - which is in line with STD.pm at the moment, but not in line with S02 which very much states the existence of this as a sigil. I'm not sure why STD.pm misses it.

Curiously, adding it back as a sigil still doesn't help us because we still end up parsing it as a term (just modify sigil and add | '::' to see this). At this point, I'm not especially sure where to look or what to try next (and part of me wonders if it's missing in STD.pm's sigil list for a reason - like there's something still to work out there).

Any input welcome,

Jonathan

Reply via email to