On Tue, Dec 12, 2006 at 02:19:46PM -0800, Ovid wrote: > First, how do I do introspection in Pugs? CPAN's Perl6::Bible hasn't > been updated in a while, but the various ways to get a list of methods > (from > http://search.cpan.org/dist/Perl6-Bible/lib/Perl6/Bible/S12.pod#Introspection > or http://tinyurl.com/yxukar) don't appear to work. They all throw > syntax errors or "No compatible subroutine" errors.
In general you're better off looking at http://spec.pugscode.org/ for more updated synopses, but in regard to introspection, the APIs aren't well specced yet. > Also, I'm having trouble with problem 7 in > http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html > or http://tinyurl.com/tt9e7. Basically, it's flattening nested lists > and I'm embarrassed to admit that I can't figure this out in Perl6. > Thoughts? I've been reading synopses and grepping through Pugs, but to > no avail. L<S04/"The do-once loop"/"A variant of do is gather"> stipulates the results of a gather are flattened to a lazy list. I'm not sure how far that flattenning goes, but one of these should do the trick, I think (Pugs does not yet implement gather/take): sub flatten1 (@list) { gather for @list { take $_; } } sub flatten2 (@list) { gather for @list { take $_.does("List") ?? flatten2 $_ !! $_; } } -- Gaal Yahas <[EMAIL PROTECTED]> http://gaal.livejournal.com/