Is your list things that you wish were in the language, or things you wish the implementations had?
- Heredocs: implementation missing.
- Shaped arrays and hashes are specced, but haven't been implemented by anybody yet. So while it's mostly a question of the implementation, the spec will need to be tuned to respond to feedback from the compiler writers
- Speed: an implementation thing, although of course language design decisions influence it too
- Mutable grammars: needs work on both fronts.
- polishing: everything (compilers, specs, docs, module installers, ...)
Could you briefly explain what "shaped arrays" are? I've never heard that term, and Synopsis 9 is pretty dense.
Arrays where you can exactly declare the dimensionality, index ranges and types. For example you could declare a two-dimensional array where both indexes run from 0 to 2 and and only store Num objects -- the perfect base for Matrix arithmetics.
Those predeclarations allow both type checking and much more compact storage.
| [reply] |
If you can give a number what percentage of the spec has been implemented so far.
| [reply] |
No. I can't think of any meaningful way to compute (or even guess) such a number. If you want to know what's already implemented, please consult the Perl 6 compiler feature matrix.
But to stay in the spirit of the original question, "If you've tried it, what are your thougts on Perl 6?", let me tell you that the percentage of what features are implemented isn't really interesting. Suppose I add an obscure feature to the spec and you don't even understand what it does, the fact that the compilers do not implement it will reduce that mythical percentage. But it does in no way impair your Perl 6 experience.
| [reply] |