in reply to Re: Some Insights from a Traveler Between Languages
in thread Some Insights from a Traveler Between Languages
Many of the traps in Perl arise because of colliding contexts, and we've tried very hard to arrange contexts in Perl 6 so they don't collide so often, and when they do, they prioritize in the expected fashion. That's why there really aren't very many keywords to speak of anymore, so you can override print if you want to, because any lexical or package scope takes precedence over the global scope in which print is defined. That's why we now distinguish modules and classes from packages, and methods from subroutines, so the compiler can know the intent of the programmer better. That's why we revamped the precedence tables to get rid of longstanding traps inherited from C. That's why patterns are now considered a real language, and not just interpolated strings. That's why scalar context no longer forces premature evaluation. It all comes down to linguistics, and more specifically, tagmemics. Every utterance has multiple contexts, and it's really important to keep track of which context is "working" at any particular spot.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Some Insights from a Traveler Between Languages
by Juerd (Abbot) on Apr 23, 2005 at 20:14 UTC | |
by doom (Deacon) on Apr 24, 2005 at 21:09 UTC | |
by jonadab (Parson) on Apr 25, 2005 at 13:43 UTC | |
by skyknight (Hermit) on Apr 26, 2005 at 13:45 UTC | |
by jonadab (Parson) on Apr 26, 2005 at 21:38 UTC |