On Mon, May 14, 2007 at 02:21:47PM -0400, Ryan Richter wrote: : In Perl 6, the & sigil is used to distinguish between : : foo bar : : which calls bar and passes the return value to foo, and : : foo &bar : : which passes bar as a Code object to foo.
In other words, the sigil is consistently a noun marker in Perl 6, even when a sigil is used on a verb. In Perl 6, where sigils distinguish nouns not only from verbs, but also from adjectives (if you count types as adjectival). With a glance you can tell which are the nouns and which are the types here: multi CatDog sub make_catdog (Cat $cat, Dog $dog) {...} multi CatDog sub make_catdog (Cat Dog $catdog) {...} While Gabor is correct that in Perl 5 removing the sigils from verbs made some verbal collisions happen that otherwise wouldn't have, in Perl 6 we've mostly fixed that by essentially getting rid of most reserved words, and making even the builtin functions participate as normal multis and methods. For that reason, and because verbs linguistically tend to be disambiguated by the nouns fed to them as argements, verbs don't need to be conjugated nearly as badly as nouns need to be declined. A lot of nouns typically don't have arguments to disambiguate them with, at least until you start subscripting them, and we don't do multiple dispatch on subscripts. As for the original complaint, we long ago decided to ignore people who are prejudiced against languages that mark nouns. Greek wouldn't be Greek if you couldn't decline your nouns. (In my estimation, it's the conjugated verbs that make Greek so difficult to learn, really. On the other hand, once you learn them they're very expressive in tense and aspect. It's all tradeoffs.) Larry