Open pmichaud opened 10 years ago
Existing open synopsis tickets:
#7 - List.munch specification
#6 - .perl for self-referent structures
Legalize *..*
- http://irclog.perlgeek.de/perl6/2014-08-30#i_9271389
Hacking on m:g// (PR here) brought this discussion with it. The gist of it is that some objects want to have e.g. for
iterate over .list
, while others might not. The example in this case is $/
as a Match object from a multi-match, e.g. with :g
, :ex
, :ov
, which S05 states behaves different from a Match returned from a match without those modifiers.
A notable motivation is to preserve the for m:g/$pat/ { ... }
idiom.
https://rt.perl.org/Public/Bug/Display.html?id=77738 - "is rw" on slurpy parameters
On #perl6 (http://irclog.perlgeek.de/perl6/2014-10-09#i_9479570), TimToady speculated on a variety of API policies:
08:07 TimToady my current list api poliices are: lazy, batch, silo, all, sink, hyper and race 08:08 the difference betwen batch and silo basically being sync vs async
More RT tickets related to lists and unresolved issues surrounding the current implementation:
Particularly relevant: 77746 - »,« doesn't produce a structure of parcels 113026 - array iterator does not track a growing array 112716 - lines() isn't lazy in Rakudo (actually map) 113870 - infix:«Z^..» doesn't produce sub-parcels 111848 - storage strategy for arrays is weird in Rakudo 122715 - Returning lazy list from start { } block results in empty list 80574 - Sequence operator not flattening when generator returns parcels 120861 - list repeated once not truncating 111732 - infix:«xx» doesn't flatten per default in Rakudo 117109 - .pick doesn't flatten in Rakudo 116525 - .reverse doesn't flatten in Rakudo 122895 - list assignment to a constant doesn't flatten 117403 - .first on an infinite list generated with gather is slow 120973 - Cross product with a .map in RHS yields empty list 122306 - List non-comprehension on jvm, moar 118717 - Nil is not supposed to be an iterator anymore 121327 - Array shift in loop in loop in loop shifts from an outdated array 120992 - Nil disappears in junction lists
Other related issues:
113802 - something wrong with .tree of the result of infix:
Would be interesting to know how this microbenchmark will improve due to GLR: https://p6weekly.wordpress.com/2015/02/17/2015-07-i-like-trains-fast-trains-that-is/comment-page-1/#comment-293
perl -wnl -E ‘say $1 if /\b(\w{5})\b/’ logs.txt (19Mb) / 1 sec
ruby -wnl -e ‘puts $1 if /\b(\w{5})\b/’ logs.txt (19Mb) / 1.8 secs
perl6 -n -e ‘say $0 if m/(<<\w**5>>)/’ logs.txt (19Mb) / 88 secs
FWIW, the return value of a while/until/loop statement is a longstanding NYI. And feeds have lost most of whatever laziness they may have had a while back.
tl;dr: This is a meta-ticket collecting references to outstanding issues related to Perl 6's aggregate list types.
Full version: Next week at the 2014 Austrian Perl Workshop I'm planning to focus heavily on updating Synopsis 7 and resolving a large number of issues surrounding Lists in Perl 6.
Having done at least three or four separate List implementations in Rakudo, I can tell you that it has never been easy to isolate -- small changes to the design of List (and its related classes) often have huge impacts to large segments of the codebase. Lists seem to be incredibly fundamental to Perl 6 design, and it's vital to get the underlying structures "just right" . (By way of analogy: Perl 6 OO design required getting the underlying metamodel details "just right", as it affects the entire implementation.)
To prepare for the update, I'd like to collect as many unresolved issues and details regarding S07 and lists into this single "metaticket". These can be references to existing bug reports, IRC discussions, and the like. Code examples illustrating undesirable behaviors can also be added here.
Note: If a code example illustrates a bug or issue, find/file a separate ticket for it and then reference it here, please. Also, this ticket is simply for collecting references to issues -- discussion of issues should take place elsewhere (either in separate tickets or on #perl6, which can then be linked to here).
Topics that I know are intimately involved in Perl 6 list design include (watch this section for updates):
So, any unresolved items relating to any of the above are fair game here.
Thanks.