Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-04-25

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 mantovani joined #perl6
00:09 k23z__ joined #perl6
00:14 mtnviewmark joined #perl6
00:16 mtnviewmark Hullo all - I'm wondering if it is about time to update the Periodic Table of the Operators?
00:18 mtnviewmark Have the operators changed much in the last 9 months or so? Are they setteling down at all?
00:19 JimmyZ joined #perl6
00:21 justatheory joined #perl6
00:22 JimmyZ mtnviewmark: I am glad to see it
00:23 jnthn mtnviewmark: You've arrived at a quiet time. :-) I think something probably *has* changed, but I struggle to think of anything specific. Most of what I remember feels a bit longer ago than that.
00:23 jnthn mtnviewmark: e.g. prefix:<=> is gone
00:23 jnthn Not sure if that's on the latest one.
00:23 jnthn If so, that's one thing that went away.
00:23 jnthn There's a new S meta-operator too I guess.
00:23 mtnviewmark I can do an audit - just trying to learn if there has been any great change in general.
00:24 JimmyZ Great.
00:24 mtnviewmark Last year I thought the plan was to lock down the spec by Xmas - but I gather that didn't happen?
00:25 mtnviewmark O noes!!! Another metaop?!?! Where ever will I fit it?
00:25 mtnviewmark :P
00:26 jnthn Well, the trouble with locking down the spec is that those of us implementing it keep finding things that need tweaking so they're implementable/the corner cases are fleshed out etc.
00:27 jnthn It's probably fair to say that these days the focus is very much on dealing with implementability rather than creating more cool stuff.
00:27 mtnviewmark Heh! Well better found before than after.
00:28 mtnviewmark Sounds like then if I did. Revision to match the current Synop. It would be pretty close to done
00:31 JimmyZ phenny: tell masak Is any bug there? http://irclog.perlgeek.de/​perl6/2010-04-24#i_2259960
00:31 phenny JimmyZ: I'll pass that on when masak is around.
00:34 sorear mtnviewmark: "Xmas" in Perl 6 land is a code word
00:35 sorear it means "when Perl 6 is released", for variable values of "released"
00:36 mtnviewmark Oh - I was gullible enough to think it was tied to a date! :)
00:43 sundar joined #perl6
00:44 sorear ah, Perl 5.8.0 seems to not be compatible with recent versions of gcc
00:44 sorear the autodepend mechanism trips up
00:44 * sorear fudges it and moves on
00:46 spinclad 'when?' 'by xmas.' 'oh, nice!' (goes away) -- 'he never asked which xmas, did he?'
00:47 spinclad it's better if the meaning of 'xmas' is explained _before_ the victim is gone.
00:47 jnthn rakudo: multi foo(:$a!, *%_) {}; multi foo(:$b, *%_) {}; foo(:a, :b)
00:47 p6eval rakudo e393c7: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(Any :a($a)!, *%_)␤:(Any :b($b), *%_)␤␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
00:51 spinclad (comes back) 'it's been xmas, i don't see it!' 'well, yeah, you never asked the crucial question though.' -- some might call this less than awesome public relations...
00:55 sundar spinclad: I'm with you on this... I guess the xmas reply is better limited to intra-perl6 fun.
00:55 sundar especially now that we're gonna have rakudo star soon, perhaps we could reply with that.
00:59 alester joined #perl6
01:09 colomon Z metaop is the newest of all.
01:11 JimmyZ joined #perl6
01:11 jnthn Oh, yes.
01:11 * jnthn forgot that hadn't used to be meta
01:12 lisppaste3 takadonet pasted "Object What method" at http://paste.lisp.org/display/98297
01:12 * colomon is still kind of proud of getting it implemented the same day TimToady invented it.  :)
01:13 takadonet Should both $first.WHAT return 'beer()' ?
01:14 jnthn colomon++
01:14 colomon jnthn++, as I'm pretty sure you helped.
01:14 jnthn takadonet: Probably not because it's not the same class any more
01:14 jnthn However, I suspect it currently says nothing useful...
01:15 colomon is there enough information there to say "beer does me", or something like that?
01:16 takadonet jnthn: Just double checking. Is there a way to determine if it was ever a beer object at one point?
01:16 jnthn takadonet: Smartmatch against beer
01:17 jnthn colomon: Yeah, but you'd probably want to set it up specially to give the generated subclass a name like that.
01:17 jnthn colomon: But that's not too hard.
01:17 takadonet jnthn: I believe that will work for me. Thanks
01:17 jnthn :-)
01:20 patspam1 joined #perl6
01:21 colomon Wow, I feel like Rakudo had a very productive day.
01:22 colomon 14 commits
01:22 colomon from four different people
01:22 colomon at least a hundred additional passing tests.
01:23 jnthn :-)
01:23 jnthn I've nearly finished a lexical roles patch too.
01:23 jnthn I'll get it in tomorrow.
01:23 JimmyZ how many tests passed now?
01:23 jnthn > 31000
01:23 JimmyZ good.
01:24 colomon > 31663
01:24 jnthn oh wow. :-)
01:24 * jnthn wonders how long until 32,000
01:25 JimmyZ I guess very soon
01:26 sorear 32,768 :p
01:26 bbkr joined #perl6
01:27 sorear jnthn: does rakudo work at all against trunk yet?
01:27 jnthn No
01:27 sorear 'k
01:27 sorear I
01:27 JimmyZ rakudo: say Mu ~~ Object
01:27 sorear 've got plenty more to do on the pure Blizkost side
01:27 p6eval rakudo e393c7: OUTPUT«Could not find sub &Object␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
01:27 sorear though eventually I'd like to implement :from<perl5>
01:27 JimmyZ rakudo: say Mu ~~ ::Object
01:27 p6eval rakudo e393c7: OUTPUT«Nominal type check failed for parameter '$topic'; expected Any but got Mu instead␤current instr.: 'perl6;Any;ACCEPTS' pc 382491 (src/gen/core.pir:33470)␤»
01:27 colomon did we ever figure out exactly how many alpha passed before it wandered away from the spectests?
01:28 colomon I want to say it was 32,xxx, but I'm not sure.
01:28 jnthn sorear: The error looked scary and I've been wanting to get lexical classes and roles done for ages. Once I've got those in, I'll look at the trunk building issue.
01:28 sorear What does wandering away from the spectests mean?
01:28 jnthn colomon: I thought we didn't make 32,000 in alpha.
01:28 jnthn colomon: It was 31,xxx I thought.
01:28 jnthn rakudo: "foo" ~ my $a = "bar"
01:28 p6eval rakudo e393c7:  ( no output )
01:29 jnthn rakudo: say "foo" ~ my $a = "bar"
01:29 colomon jnthn: oooo, that would be nice.
01:29 p6eval rakudo e393c7: OUTPUT«bar␤»
01:29 JimmyZ jnthn: it's 32731
01:29 jnthn JimmyZ: Oh?
01:29 jnthn OK.
01:29 jnthn I musta remembered wrong then.
01:30 jnthn So...still a thousand or so to go in master.
01:30 JimmyZ and then ng merged to master
01:30 jnthn To the extent that milestone means anything.
01:30 wormphlegm joined #perl6
01:30 sorear Let's add lots of new tests for the features that alpha didn't have.
01:31 jnthn sorear: Well, that's kinda happened.
01:31 jnthn Which is fine, but it does mean that you can't say "we pass as many tests as alpha did so we're now back to where it was"
01:34 jnthn 616 RT tickets, though a bunch can be closed once we have test coverage. :-)
01:34 colomon sure, but you can say "we're about as functional as we were back then" -- even if it might be different functionality.
01:35 colomon will be worth having an alcoholic beverage of your choice in celebration, at any rate.  :)
01:37 jnthn Oh yes. :-)
01:39 sorear \o/ altperl works
01:39 sorear for 5.10.1 (/usr/bin/perl)
01:39 * sorear is currently trying to build 5.8.0; it's quite bitrotted
01:40 dual joined #perl6
01:42 hercynium joined #perl6
01:43 jnthn rakudo: given 42 { when 42 { proceed }; say "OH HAI" }
01:43 p6eval rakudo e393c7: OUTPUT«OH HAI␤»
01:46 jnthn rakudo: (class { method foo() { say "OH HAI" } }).foo
01:46 p6eval rakudo e393c7: OUTPUT«OH HAI␤»
01:47 bbkr joined #perl6
01:47 araujo joined #perl6
01:52 dual_ joined #perl6
01:53 * jnthn -> sleep, o/
01:54 colomon \o
01:57 meppl joined #perl6
01:58 Psyche^ joined #perl6
02:14 redicaps joined #perl6
02:20 dual joined #perl6
02:21 snarkyboojum std: foo class A {}
02:22 p6eval std 30474: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤      'foo' used at line 1␤Check failed␤FAILED 00:01 109m␤»
02:23 snarkyboojum std: my class A {}
02:23 p6eval std 30474: OUTPUT«ok 00:01 107m␤»
02:23 JimmyZ joined #perl6
02:24 snarkyboojum std: :: class A {}
02:24 p6eval std 30474: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/jmm30nXD42 line 1:␤------> [32m:: [33m⏏[31mclass A {}[0m␤    expecting any of:␤  bracketed infix␤  infix or meta-infix␤      statement modifier loop␤Parse failed␤FAILED 00:01 108m␤»
02:25 snarkyboojum rakudo: :: class A {}
02:25 p6eval rakudo e393c7: OUTPUT«ResizablePMCArray: Can't pop from an empty array!␤current instr.: 'perl6;Perl6;Actions;term:sym<name>' pc 255517 (src/gen/perl6-actions.pir:9800)␤»
02:25 bbkr when i try to run "perl t/harness --fudge  t/spec/S32-str/comb.t" i get "no ICU lib loaded" error. how to run this test (and what is ICU?)
02:25 snarkyboojum heh popping from an empty array!
02:26 colomon bbkr: ICU is a library for handling unicode.
02:26 snarkyboojum bbkr: http://site.icu-project.org/
02:26 colomon you need to install it on your machine and then rebuild parrot / rakudo to use it.
02:27 bbkr thanks! there are some tests that can be unfudged. i'll rebuild and see what works on Moscow build.
02:28 dual_ joined #perl6
02:32 mituol joined #perl6
02:44 lisppaste3 colomon pasted "Start to implement Church numbers in p6: colomonbug or rakudobug?" at http://paste.lisp.org/display/98303
02:46 dual joined #perl6
03:10 dual_ joined #perl6
03:18 fridim joined #perl6
03:21 takadonet rakudo: say "yo",graphs()
03:22 p6eval rakudo e393c7: OUTPUT«Could not find sub &graphs␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
03:22 takadonet rakudo: say "yo".graphs()
03:22 p6eval rakudo e393c7: OUTPUT«Method 'graphs' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
03:22 takadonet !!!
03:22 takadonet not good
03:34 snarkyboojum rakudo: say "yo".chars
03:34 p6eval rakudo e393c7: OUTPUT«2␤»
03:35 snarkyboojum rakudo: say "yo".bytes
03:35 p6eval rakudo e393c7: OUTPUT«2␤»
03:39 snarkyboojum alpha: say "yo".graphs
03:39 p6eval alpha 30e0ed: OUTPUT«Method 'graphs' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤»
03:39 dual joined #perl6
03:40 molaf joined #perl6
03:40 takadonet snarkyboojum: Going to be using chars instead for now
03:41 snarkyboojum looks like graphs has never been implemented
03:41 takadonet snarkyboojum: ya
03:41 meppel joined #perl6
03:54 lidden joined #perl6
04:06 tylerni7 joined #perl6
04:09 tylerni7 joined #perl6
04:10 araujo joined #perl6
04:13 snarkyboojum Parrot_str_grapheme_length is documented, but not implemented it seems
04:14 araujo joined #perl6
04:23 jaldhar joined #perl6
04:24 sorear snarkyboojum: the String PDD is mostly not implemented.  That's a major TODO front.
04:24 snarkyboojum sorear: ah cool :)
04:27 envi^home joined #perl6
04:47 chitragupt joined #perl6
04:48 gurjeet joined #perl6
04:48 chitragupt joined #perl6
04:52 chitragupt joined #perl6
04:53 chitragupt joined #perl6
05:02 ReiniUrban joined #perl6
05:38 chitragupt joined #perl6
05:51 Chitragupt joined #perl6
05:52 Chitragupt joined #perl6
05:53 jaldhar joined #perl6
06:03 kfo_ joined #perl6
06:06 gurjeet left #perl6
06:12 iblechbot joined #perl6
06:13 guotr joined #perl6
06:14 gurjeet joined #perl6
06:19 gurjeet left #perl6
06:21 guotr joined #perl6
06:23 gurjeet joined #perl6
06:24 guotr joined #perl6
06:25 redicaps left #perl6
06:26 eternaleye (way, way, WAY backlogging) Regarding the people who say "that's not a real release" - such statements are the _ideal_ example of 'No true Scotsman' in its native habitat
06:27 eternaleye ...and I scroll one line, and masak++ has said so. eternaleye--
06:27 finanalyst joined #perl6
06:27 finanalyst good morning. anyone around?
06:27 sorear yes
06:29 guotr joined #perl6
06:31 finanalyst i would like to add a method to Str but not sure how
06:31 finanalyst eg. something to encode & < > to xml
06:31 guotr joined #perl6
06:32 finanalyst i want something so that i can do { .xml-encode.say }
06:34 finanalyst rakudo: sub s ( Str $s --> Str) { $s.=subs(/ \& /,'&amp;') }; my $x= 'as&a'; $x.s.say;
06:34 p6eval rakudo e393c7: OUTPUT«Any()␤»
06:35 finanalyst rakudo: sub xml-encode ( Str $s --> Str) { $s.=subs(/ \& /,'&amp;') }; my $x= 'as&a'; $x.xml-encode.say;
06:35 p6eval rakudo e393c7: OUTPUT«Method 'xml-encode' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
06:36 finanalyst sorear: can u help?
06:36 sorear finanalyst: funny that, I proposed that exact feature on perl6-language a week ago
06:36 sorear the ability to augment classes within lexical scopes
06:37 finanalyst i thought you were discussing the issue in relation to other languages
06:37 sorear > my method xml-encode (Str:) { self.subst('&', '&amp;'); }; "as&a".xml-encode.say;
06:37 sorear I was
06:38 sorear But any language feature worth having has many uses
06:38 finanalyst but here the example is purely perl6
06:38 sorear Yes
06:38 sorear It's general that way
06:39 finanalyst it seems such a fairly useful thing that its surprising another syntax is not available
06:39 finanalyst for perl6 that is
06:39 sorear I think it's a fairly useful thing.
06:39 sorear You agree?
06:40 sorear Maybe I should put together a prototype.
06:40 finanalyst what i am trying to do seems to be fairly common
06:41 eternaleye (still backlogging) re strftime, why not make it a grammar with pluggable actions behind the scenes?
06:42 finanalyst being able to hang on new methods to a basic type, like Str, seems useful
06:42 eternaleye And have the actions only fire for the specific rules that match valid sequences, which are short-circuted out by ('%%'||...) matches?
06:44 sorear I thought of that too, but decided not to involve myself in bikeshedding
06:44 finanalyst sorear: also it seems to be common that when extracting data from files - a very common operation - it would be useful to be able to create a filter that can be attached to Str
06:48 eternaleye finanalyst: There is always this: use MONKEY_TYPING; augment class Str { method xml-encode {...}; }
06:49 eternaleye Or even augment role Stringy for maximum generality
06:49 finanalyst eternaleye: thanx
06:50 eternaleye finanalyst: BTW, role Stringi is specced but not implemented IIUC
06:50 eternaleye *Stringy
06:50 finanalyst eternaleye: isnt MONKEY_TYPING considered a BAD thing
06:51 eternaleye finanalyst: Generally, yes; I personally would do it as a sub and do xml-encode(*).say
06:51 eternaleye But you asked for a way to add a method, so...
06:53 finanalyst the reason is that i then need to do for @inputlines { xml-encode($_).split etc etc
06:54 sorear eternaleye: You apparently aren't following p6l.
06:54 REPLeffect joined #perl6
06:54 sorear I proposed a mechanism for adding methods without pollution outside the current lexical scope
06:54 sorear like the .HOW macro, but completely general and user-accessible
06:55 sorear no pollution means no need for MONKEY_TYPING
06:58 finanalyst rakudo: use MONKEY_TYPING; augment class Str { method xml-e {self.=subs('&','&amp;')}}; my Str $x='an&sk'; $x.xml-e.say
06:58 p6eval rakudo e393c7: OUTPUT«Method 'xml-e' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
06:59 finanalyst doesnt work yet anyway
07:11 sorear uhm
07:12 sorear rakudo: use MONKEY_TYPING; augment class Str { method xml-e() {self.=subs('&','&amp;')}}; my Str $x='an&sk'; $x.xml-e.say
07:12 p6eval rakudo e393c7: OUTPUT«Method 'xml-e' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
07:12 moritz_ funnily these things work inside the setting
07:12 moritz_ for Str
07:12 sorear moritz_: Why?
07:12 sorear That was my objection
07:12 moritz_ sorear: dunno
07:12 sorear rakudo: my Str $x = 'an&sk'; $x.s('&', '&amp;').say;
07:12 p6eval rakudo e393c7: OUTPUT«Too many positional parameters passed; got 3 but expected 1␤current instr.: 'perl6;Str;s' pc 481174 (src/gen/core.pir:69982)␤»
07:13 sorear rakudo: my Str $x = 'an&sk'; $x.s.say;
07:13 p6eval rakudo e393c7: OUTPUT«Any()␤»
07:13 moritz_ wtf is Str.s?
07:13 sorear good question
07:56 mituol joined #perl6
08:00 eternaleye sorear: re following p6l, I did read that thread, but I was responding with something that would work as of this moment
08:05 eternaleye Or at least, did work when I last saw it
08:11 REPLeffect joined #perl6
08:15 agentzh joined #perl6
08:19 molaf joined #perl6
08:20 sorear Why isn't 'my' the default for packages, classes, and roles?
08:21 molaf joined #perl6
08:28 moritz_ sorear: I've thought about it a few minutes, and didn't come up with a good answer
08:29 moritz_ maybe it's because methods often expose dependent types
08:30 moritz_ and if you forget to 'is export' those, it will be confusing for the user
08:33 Garen joined #perl6
08:41 eternaleye rakudo: grammar PseudoPrintf { regex escaped-special { '%%' | '\\\\' }; regex backslash-seq { '\\n' }; regex percent-seq { '%d' }; regex other { <-[%\\]>+ }; regex TOP { (<escaped-special>||(<backslash​-seq>|<percent-seq>|<other>))+ }; }; class Actions { has @!pieces; method backslash-seq( $/ ) { make( "\n" ); }; method percent-seq( $/ ) { make ~+@!pieces.shift(); }; method other( $/ ) { make ~$/; }; method escaped-special( $/ ) { make ~$/; };
08:41 eternaleye method TOP( $/ ) { make( [~] $/>>.ast ); }; method new( *@stuff ) { self.bless( :pieces( |@stuff ) ); }; }; my $foo = PseudoPrintf.parse( 'foo\\\\n\\n%%d%da', :actions( Actions.new( '007' ) ) ); say $foo;
08:41 p6eval rakudo e393c7: OUTPUT«regex assertion not terminated by angle bracket at line 11, near "-special>|"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
08:43 eternaleye rakudo: grammar PseudoPrintf { regex escapedspecial { '%%' | '\\\\' }; regex backslashseq { '\\n' }; regex percentseq { '%d' }; regex other { <-[%\\]>+ }; regex TOP { (<escapedspecial>||(<backslas​hseq>|<percentseq>|<other>))+ }; }; class Actions { has @!pieces; method backslashseq( $/ ) { make( "\n" ); }; method percentseq( $/ ) { make ~+@!pieces.shift(); }; method other( $/ ) { make ~$/; }; method escapedspecial( $/ ) { make ~$/; }; method TOP(
08:43 eternaleye $/ ) { make( [~] $/>>.ast ); }; method new( *@stuff ) { self.bless( :pieces( |@stuff ) ); }; }; my $foo = PseudoPrintf.parse( 'foo\\\\n\\n%%d%da', :actions( Actions.new( '007' ) ) ); say $foo;
08:43 p6eval rakudo e393c7: OUTPUT«Malformed parameter at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
08:43 sorear Subs are sigil-less in NQP!?
08:44 eternaleye I think I may have stumbled on a problem with grammars: regexes in them are named by identifiers, which permit hyphens... but subrules expect hyphens to mean character set theory math. Is this an actual problem, or am I mistaken?
08:45 sorear Can you golf an example for me?
08:46 eternaleye Also, I have no clue how to diagnose that last error. I'm trying to make a proof-of-concept for using a grammar for (strftime|sprintf)
08:47 eternaleye rakudo: grammar Foo { regex bar-baz { . }; regex TOP { <bar-baz> }; }; say Foo.match( 'a' );
08:47 p6eval rakudo e393c7: OUTPUT«regex assertion not terminated by angle bracket at line 11, near "-baz> }; }"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
08:48 sorear eternaleye: I recommend newlines, it will make you much saner
08:48 eternaleye sorear: Yeah, probably a good idea
08:48 eternaleye I wrote that in the input widget of my IRC client
08:49 moritz_ eternaleye: it's a problem in nqp-rx
08:49 eternaleye moritz_: Okay
08:49 eternaleye I just wasn't sure if the spec addressed the issue, or if it was purely implementation error
08:51 moritz_ eternaleye: afaict the spec says that if you mean character class composition, you have to start with + or -
08:51 moritz_ eternaleye: so <+ foo - bar> or so
08:51 moritz_ std: /<+ foo - bar>
08:52 p6eval std 30474: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/YCInv8gE0y line 1 (EOF):␤------> [32m/<+ foo - bar>[33m⏏[31m<EOL>[0m␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/YCInv8gE0y line 1
08:52 p6eval ..(EOF):…
08:52 moritz_ std: / <+foo-bar> /
08:52 eternaleye Ah, cool. Thanks
08:52 p6eval std 30474: OUTPUT«ok 00:01 107m␤»
08:52 eternaleye OTOH, shiny bugreports for nqp-rx go where? TT or RT ?
08:53 eternaleye std: grammar Foo { regex bar-baz { . }; regex TOP { <bar-baz> }; }; say Foo.match( 'a' );
08:53 p6eval std 30474: OUTPUT«ok 00:01 108m␤»
08:54 eternaleye std: grammar PseudoPrintf { regex escaped-special { '%%' | '\\\\' }; regex backslash-seq { '\\n' }; regex percent-seq { '%d' }; regex other { <-[%\\]>+ }; regex TOP { (<escaped-special>||(<backslash​-seq>|<percent-seq>|<other>))+ }; }; class Actions { has @!pieces; method backslash-seq( $/ ) { make( "\n" ); }; method percent-seq( $/ ) { make ~+@!pieces.shift(); }; method other( $/ ) { make ~$/; }; method escaped-special( $/ ) { make ~$/; };
08:54 eternaleye method TOP( $/ ) { make( [~] $/>>.ast ); }; method new( *@stuff ) { self.bless( :pieces( |@stuff ) ); }; }; my $foo = PseudoPrintf.parse( 'foo\\\\n\\n%%d%da', :actions( Actions.new( '007' ) ) ); say $foo;
08:54 moritz_ eternaleye: if they manifest in rakudo -> RT
08:54 p6eval std 30474: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse block at /tmp/yb08spaWVm line 1:␤------> [32mnt-seq>|<other>))+ }; }; class Actions {[33m⏏[31m has @!pieces; method backslash-seq( $/ [0m␤Couldn't find final '}'; gave up at /tmp/yb08spaWVm line 1 (EOF):␤------> [32mhod
08:54 p6eval ..escaped-sp…
08:54 eternaleye Hm, LTA error message.
08:55 eternaleye ..Or maybe that's because the indicators are messed
08:55 eternaleye I'll try it locally
09:19 M_o_C joined #perl6
09:26 _jaldhar joined #perl6
09:36 cognominal joined #perl6
10:05 IllvilJa joined #perl6
10:14 sorear What's the best version of Parrot to use for Rakudo?
10:15 sorear If I implement FOREIGN:: in Rakudo, should I add it to the Perl6 spec in conjectural/experimental brackets?
10:18 bbkr joined #perl6
10:25 Garen left #perl6
10:35 moritz_ sorear: currently the 2.3 release
10:35 moritz_ sorear: and yes, feel free to hack the spec
10:36 sorear oh good
10:36 sorear I was wondering if it was supposed to be an lwall-only zone
10:37 * sorear wonders if downgrading the installed Parrot will break anything
10:38 sorear Is there an up to date list anywhere of the spectests alpha passes and master doesn't?
10:40 moritz_ sorear: grep '^#' t/spectest.data # basically
10:41 bbkr how can i rebuild parrot (built with Configure.pl --gen-parrot)? if i do "make clean" and run Configure.pl again it says parrot is already built.
10:42 moritz_ bbkr: rm -rf parrot_install/
10:42 bbkr trying..
10:42 moritz_ bbkr: then perl Configure --gen-parrot
10:42 XaeroOne joined #perl6
10:44 bbkr thanks, it works. and it detected ICU this time :)
10:47 JimmyZ joined #perl6
10:50 moritz_ :-)
10:50 sorear random thought: compiling Parrot with optimizations might make Rakudo builds even faster
10:51 moritz_ sorear: --gen-parrot already does that
10:51 Xaero joined #perl6
10:51 moritz_ uhm, at least it did that last I looked
10:51 sorear moritz_: as a blizkost hacker I need to have Parrot installed globally
10:52 sorear also, I patch parrots
10:52 sorear that would be very awkward to do in rakudo's lab
11:01 REPLeffect joined #perl6
11:23 XaeroOne joined #perl6
11:29 sorear 17m9s real 12m6s user \o/
11:31 pmurias joined #perl6
11:32 _jaldhar joined #perl6
11:42 wknight8111 joined #perl6
11:43 sorear hi
11:43 * moritz_ waves
12:00 sorear Ok, the first exception which is thrown is from Namespace.add_sub
12:00 sorear Namespace.add_sub is called on a P6opaque object
12:00 sorear which is not a sub, so... fail
12:03 sorear the P6opaque object has a class of "Method"
12:04 * moritz_ has blogged: http://perlgeek.de/blog-en/pe​rl-6/you-are-good-enough.html
12:07 sorear so Rakudo is adding a P6opaque Method to Integer named ACCEPTS
12:09 sorear any Rakudo backend experts around?
12:12 sorear oh, interesting
12:12 sorear that "error" occurs even with -e ''
12:12 sorear not my problem
12:15 moritz_ well, every Perl 6 type needs an ACCEPTS methods for smart-matching
12:16 jaffa4 joined #perl6
12:16 sorear Yet... NameSpace throws it out with an exception
12:16 jaffa4 HI
12:16 sorear ~6 of them on each Perl6 start
12:16 jaffa4 what does pugs do with perl6?
12:17 jaffa4 does it interpret it or compiles into something?
12:20 sorear interpret
12:23 moritz_ compile
12:24 moritz_ now you have two contradicting answers. Look in the source to find the truth!
12:24 M_o_C joined #perl6
12:25 moritz_ afk
12:43 jnthn o/ 6folk
12:48 sorear hello
12:48 sorear jnthn: can you tell me if I've broken the build?
13:02 ReiniUrban joined #perl6
13:03 jnthn sorear: of blizkost?
13:03 jnthn sure, moment
13:04 jnthn sorear: immediate FAIL.
13:04 jnthn NMAKE : fatal error U1073: don't know how to make 'src\pmc\p5sv.c'
13:05 sorear rakudo: pir::load_bytecode("perl5")
13:05 sorear er
13:05 p6eval rakudo e393c7: OUTPUT«"load_bytecode" couldn't find file 'perl5'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
13:05 sorear rakudo: pir::load_bytecode("PCT.pbc")
13:05 p6eval rakudo e393c7: OUTPUT«Parent isn't a Class.␤current instr.: 'parrot;P6metaclass;add_parent' pc 224 (runtime/parrot/library/P6object.pir:232)␤»
13:05 sorear we can't use PCT from inside rakudo :/
13:05 sorear jnthn: Huh.
13:06 jnthn sorear: We already do load_bytecode 'P6Regex.pbc'
13:06 jnthn Which pulls in the needed bits, including PCT, afaik.
13:07 sorear Huh?
13:07 k23z__ joined #perl6
13:08 sorear P6Regex is not mentioned anywhere in blizkost
13:08 sorear Removing the load_bytecode "PCT.pbc" line from perl5.pir makes it possible to load Blizkost into Rakudo
13:08 Dunearhp joined #perl6
13:09 sorear at the cost of breaking the test suite
13:09 sorear so I'm very tempted to fix the test suite to not depend on PCT
13:10 jnthn Well, what I'm wondering is if we're attempting to load it twice and the second time explodes.
13:11 sorear stefan@stefans:~/blizkost$ parrot-nqp -e 'pir::load_bytecode("PCT.pbc"); pir::load_bytecode("PCT.pbc")'
13:11 sorear stefan@stefans:~/blizkost$
13:12 sorear the actual point of failure I have traced to the 'onload' sub in compilers/pct/PCT/Grammar.pir
13:12 sorear PGE::Grammar is evaluating to PMCNULL
13:12 jnthn Wait..PGE?!
13:12 sorear yes
13:12 jnthn Ouch. PGE is no longer used by Rakudo.
13:13 sorear PCT::Grammar extends from PGE::Grammar
13:13 jnthn OK, I thought in nqp-rx that became HLL::Grammar
13:14 sorear nqp-rx doesn't define a PCT::Grammar
13:14 sorear Perl6::Grammar extends from HLL::Grammar
13:14 jnthn Right.
13:14 jnthn My point being that I think PCT.pbc may contain the legacy compiler toolchain stuff.
13:14 sorear so, blizkost currently depends on PGE, which has trouble loading into Rakudo
13:14 jnthn Which doesn't mix well with the new stuff.
13:15 sorear Legacy compiler toolchain stuff?
13:15 jnthn PGE was the first grammar engine that was produced. Rakudo alpha used it.
13:15 sorear NQP-rx itself can load PGE fine
13:15 sorear PCT too
13:15 jnthn Then nqp-rx was developed. It doesn't depend on PGE - it's a standalone grammar engine.
13:16 jnthn Thus Rakudo doesn't use PGE these days.
13:16 sorear Why does trying to load PGE into Rakudo blow up, though?
13:16 jnthn No idea.
13:17 jnthn I was more suggesting that maybe you don't need to be loading PGE in Blizkost, and instead could be using the new stuff instead.
13:17 sorear So, in light of the fact that we're actually using PGE, do you think removing that dep is a good idea?  Pretty much all we're using it for is the REPL
13:18 sorear mm, I'll try
13:31 sorear rakudo: pir::load_bytecode("HLL.pbc")
13:31 p6eval rakudo e393c7:  ( no output )
13:32 sorear odd
13:32 sorear HLL uses PCT
13:33 REPLeffect joined #perl6
13:33 sorear oh hmm different components.
13:33 sorear worth a try.
13:35 sorear that was easy.
13:35 sorear I now have Blizkost loaded into Rakudo
13:38 jnthn \o/
13:40 sorear jnthn: can you test the latest patch?
13:42 jnthn sorear: Builds, installs, but almost the whole tests fail.
13:43 sorear Do any of the actual tests fail?
13:43 jnthn "actual tests"?
13:43 sorear Or just end segfaulting?
13:44 jnthn oh, looking closer...
13:44 jnthn I think maybe just end segfaults.
13:45 jnthn Yes, just end segfaults.
13:45 jnthn But much more wide-spread than previously.
13:47 sorear ok, next up: try to implement :from
13:47 jnthn \o/
13:48 pmurias is there a pretty printer for p6?
13:48 sorear yes
13:48 sorear er
13:48 sorear maybe
13:48 jnthn sorear: You'd want to edit src/Perl6/Module/Locator.pm
13:48 sorear I don't think we have an indent
13:48 jnthn arch
13:48 jnthn s/Locator/Loader/
13:49 jnthn Locator you probably don't need.
13:49 jnthn (need to change, that is)
13:49 sorear jnthn: rakudo build time down from 45m to 15m btw
13:49 jnthn :-)
13:49 sorear It occurred to me that building Parrot with -O might help.
13:52 masak joined #perl6
13:52 masak good day, #perl6!
13:52 phenny masak: 00:31Z <JimmyZ> tell masak Is any bug there? http://irclog.perlgeek.de/​perl6/2010-04-24#i_2259960
13:52 * masak looks
13:53 masak no, it looks like I'd expect.
13:53 sorear jnthn: need Foo::Bar; Foo::Bar.new; # I can't find the code that installs Foo::Bar in the lexpad
13:55 jnthn sorear: In the file I pointed you at become.
13:55 jnthn sorear: see stub_lexical_imports
13:55 jnthn And also import
13:55 jnthn (methods)
13:55 jnthn lolitsmaak!
13:57 masak jnthn: lol!
13:57 sorear How do I get adverbs into import?
13:57 masak jnthn: look! I can haz grammars in GGE! http://gist.github.com/378420
13:59 jnthn sorear: Already done
13:59 jnthn sorear: Well
14:00 jnthn They're passed to need
14:00 jnthn I guess you're talking about :from<...> ?
14:00 sorear Just passing them to need isn't good enough.
14:00 sorear Or rather
14:00 sorear I need more than just the name in import
14:00 sorear "CGI" is an ambiguous module name without reference to the source
14:01 sorear and, ideally, I'd get arguments too
14:01 sorear blizkost already has support for get_exports($cgi_loaded_module_handle, ":xhtml")
14:03 jnthn Yeah, we don't handle those tags yet in Rakudo
14:04 jnthn The thing is that use is broken into two parts
14:04 jnthn need and import
14:04 jnthn Which can both be done independently.
14:04 masak jnthn: oh noes! NPW postponed! :(
14:04 jnthn masak: I just read that email. :-(
14:04 masak :(
14:04 hercynium joined #perl6
14:04 jnthn :-(
14:05 jnthn The proposed new date is...curious.
14:05 masak how so?
14:05 jnthn Immediately after YAPC::Europe
14:05 sorear Also, need() doesn't seem to handle lexical module stubbing.
14:05 masak jnthn: oh right.
14:05 jnthn sorear: It shouldn't.
14:05 jnthn need is purely "load this thing"
14:06 jnthn If the module installs things in the global namespace by virtue of being loaded, so be it.
14:06 jnthn import is the thing that actually stubs lexicals etc.
14:07 jnthn sorear: I think what you're running aginst is that as we have it now, a:
14:07 jnthn use Foo:from<perl5>;
14:07 jnthn Calls need with the :from adverb and import without it
14:07 jnthn I suspect we may need to fix that.
14:07 jnthn And maybe fix S11 along with it.
14:07 sorear jnthn: S11:222
14:08 sorear S11:222 specifies that 'need' installs precisely one lexical
14:08 sorear this is what makes need Foo::Bar; Foo::Bar.new  work
14:08 masak hm. I think p6l has just gone from being abstraction austronauts to pinpointing the central 'paradox' of DateTime: it must be in core, but it's too complex to be in core.
14:09 masak that's the problem we've been trying to solve in the past few weeks, by aiming for a have-cake-eat-cake compromise.
14:09 * masak jumps into the fray
14:10 JimmyZ joined #perl6
14:11 masak JimmyZ: thanks for your message. no, I didn't see any bug there.
14:12 sorear As long as Rakudo doesn't actually implement lexical modules, classes, and roles, we can get away with not injecting a lexical in 'need'
14:12 JimmyZ masak: alpha is diferent from rakudo
14:12 JimmyZ masak: which one is right?
14:12 masak JimmyZ: can you be more specific?
14:12 masak please show the difference you're asking about.
14:13 pugssvn r30475 | pmurias++ | [mildew] the perlesque backend produces code for say "Hello World" that
14:13 pugssvn r30475 | parses
14:13 JimmyZ ok
14:14 JimmyZ rakudo: my $b = &time; say &$b;
14:14 p6eval rakudo e393c7: OUTPUT«␤»
14:14 JimmyZ alpha: my $b = &time; say &$b;
14:14 p6eval alpha 30e0ed: OUTPUT«time␤»
14:14 JimmyZ alpha: my $b = &time; say &$b();
14:15 p6eval alpha 30e0ed: OUTPUT«1272203938.46735␤»
14:15 JimmyZ rakudo: my $b = &time; say &$b();
14:15 p6eval rakudo e393c7: OUTPUT«␤»
14:15 takadonet morning all
14:15 masak takadonet: \o
14:15 jnthn sorear: Well, we do implement lexical classes (as of last night).
14:15 masak rakudo: my $b = &time; say $b();
14:15 p6eval rakudo e393c7: OUTPUT«1272203984.27821␤»
14:15 jnthn sorear: But I'd still expected them to be handled in the import
14:15 jnthn Not in need.
14:15 jnthn :/
14:16 takadonet back to  bioperl6 hacking!
14:16 masak yay!
14:16 * jnthn disagrees with a couple other bits on S11 too, though at least those bits are marked conjectural
14:17 masak JimmyZ: viv seems to indicate that alpha was right there.
14:17 masak i.e. that &$b() should be parsed as (&$b).()
14:17 * masak submits rakudobug
14:17 masak JimmyZ++
14:18 JimmyZ rakudo: my $b = &time; say &$b;
14:18 p6eval rakudo e393c7: OUTPUT«␤»
14:18 JimmyZ alpha: my $b = &time; say &$b;
14:18 p6eval alpha 30e0ed: OUTPUT«time␤»
14:18 masak JimmyZ: I can't say anything about that one.
14:18 masak JimmyZ: stringification of subs may well be implementation-dependent.
14:18 JimmyZ alpha: my $b = &time; say $b;
14:18 p6eval alpha 30e0ed: OUTPUT«time␤»
14:18 jnthn rakudo: my &b = &time; say &b;
14:18 JimmyZ rakudo: my $b = &time; say $b;
14:18 p6eval rakudo e393c7: OUTPUT«time␤»
14:18 p6eval rakudo e393c7: OUTPUT«time␤»
14:19 masak oh.
14:19 * masak submits rakudobug
14:19 masak :)
14:19 * jnthn is a tad confused what the &$ combination is doing.
14:19 jnthn As in, what it should do.
14:19 sorear My personal opinion is that class, module, and role should become lexical by default
14:20 sorear then a normal Perl 6 program will often use no namespaces at all
14:20 * diakopter ditto
14:21 JimmyZ masak: for these two examples, alpha is right?
14:21 masak JimmyZ: yeah, I think so.
14:21 jnthn sorear: That has been discussed before.
14:21 diakopter global-by-default is JS style
14:22 jnthn And the decision was that they remain our-scoepd by default.
14:23 sorear When?
14:24 jnthn I forget exactly; maybe search the irclogs
14:27 sorear I get it now.  Import doesn't need adverbs because the module is, fully resolved, already in scope
14:27 sorear (in the lexpad even in most cases)
14:27 jnthn sorear: That would seem to make sense, yes.
14:28 pmichaud good morning, #perl6
14:28 jnthn sorear: I hadn't envisioned import as needing them, anyways.
14:28 jnthn pmichaud: morning
14:30 JimmyZ morning && evening
14:30 pmichaud masak: (backlog)  I thought what I wrote in http://www.perlmonks.org/?node_id=836636 is exactly what you just said.
14:30 pmichaud Am I misreading?
14:31 pmichaud (what you just said -- http://irclog.perlgeek.de/​perl6/2010-04-24#i_2260517 )
14:31 masak pmichaud: no, I think I replied before I read it all, mostly.
14:31 pmichaud okay.
14:31 pmichaud but yes, I agree it's not going to happen, and I agree it really shouldn't happen.
14:32 pmichaud that's what I meant by "although it might be best for Perl 5 today, it might not be best for Perl."
14:32 masak I don't feel quoted out of context or anything. and in the end, it doesn't really matter what I think about a rename. that issue is, and has always been, $Larry's decision.
14:32 sorear good morning pmichaud
14:32 masak (and I'm glad he wants to keep it "Perl 6")
14:35 sorear hmm
14:35 sorear should modules actually go into the lexpad?
14:35 sorear I am thinking not since they are forced to be compile time constants
14:35 jnthn my class Foo { }; # goes in the lexpad
14:35 jnthn our class Foo { }; # doesn't
14:35 sorear they need to be available to 'import' at parse time
14:36 sorear so, instead of the lexpad, they should go into a compiler contextual or something
14:36 jnthn class Foo { }; # same as our
14:37 sorear pmichaud?
14:38 pmichaud ?
14:38 sorear pmichaud: your thoughts on my last five lines
14:38 pmichaud I think both instances probably go into the lexpad
14:40 sorear If modules only go into the lexpad, how will import know what symbols to stub?
14:40 sorear The lexpad isn't available until run time
14:40 pmichaud it puts them into the lexpad as well.
14:40 pmichaud oh, it's available at compile-time.
14:41 sorear How would I do something like that?
14:41 pmichaud what are you thinking of as being "import"?
14:41 pmichaud I'm thinking along the lines of  "use Module;"
14:41 sorear the import keyword as defined in S11
14:41 pmichaud checking
14:41 sorear import Module;
14:42 sorear I'm currently working on use Module :from<perl5>;
14:42 sorear I don't want to install a global alias; that would be horrible name pollution
14:42 sorear which means a lexical alias, which means that the import phase of the use has to operate on a module that exists only in the lexpad
14:43 pmichaud the import keyword is for grabbing symbols from already-loaded-modules
14:43 pmichaud I can't speak to how this might work with Perl 5, we haven't gotten that far yet.
14:43 sorear use Module :from<perl5>;  ===  need Module :from<perl5>;  import Module;
14:43 pmichaud right.  both "need" and "import" are compile-time declarators.
14:44 sorear need Module :from<perl5>;  installs Module in the lexpad as an alias to perl5;Module
14:44 sorear import Module;   finds Module in the lexpad, installs stub symbols, and compiles binding code
14:45 pmichaud I don't understand the problem you're seeing, then.
14:45 sorear The problem is that I have no clue how to implement what I just described.
14:46 pmichaud I agree that we don't have module lexicals completely implemented in Rakudo yet.
14:46 pmichaud what Rakudo does now is more "just make something work" than "the right way to do it"
14:47 * jnthn gotta go - back later
14:47 sorear pmichaud: I was asking how to implement module lexicals, yes
14:48 pmichaud sorear: I don't quite have that answer yet, sorry.
14:48 pmichaud sorear: we have to get nested namespaces working as well.
14:48 pmichaud sorear: and it's also important to remember that the true name of "our class Module { ... }"  isn't "Module".
14:49 sorear the true name is Class[0x12345678]
14:49 pmichaud no, it's something like  Module:auth<...>:ver<...>
14:49 pmichaud what we know as "the longname"
14:50 pmichaud Module is just a shortname shortcut
14:50 pmichaud even with   our class Module { ... }   the "Module" part is just a shortname placed into the lexpad.  (iiuc)
14:51 sorear yes
14:51 pmichaud anyway, Rakudo doesn't do that yet, and I don't think we're close to making that happen.  I don't think it's a requirement for R*.
14:51 * sorear decides to accept the horrid pollution to make his life simpler in the short term
14:51 pmichaud sorear: wfm :-)
14:51 pmichaud sorear: that's what we've resorted to doing in the past.
14:51 sorear lexical module aliases are a bit big for a first project
14:52 pmichaud it's a bit big even for a second project.  :)
14:52 sorear incidentally, once I get this working, what should I do with this?
14:52 sorear github fork?
14:52 sorear ask for a commit bit?
14:52 sorear send a patch?
14:52 pmichaud send a patch seems most likely
14:52 pmichaud commit bit requires a CLA
14:52 jaffa4 the source
14:52 mberends joined #perl6
14:52 frettled UTSL
14:53 sorear oh, I thought those were only a Parrot thing
14:57 * masak signed his CLA when Rakudo was still in the Parrot repo :)
14:57 masak and the process hasn't changed since Rakudo left the nest.
14:58 jaffa4 perl 6 book
14:58 jaffa4 About perl6 book?
14:59 jaffa4 So can I write into in whatever style i want to write?
14:59 masak jaffa4: sorry, could you try a bit harder to make any sense?
14:59 jaffa4 I read that anyone can write into perl 6 book
15:00 jaffa4 that is under construction.
15:00 pmichaud probably need a commit bit
15:00 masak aye.
15:00 pmichaud and someone will likely take whatever doesn't match the overall style of the boot and edit it to match
15:00 jaffa4 I wonder how you avoid that it becomes hybrid book with different styles
15:00 pmichaud jaffa4: that's what editing is for :-)
15:01 masak jaffa4: we're not really at the point where we try to unify styles and such. but yeah... what pmichaud++ said.
15:01 pmichaud as a general rule, it's far easier to edit something that exists than it is to create something anew.  So we'll happily take contributions (even if they don't match our style) and then adjust the style to what we think is best.
15:01 pmichaud if someone doesn't want their contributions being heavily edited, then I recommend not contributing.  :-)
15:02 pmichaud (or, even better, start another book)
15:05 jaffa4 I guess so
15:06 sorear hmm
15:07 sorear even creating a *global* package alias is harder than I thought
15:07 sorear use Foo::Bar :from<perl5>;
15:07 sorear I need to make perl6;Foo;&Bar to catch Foo::Bar.new
15:07 jaffa4 so what do you use for editing?
15:07 sorear I need to make perl6;Foo;Bar to catch $Foo::Bar::x
15:09 masak rakudo: my Str $x = 'an&sk'; $x.s.say;
15:09 p6eval rakudo e393c7: OUTPUT«Any()␤»
15:09 masak alpha: my Str $x = 'an&sk'; $x.s.say;
15:09 p6eval alpha 30e0ed: OUTPUT«Method 's' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤»
15:09 * masak submits rakudobug
15:09 jaffa4 rakudo: :g//;
15:09 sorear rakudo: my %x = :foo<bar baz quux>; say %x<foo>.WHAT;
15:09 sorear rakudo: my %x = :foo<bar>; say %x<foo>.WHAT;
15:09 p6eval rakudo e393c7: OUTPUT«Confused at line 11, near ":g//;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
15:09 p6eval rakudo e393c7: OUTPUT«Seq()␤»
15:09 p6eval rakudo e393c7: OUTPUT«Str()␤»
15:09 masak std: :g//
15:09 p6eval std 30475: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus term at /tmp/DPXJBh6nds line 1 (EOF):␤------> [32m:g//[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 110m␤»
15:10 jaffa4 rakudo: m:g//;
15:10 p6eval rakudo e393c7: OUTPUT«Confused at line 11, near "m:g//;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
15:10 jaffa4 rstd: m:g//;
15:10 jaffa4 std: m:g//;
15:10 p6eval std 30475: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/SkM64pwWEW line 1:␤------> [32mm:g/[33m⏏[31m/;[0m␤Null pattern not allowed at /tmp/SkM64pwWEW line 1:␤------> [32mm:g/[33m⏏[31m/;[0m␤Null pattern not allowed at /tmp/SkM64pwWEW line 1:␤------>
15:10 p6eval ..[32mm:g/[33m⏏[…
15:10 masak jaffa4: adverbs on m// and s/// are not implemented in Rakudo yet.
15:10 masak jaffa4: patches are, as usual, welcome.
15:11 colomon
15:11 colomon
15:11 colomon loliblogged: http://justrakudoit.wordpress.c​om/2010/04/25/church-numerals/
15:11 sorear :foo<a>  - this is a Str value
15:11 frettled uhoho!
15:11 sorear :foo<a b>    - this is a Seq value
15:11 masak sorear: yes.
15:11 sorear how do I treat them the same in idiomatic perl 6?
15:12 sorear my $fst = ...
15:12 sorear my $snd = ... // ...;
15:13 masak colomon++ # lambda goodness
15:13 jaffa4 std: m:g/u/;
15:13 p6eval std 30475: OUTPUT«ok 00:01 107m␤»
15:17 masak sorear: not sure I understand the question. are you a Perl 6 application programmer when you ask that?
15:17 sorear rakudo: say <a>.WHAT;
15:17 p6eval rakudo e393c7: OUTPUT«Str()␤»
15:17 masak and what does 'treat them the same' mean here?
15:17 sorear masak: library programmer
15:17 sorear I want to write a function which will work for both <x> and <x y>
15:17 masak sorear: probably loop over $a.list
15:17 masak or @$a
15:17 sorear even though Str and Seq have so little in common
15:18 masak that oughta cover you.
15:18 sorear rakudo: my $a = <x>; say @$a[0]
15:18 p6eval rakudo e393c7: OUTPUT«Confused at line 11, near "say @$a[0]"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
15:18 sorear rakudo: my $a = <x>; say (@$a)[0]; say (@$a)[1] // "foo";
15:18 p6eval rakudo e393c7: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
15:19 sorear rakudo: my $a = <x>; say $a.list[0]; say $a.list[1] // "foo";
15:19 p6eval rakudo e393c7: OUTPUT«x␤foo␤»
15:19 sorear rakudo: my $a = <y z>; say $a.list[0]; say $a.list[1] // "foo";
15:19 p6eval rakudo e393c7: OUTPUT«y␤z␤»
15:19 sorear excellent.
15:20 masak \o/
15:20 sorear rakudo: my ($a, $b) = <y z>; say $a; say $b;
15:20 p6eval rakudo e393c7: OUTPUT«y␤z␤»
15:20 sorear rakudo: my ($a, $b) = <y>; say $a; say $b;
15:20 p6eval rakudo e393c7: OUTPUT«y␤»
15:21 sorear rakudo: my ($a, $b) = <y z w>; say $a; say $b;
15:21 p6eval rakudo e393c7: OUTPUT«y␤z␤»
15:23 _buno_ joined #perl6
15:25 dual joined #perl6
15:26 masak colomon: you're an unwitting victim of http://rt.perl.org/rt3/Tic​ket/Display.html?id=73034
15:26 masak colomon: this works: http://gist.github.com/378479
15:27 JimmyZ rakudo: say &time - 1;
15:27 p6eval rakudo e393c7: OUTPUT«Method 'Num' not found for invocant of class 'Perl6Sub'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
15:27 JimmyZ alpha: say &time - 1;
15:27 p6eval alpha 30e0ed: OUTPUT«get_number() not implemented in class 'Sub'␤in Main (file <unknown>, line <unknown>)␤»
15:27 JimmyZ wow, new error info.
15:27 masak JimmyZ: in Perl 6 '&time' means "the sub (object) '&time'"
15:28 masak JimmyZ: it's not a call to the sub; for that you need .()
15:28 takadonet stupid RT: http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=74078  You block me again!
15:28 JimmyZ masak: I see, I just want to know whether the error message is right or not.
15:29 masak new error makes quite good sense to me.
15:29 masak you're trying to numify a sub.
15:29 masak it doesn't have a .Num method, because numifying a sub doesn't make much sense.
15:30 JimmyZ masak: as you saw, yestersay it was the same error message.
15:31 JimmyZ rakudo: say &time.() - 1;
15:31 p6eval rakudo e393c7: OUTPUT«1272208510.27513␤»
15:31 JimmyZ rakudo: say &time() - 1;
15:31 p6eval rakudo e393c7: OUTPUT«1272208522.5523␤»
15:32 masak JimmyZ: somehow I get the feeling from the past few days that you're really eager to do something which involves the time function. :)
15:33 JimmyZ masak: Nope, I just act as a Perl 6 user, and write some code to find some bugs
15:33 masak JimmyZ++
15:34 masak I find it's easiest to act a Perl 6 user by writing Perl 6 code to some ultimate end, though.
15:34 takadonet rakudo: role work { method x {say 'hello'}}; class me does work {}; me.new.x();
15:34 p6eval rakudo e393c7: OUTPUT«Could not find sub &say␤current instr.: 'perl6;work[];x' pc 574 (EVAL_1:222)␤»
15:34 takadonet Is there a work around that?
15:34 takadonet It's already reported as a bug
15:35 JimmyZ masak: what I think is that non-normal code is easy to find some bug.
15:35 masak takadonet: 'fraid the workaround is not to use roles... :(
15:35 JimmyZ err, bugs
15:35 masak JimmyZ: yes, that's true too.
15:35 JimmyZ masak: so I like write these non-normal code.
15:35 masak thinking laterally might lead to new finds.
15:35 takadonet masak: not the answer I was looking for :(
15:36 masak takadonet: I understand that. let me know if you find a better answer. :/
15:37 JimmyZ good night && good afternoom to masak I think. good now to all.
15:37 takadonet JimmyZ: good night
15:37 masak rakudo: our &s = &say; role A { method foo { &s("OH HAI") } }; class B does A {}; B.new.foo
15:37 p6eval rakudo e393c7: OUTPUT«OH HAI␤»
15:37 masak takadonet: that seems to work.
15:37 takadonet !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15:38 takadonet masak: thanks!
15:38 masak I aim to please :)
15:38 takadonet I can undo 3 hacks in my code now!
15:38 * masak adds that to the ticket
15:38 takadonet MUHAHAH
15:40 bbkr joined #perl6
15:50 masak rakudo: grammar G { regex TOP { <foo> a }; regex foo { a* } }; say ?G.parse("aaa")
15:50 p6eval rakudo e393c7: OUTPUT«0␤»
15:50 masak alpha: grammar G { regex TOP { <foo> a }; regex foo { a* } }; say ?G.parse("aaa")
15:50 p6eval alpha 30e0ed:  ( no output )
15:50 masak locally, alpha gives me '1', which is the correct answer.
15:51 * moritz_ agrees
15:52 masak there's https://rt.perl.org/rt3/Ti​cket/Display.html?id=73608 in RT already.
15:52 masak this one is clearly related; is it identical, or should I submit a new one for this one?
15:52 masak capturing parens and subrules are related but not identical.
15:53 masak (and given that the former doesn't work, I'm not surprised that the latter doesn't, either)
15:54 masak though I *am* surprised that the Perl 6 grammar in Rakudo doesn't suffer more from these bugs.
15:54 moritz_ colomon: in your last blog post, "Church Numerals" is a link to your RSS feed - is that by intention?
15:54 moritz_ masak: it mostly uses tokens anyway
15:54 masak right. not much backtracking going on in the first place.
16:02 mberends sport the mistake in the "countdown until 4.6 M1" timer 3 minutes ago on http://site.icu-project.org/ : 1398 hours : 60 minutes : 23 seconds
16:03 diakopter sport?
16:03 masak '60 minutes'?
16:03 mberends gah, spot!
16:03 mberends masak++ wins the prize!
16:03 mberends "leap hours" ?
16:04 moritz_ leap minutes
16:04 masak well, it's a duration, so I guess '60 minutes' is not strictly wrong. that's not to say it's not odd. :)
16:05 Spreadsheet_ joined #perl6
16:06 Spreadsheet_ Has anyone been working on an interactive Perl 6 interpreter (similar to the one I suggested)?
16:07 masak you mean since you asked last time? :)
16:07 masak or at all?
16:07 Spreadsheet_ Since I asked last time
16:07 Spreadsheet_ Hi masak
16:08 masak hi
16:08 masak no. that was like, a few days ago. :)
16:08 masak if you're so eager to see it happen, you should try writing it yourself... :)
16:09 Spreadsheet_ ok
16:09 jaffa4 masak's first rule: do it yourself.
16:10 masak Spreadsheet_: but if you're interested in what exists today, do check out Pugs and Rakudo. they both have REPLs.
16:10 moritz_ rakudo has more of a REL
16:11 * masak read that as 'FAIL' :P
16:12 masak interesting question for when Rakudo gets the 'P' in 'REPL': should it print the .Str of the result, or the .perl?
16:12 diakopter perlesque has more of a RE, where E stands for Error
16:12 pmurias ;)
16:12 moritz_ masak: .perl is usually more interesting
16:12 masak Yapsi has a local branch on my laptop called 'repl' :)
16:12 moritz_ masak: and iirc that's what pugs does, too
16:13 masak ok.
16:13 masak dancing class &
16:14 rv2733 joined #perl6
16:17 diakopter TimToady: does a while () { } loop  retain the inner scope across iterations (preserving contextual assignments) or does it reinitialize/revert them at the end of each iteration?
16:17 Spreadsheet_ You could find out
16:17 TiMBuS joined #perl6
16:18 diakopter Spreadsheet_: what?
16:19 lisppaste3 Spreadsheet_ pasted "while loop" at http://paste.lisp.org/display/98318
16:19 Spreadsheet_ You could try something like that
16:20 moritz_ that's not contextuals
16:20 Spreadsheet_ How come we're using paste.lisp.org as the nopaste, but it doesn't have Perl highlighting? :S
16:20 iblechbot joined #perl6
16:20 Spreadsheet_ What's contextual?
16:20 moritz_ see S02 (iirc)
16:20 moritz_ because nearly nothing does really good Perl 6 hilighting
16:22 Spreadsheet_ Is that because Perl is hard to parse?
16:22 diakopter S04 talks about contextuals
16:22 diakopter (not really S02)
16:22 moritz_ Spreadsheet_: yes
16:23 moritz_ diakopter++
16:23 diakopter er.
16:23 diakopter diakotper--
16:24 diakopter S04 talks about dynamic scoping for contextuals
16:24 diakopter but doesn't mention "contextual"
16:24 diakopter sigh.
16:26 diakopter but I can't find them in S02 anymore, though they were once there.
16:26 Spreadsheet_ AhH!
16:26 Spreadsheet_ I am in FF and try Ctrl-F for "contextual". It freezes when I get to context
16:27 diakopter it's not frozen; it's just slow
16:27 diakopter b/c it's so big
16:28 nihiliad joined #perl6
16:30 xinming joined #perl6
16:31 diakopter weird. they used to be mentioned much more in S02 moritz_++
16:33 moritz_ no, because of the hidden text and javascript fu
16:40 colomon phenny: tell masak Good catch!
16:40 phenny colomon: I'll pass that on when masak is around.
16:49 jonrafkind joined #perl6
16:49 molaf joined #perl6
17:03 * jnthn back for a bit
17:05 colomon o/
17:11 pmichaud "contextual" is probably a fossil... iirc they're now called "dynamic variables"
17:11 * diakopter behind the times
17:11 Spreadsheet_ hmm
17:11 patrickas joined #perl6
17:11 Spreadsheet_ ok
17:11 pmichaud $*foo       dynamically overridable global variable
17:12 pmichaud see also S02:2507
17:12 pmichaud and S02:2541
17:13 patrickas hello guys, is there some sort of (semi) official bug tracker for rakudo ?
17:13 pmichaud patrickas: rt.perl.org
17:13 patrickas thanks pmichaud
17:13 pmichaud patrickas: to submit bugs, it's  rakudobug@perl.org
17:13 Spreadsheet_ Does perl have "docstrings" like Python?
17:13 pmichaud see the Rakudo README
17:13 pmichaud Spreadsheet_: yes, it's called POD.  :-)
17:13 Spreadsheet_ I knew it
17:14 patrickas pmichaud no nothing to submit, just thought i'd waste time reading bug reports :-)
17:14 Spreadsheet_ So can I bring up something like a man page for variables?
17:14 pmichaud Spreadsheet_: we don't have it implemented yet, but S26 is working towards figuring out how that might work
17:14 Spreadsheet_ In Python you can do help("string") and it would give you the documentation for strings
17:15 pmichaud see especially the sections about '#=' markers.
17:15 moritz_ heh, all those comments on github commits suddenly :-)
17:15 Juerd Spreadsheet_: Unfortunately they do this instead of providing normal manpages.
17:15 moritz_ maybe that's because I linked to some commits in my last blog post
17:16 patrickas moritz_ no doubt about that ....
17:16 colomon moritz_++
17:16 jnthn moritz_: I noticed that. It's a good idea in that people can see, "oh, it's not actually scary at all" :-)
17:17 colomon what an awesome post!
17:17 moritz_ I have an idea to attract some more contributors
17:17 moritz_ a series of articles 'this week's contribution to Perl 6'
17:17 moritz_ where at the start of week we present some kind of simplish change
17:17 moritz_ like, documentetion $function in place $x
17:17 moritz_ or implement $small_feature
17:18 moritz_ or fix LHF $bug
17:18 moritz_ and post that onto a blog, perlmonks etc
17:18 moritz_ and guide people in the right direction
17:18 patrickas moritz_ I am not sure about how easilly it can be done but maybe a list of things that need anyone to spend some time workingon
17:18 Spreadsheet_ S26 hasn't been updated since 2007!
17:18 Spreadsheet_ :o
17:18 bradb joined #perl6
17:19 moritz_ patrickas: something along these lines... but lists are hard to come up with, and have the problem of forcing people to chose something
17:19 pmichaud Spreadsheet_: you're looking at an outdated copy of S26 then
17:19 moritz_ so it should be tasks that we basically know how to do
17:19 pmichaud Spreadsheet_: http://svn.pugscode.org/pugs/docs​/Perl6/Spec/S26-documentation.pod
17:19 Spreadsheet_ http://perlcabal.org/syn/S26.html ?
17:19 pmichaud afk, fetching lunch
17:19 moritz_ so that we can actually guide people
17:19 Spreadsheet_ oh ok
17:19 moritz_ Spreadsheet_: the .html isn't updated because we have no tool yet for parsing the new S26
17:19 patrickas yea i know ... actually that's why I am here asking about the bug tracker ... I was hoping to find a list of "aproachable" bugs if such things can be found before the fact
17:20 Spreadsheet_ There's nothing to convert perl 6 POD -> HTML?
17:20 moritz_ patrickas: some of the tickets might have an LHF (for low-hanging fruit) in the subject
17:20 moritz_ patrickas: those might be good to look at
17:20 moritz_ Spreadsheet_: correct
17:20 diakopter o_O  http://perlcabal.org/svn/pugs/revision/?rev=30461
17:20 Spreadsheet_ Is POD hard to parse, like Perl?
17:20 patrickas I guess that's exactly what's needed!
17:21 Juerd Spreadsheet_: No, parsing POD is much easier.
17:21 moritz_ Juerd: don't say that
17:21 moritz_ Juerd: the newest S26 requires a full Perl 6 parser
17:21 moritz_ (iirc)
17:21 Juerd moritz_: If that's true then that's just insane.
17:21 moritz_ though you can go a long way without one
17:22 Juerd Not having to parse Perl is one of the great things about POD.
17:22 moritz_ Juerd: has that ever stopped Damian from doing something? :-)
17:22 Juerd moritz_: I meant the bad kind of insane
17:23 diakopter Juerd: yes, well, it is.
17:24 diakopter according to S01, S26 is still quite (relatively) speculative
17:24 moritz_ and it surely is
17:25 diakopter .. and ISTR Damian sending a message to p6l "handing over" the S26 spec to the mailing list/community, in a "here, you take it" kind of way.... maybe I misread it, though.
17:25 moritz_ diakopter: nope, you're right
17:26 diakopter therefore, no one should feel blocked on making alternative/drastic suggestions/changes themselves, imho.
17:26 diakopter (to p6l, probably)
17:26 moritz_ anyway, the "This week's contribution to Perl 6" is something I'd like to do together with others, just like the Perl 6 advent calendar
17:26 moritz_ any takers?
17:27 diakopter sure
17:28 colomon moritz_: My time is going to be pretty limited for the next few weeks, but I take it you're thinking of something longer term than that?
17:29 moritz_ colomon: yes... maybe start in a week, and then every taker can come up with a challenge for one week, and everybody helps the new contributors
17:29 colomon that sounds awesome.  count me in.
17:30 moritz_ count is up to three, then :-)
17:30 slavik s26 is documentation though
17:32 slavik where can I read about exceptions in Perl?
17:32 slavik Perl6*
17:33 moritz_ slavik: S04
17:33 slavik ty
17:33 M_o_C joined #perl6
17:35 wormphlegm joined #perl6
17:35 slavik hmm, it's an interesting twist on java's try/catch
17:36 slavik moritz_: are exceptions in Perl6 "expensive"?
17:36 moritz_ slavik: I hope not
17:37 slavik afaik, in java/c++ they are
17:37 molaf_ joined #perl6
17:37 slavik looks like Perl6 moves the catch inside the code that can throw an exception. java appears to make the catch global for a bunc of code
17:37 slavik am I understanding this right??
17:38 moritz_ slavik: yes. Having the CATCH inside the try has the advantage of having all the interesting variables still in scope
17:38 moritz_ and thus enablling better error messages without need for making the scope larger
17:41 diakopter moritz_: will this be published on your blog?
17:41 pugssvn r30476 | moritz++ | directory [helpnow] for "This week's contribution to Perl 6"
17:41 moritz_ diakopter: I'm not yet sure what the best way of distributing is
17:41 slavik the other question I had, is it possible for a Perl6 function to know the scope it is invoked in?
17:42 moritz_ slavik: via callframe(), yes
17:42 slavik moritz_: any such thing in Perl5?
17:42 moritz_ diakopter: if people want to see it on my blog, I'll blog it. If people want it on a more publicly writable medium, I'm fine with that too
17:42 moritz_ slavik: caller()
17:43 moritz_ though caller() doesn't quite have scope resolution
17:43 moritz_ there's also $OUTER:: and $CALLER:: in Perl 6
17:43 slavik I see, what S is it in?
17:43 moritz_ S02 mostly
17:44 slavik and lastly (I know this is probably a bad question). How would I do a lazy list generator so that I could do: $blah <= myfunc(); for =$blah -> $i { say $i; }
17:44 moritz_ CALLER is also in S06 and a bit S04
17:44 moritz_ slavik: for myfunc() -> $i { say $I }
17:44 slavik moritz_: I mean inside the function, how would I write it ...
17:45 slavik if I have a @list or something that generates a list
17:45 slavik python has a special keyword for such returns
17:45 moritz_ sub myfunct { gather { while True { take $thing } } }
17:45 moritz_ is one possiblity
17:45 moritz_ or you can map $somefunction, 1..*
17:46 slavik I am kinda lost ... which one is the magic, the take or the gather?
17:46 moritz_ slavik: both :-)
17:46 slavik err
17:46 jnthn slavik: You use them together.
17:46 slavik jnthn: ok ...
17:46 diakopter moritz_: I was thinking we draft them in svn, then you push to your blog
17:46 moritz_ slavik: take() goes outwards dynamically until it finds a take()
17:46 slavik err?
17:46 moritz_ erm, a gather block
17:46 moritz_ sorry
17:46 jnthn *until it finds a gather
17:46 slavik ahh
17:46 jnthn :-)
17:47 slavik oh, I think I get it
17:47 moritz_ and the return value of gather { ... } is a lazy list
17:47 slavik so gather, gathers all values return to it by the appropriate take?
17:47 moritz_ so my @a =  gather { ...; take $x }; is somethiing like my @a; ... @a.push($x) but lazily
17:47 moritz_ slavik: yes
17:48 slavik gotcha
17:48 slavik also, the <= is still lazy assignment, rihgt?
17:48 slavik right*
17:49 slavik also, inside the function, the $x is automatically static or does it have to be explicitly so?
17:49 colomon take automatically extends the life of $x.
17:49 slavik so take "turns" the $x into static?
17:49 slavik kewl
17:50 slavik I remembered, the python version is "yield"
17:50 moritz_ diakopter: re draft in svn, wfm
17:50 jnthn slavik: I think you're thinking of <== (pipe operators)
17:50 moritz_ slavik: take() is kind of like yield(), but it's dynamically scoped
17:51 moritz_ so gather { foo() }; sub foo { take 3 }; works
17:51 slavik moritz_: only reason I brought up <== is that it was the one I remember about being a lazy assignment
17:51 colomon slavik: you actually have to be careful with that.  if you say something like @a = gather { loop my $x = 0; $x < 5; $x++) { take $x; } } what you will get back is an array with five references to the same $x variable.
17:52 colomon rakudo
17:52 colomon rakudo: my @a = gather { loop my $x = 0; $x < 5; $x++) { take $x; } }; say @a.perl
17:52 p6eval rakudo e393c7: OUTPUT«Missing block at line 11, near "my $x = 0;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:53 colomon rakudo: my @a = gather { loop (my $x = 0; $x < 5; $x++) { take $x; } }; say @a.perl
17:53 p6eval rakudo e393c7: OUTPUT«[5, 5, 5, 5, 5]␤»
17:53 colomon rakudo: my @a = gather { loop (my $x = 0; $x < 5; $x++) { my $y = $x; take $y; } }; say @a.perl
17:53 p6eval rakudo e393c7: OUTPUT«[0, 1, 2, 3, 4]␤»
17:53 slavik that's weird
17:54 colomon rakudo: my @a = gather { loop (my $x = 0; $x < 5; $x++) { take $x; } }; say @a.perl; @a>>++; say @perl;
17:54 p6eval rakudo e393c7: OUTPUT«Symbol '@perl' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
17:54 colomon rakudo: my @a = gather { loop (my $x = 0; $x < 5; $x++) { take $x; } }; say @a.perl; @a>>++; say @a.perl;
17:54 slavik @a>>++  ???
17:54 p6eval rakudo e393c7: OUTPUT«[5, 5, 5, 5, 5]␤[6, 6, 6, 6, 6]␤»
17:54 Pat__ joined #perl6
17:54 slavik increment everything?
17:55 colomon increment every element, yes.
17:55 slavik that should work though, right?
17:55 slavik my @a = gather { loop (my $x = 0; $x < 5; $x++) { take $x; } };
17:55 slavik that
17:55 slavik it should do 0..4, no?
17:55 colomon no, it should do 5, 5, 5, 5, 5
17:55 colomon it's returning the variable $x, and there's only one of those.
17:55 slavik so take returns the ref and not the value?
17:55 slavik right
17:56 Pat__ is undef gone from perl6 ?
17:56 jnthn Just the same as the parameters when you make a call, fwiw.
17:56 slavik is there a way to tell it to return the value without assigning it to a new var? (I am guessing it gets created).
17:56 jnthn Pat__: Yes.
17:57 slavik rakudo: my @a = gather { my $x=2; loop (1..5) { take $x*$x; } }; say @a.perl;
17:57 p6eval rakudo e393c7: OUTPUT«Missing block at line 11, near "(1..5) { t"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:57 jnthn for 1..5 ...
17:57 slavik rakudo: my @a = gather { my $x=2; loop (1..5) { $x*=$x; take $x; } }; say @a.perl;
17:57 p6eval rakudo e393c7: OUTPUT«Missing block at line 11, near "(1..5) { $"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:57 slavik rakudo: my @a = gather { my $x=2; loop 1..5 ... { $x*=$x; take $x; } }; say @a.perl;
17:57 slavik ?
17:57 p6eval rakudo e393c7: OUTPUT«Missing block at line 11, near "1..5 ... {"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:57 jnthn no no, use for.
17:58 jnthn Not loop
17:58 colomon loop 1..5 is wrong.
17:58 patrickas rakudo: say (1, Nil, 2, 3).grep(*.defined).perl
17:58 p6eval rakudo e393c7: OUTPUT«(1, 2, 3)␤»
17:58 slavik rakudo: my @a = gather { my $x=2; for 1..5 { $x*=$x; take $x; } }; say @a.perl;
17:58 patrickas I guess ticket 68714 should be closed then ?
17:58 p6eval rakudo e393c7: OUTPUT«[4294967296, 4294967296, 4294967296, 4294967296, 4294967296]␤»
17:58 slavik what's the diff between loop and for?
17:58 colomon rakudo: my @a = gather { my $x=2; for 1..5 { $x*=$x; take $x; } }; say @a.perl;
17:58 p6eval rakudo e393c7: OUTPUT«[4294967296, 4294967296, 4294967296, 4294967296, 4294967296]␤»
17:58 colomon slavik: loop is C-style for loop (or endless loop)
17:59 colomon for takes a list and applies each element of the list to the block.
17:59 colomon rakudo: my @a = gather { my $x=2; for 1..5 { take $x *= $x; } }; say @a.perl;
17:59 p6eval rakudo e393c7: OUTPUT«[4294967296, 4294967296, 4294967296, 4294967296, 4294967296]␤»
18:00 slavik I see
18:00 colomon rakudo: my @a = gather { my $x=2; for 1..5 { take $x * $x; $x *= $x } }; say @a.perl;
18:00 p6eval rakudo e393c7: OUTPUT«[4, 16, 256, 65536, 4294967296]␤»
18:00 colomon rakudo: my @a = gather { my $x=2; for 1..5 { take $_; take $x * $x; $x *= $x } }; say @a.perl;
18:00 p6eval rakudo e393c7: OUTPUT«[1, 4, 2, 16, 3, 256, 4, 65536, 5, 4294967296]␤»
18:01 slavik ha, neat :)
18:01 diakopter heh
18:01 slavik kinda messed up though
18:01 slavik that it takes the var and not the value
18:01 slavik because you end up doing $x * $x twice
18:02 slavik akudo: my @a = gather { my $x=2; for 1..5 { $x *= $x; take $x; } }; say @a.perl;
18:02 colomon rakudo: my @a = gather { my $x=2; for 1..5 { take $_; my $y = $x *= $x; take $y } }; say @a.perl;
18:02 p6eval rakudo e393c7: OUTPUT«[1, 4, 2, 16, 3, 256, 4, 65536, 5, 4294967296]␤»
18:02 slavik rakudo: my @a = gather { my $x=2; for 1..5 { $x *= $x; take $x; } }; say @a.perl;
18:02 p6eval rakudo e393c7: OUTPUT«[4294967296, 4294967296, 4294967296, 4294967296, 4294967296]␤»
18:03 slavik so it modifies $x in place ...
18:03 slavik rakudo: my @a <== gather { my $x=2; for 1..5 { $x *= $x; take $x; } }; say @a.perl;
18:03 p6eval rakudo e393c7: OUTPUT«[Bool::True]␤»
18:03 slavik rakudo: my @a <== gather { my $x=2; for 1..5 { $x *= $x; take $x; } }; say @a;
18:03 p6eval rakudo e393c7: OUTPUT«1␤»
18:03 slavik rakudo: my @a <= gather { my $x=2; for 1..5 { $x *= $x; take $x; } }; say @a;
18:03 p6eval rakudo e393c7: OUTPUT«␤»
18:03 colomon rakudo: say [\**] 2 xx 5
18:04 p6eval rakudo e393c7: OUTPUT«241665536Inf␤»
18:04 colomon Inf?!
18:04 slavik lol
18:04 colomon rakudo: say ([\**] 2 xx 5).perl
18:04 p6eval rakudo e393c7: OUTPUT«(2, 4, 16, 65536, Inf)␤»
18:04 colomon rakudo: say ([\**] 2.Num xx 5).perl
18:04 slavik colomon: list comprehension?
18:04 p6eval rakudo e393c7: OUTPUT«(2, 4, 16, 65536, Inf)␤»
18:04 slavik or folding rather
18:04 colomon yes, folding.
18:05 slavik folding is cool :)
18:05 slavik never quite got it though
18:05 slavik no wait ...
18:05 slavik I do get it :)
18:05 slavik rakudo: say ([+] 2.Num xx 5).perl
18:05 p6eval rakudo e393c7: OUTPUT«10␤»
18:05 diakopter rakudo: say ([\**] 2.1.Num xx 4).perl
18:05 slavik w00t
18:05 p6eval rakudo e393c7: OUTPUT«(2.1, 4.74963809174224, 33.9175939121054, 84899120142.8172)␤»
18:05 slavik 2.0?
18:06 slavik rakudo: say ([\**] 2.0.Num xx 5.Num).perl
18:06 p6eval rakudo e393c7: OUTPUT«(2, 4, 16, 65536, Inf)␤»
18:06 slavik why the backslash in square brackets though?
18:06 colomon backslash means return all the intermediate values.
18:07 colomon leave it off and you will only get the last value on the list.
18:07 slavik ahh
18:07 slavik kewl
18:09 moritz_ supper &
18:18 colomon rakudo: say [\**] 2, 2, 2, 2, 2
18:18 p6eval rakudo e393c7: OUTPUT«241665536Inf␤»
18:18 colomon say 65536 ** 2
18:19 diakopter you don't say
18:19 colomon oh, I see.
18:19 diakopter oh, say, can you see, now?
18:19 colomon rakudo: say 66536 ** 2
18:19 p6eval rakudo e393c7: OUTPUT«4427039296␤»
18:20 colomon rakudo: say 2 ** 66536
18:20 p6eval rakudo e393c7: OUTPUT«Inf␤»
18:20 diakopter ba-dum-ching
18:20 colomon where are bignums when you need them?
18:20 colomon rakudo: say [\R**] 2, 2, 2, 2, 2
18:21 p6eval rakudo e393c7: OUTPUT«241625665536␤»
18:21 colomon rakudo: say ([\R**] 2, 2, 2, 2, 2).perl
18:21 p6eval rakudo e393c7: OUTPUT«(2, 4, 16, 256, 65536)␤»
18:21 colomon rakudo: say ([\R**] 2 xx 6).perl
18:22 p6eval rakudo e393c7: OUTPUT«(2, 4, 16, 256, 65536, 4294967296)␤»
18:22 colomon rakudo++
18:22 lichtkind joined #perl6
18:24 * jnthn -> nom
18:24 diakopter perlesque: my $a = BigInteger.Create("2"); say($a.Power(66536))  # colomon
18:25 p6eval perlesque:
18:25 p6eval ..OUTPUT«2146799565186239151529467872794964950558​9454052777453577396794701100299905393775666379499​9459214265101813751968798089292812508524833946676​6265981389250207766092131757259327522655824651856​2629163747266274230332632996165712135904875455368​5526486203204012942265791813633360212602562707…
18:25 colomon perlesque++
18:25 colomon afk
18:26 diakopter perlesque: my $a = BigInteger.Create("2"); say((($a.Power(66536)).ToString()).Length)  # colomon
18:26 p6eval perlesque: OUTPUT«20030␤»
18:26 diakopter that's a 20,030-digit integer
18:27 diakopter perlesquel: .
18:27 p6eval perlesquel: OUTPUT«20030␤real 0.28␤user 0.26␤sys 0.00␤»
18:27 diakopter perlesquel: .
18:27 p6eval perlesquel: OUTPUT«20030␤real 0.28␤user 0.25␤sys 0.00␤»
18:28 diakopter oh yeah, I forgot I got general CLR fields & properties working
18:28 diakopter jnthn: ^^
18:32 diakopter perlesque: my $a = BigInteger.Create("2"); say((($a.Power(166536)).ToString()).Length)
18:33 p6eval perlesque: OUTPUT«50133␤»
18:33 diakopter perlesquel: .
18:33 p6eval perlesquel: OUTPUT«50133␤real 2.11␤user 1.96␤sys 0.02␤»
18:33 diakopter 50,133 digits is a lot of digits.
18:34 * diakopter wonders what the CIL for that looks like
18:36 diakopter frame = ((_IClosure_1) this.l1).Bind(this, this.l2.Power(0x28a88).ToString().Length);
18:38 diakopter (_IClosure_1 is the "say" sub)
18:40 nihiliad joined #perl6
18:41 patrickas joined #perl6
18:43 isBEKaml joined #perl6
18:43 takadonet patrickas: welcome back!
18:47 patrickas :-)
18:50 patrickas while browsing rt.perl.org I found a couple of rakudo bugs that I think can be closed since they seem to be fixed int the latest rakudo ... what my best course of action to be most helpful and least intrusive?
18:52 takadonet patrickas: I believe the reason they are not closed since we want to make tests to ensure we do not create the same bugs in the future
18:53 patrickas oh ok ... so i suppose my next step shoul dbe to learn how to create tests for these bugs
18:54 takadonet patrickas: Indeed which I don't know how :(
18:54 takadonet patrickas: Someone that knows will be on shortly. Normally within a few minutes
18:55 patrickas heheh seems like a case of the blind leading the blind :-) well as long as we end up somewhere interesting :-)
18:55 ruoso joined #perl6
18:55 takadonet patrickas: Well I don't have any commit bit or know where to send patches to for the spec
19:00 colomon diakopter: I should have realized that.  2 ** $n is going to have about $n / 2.5 digits, at a quick approximation...
19:01 takadonet patrickas: Here is the url for the spec tests: http://svn.pugscode.org/pugs/t/spec/
19:01 spinclad 2 ** 10n is about 10 ** 3n
19:02 diakopter 2 ** 655360 timed out :)
19:02 CokeBot9000 what's the current state of rakudo on parrot trunk? should I be trying this on a branch?
19:02 slavik yeah, I've been waiting for rakudo bignum for a long time :P
19:03 diakopter oh heh; colomon's "66536" error propagated quite far till now
19:03 slavik which is why I preferred the haskel version
19:03 spinclad CokeBot9000: last i heard rakudo is still at parrot 2.3
19:03 CokeBot9000 i know it's borked, just wondering where I should be looking.
19:04 colomon spinclad: you're right, not sure how my brain made an off-by-one error there.  :)
19:04 spinclad CokeBot9000: ah, dunno then
19:06 CokeBot9000 ugh. how do I tell git "I wish to hack on branch FOO that is already available from upstream?"
19:07 colomon git checkout --track -b new_feature_name origin/new_feature_name
19:07 pmurias joined #perl6
19:07 colomon I think
19:07 colomon where new_feature_name is the branch name.
19:09 CokeBot9000 thank you. (wonder if there's a shorter way to do that.)
19:09 CokeBot9000 ok. immutable_strings gets much further...
19:10 takadonet !!
19:11 colomon CokeBot9000: quite possibly.
19:11 colomon immutable_strings++
19:11 pmurias diakopter: who's anteus4?
19:13 slavik I think I've bothered everyone here enough that I feel I need to justify my existence. What would my time best be spent on as far as contributing?
19:13 slavik "Complete spec" and "Complete rakudo" are not feasible ...
19:13 slavik by me
19:15 slavik would the book be a good starting point?
19:15 pmurias "Complete book"? ;)
19:16 slavik pmurias: if I could I would
19:16 colomon Actually, I think trying to write code using Rakudo is a great starting point.
19:16 slavik I was thinking of contributing my own version of the regex/grammar chapter ... but I hope that wouldn't undermine the work that was already done on it
19:17 slavik speaking of which, need to install it
19:17 colomon and very useful to the project as well, we learn something with every project written.
19:18 patrickas colomon are there up to date binary rakudo build for various platforms (esp win32 ) ?
19:18 colomon patrickas: not that I know of.
19:18 slavik how can I get rakudo to build a pbc out of Perl6 code?
19:18 colomon though I think there is a cygwin port of Rakudo that should be only a few days behind at this point.
19:19 patrickas ok ... I guess that could do
19:19 takadonet patrickas: what platform are you on?
19:20 patrickas windows xp
19:21 patrickas but I could use linux if windows turns out o be much of a hassle with regards to rakudo ....
19:21 slavik rakudo, the Linux' killer app :)
19:21 slavik finally, it will be the year of the Linux desktop ...
19:21 colomon slavik: ./perl6 --target=pir church.pl
19:21 diakopter pmurias: anteus4 is jaffa4
19:21 slavik target pir?
19:21 slavik isn't pir like parrot's header files?
19:21 colomon generates pir to stdout instead of running the code.
19:22 colomon pir is parrot assembly, more or less.
19:22 colomon I don't know if you can use --target=pbc as well.
19:22 slavik how does it compare to pbc? I am confused
19:22 colomon (-target=pbc does not work -- just checked.)
19:23 colomon I think pir is the human-readable version of pbc.  but I could be wrong, I don't tweak internals that much.
19:23 slavik will ask in parrot
19:24 slavik hmm, I spelt that wrong ...
19:24 slavik /home/slava/src/rakudo/rakudo-20​10.03/parrot_install/bin/parrot  -o src/gen/perl6.pbc src/Perl6/Compiler.pir
19:24 slavik looks like pir is parrot source code
19:25 Helios joined #perl6
19:29 slavik slava@dogbert:~/src/rakudo/rakudo-2010.03$ ./perl6 -e 'say "hello"'
19:29 slavik hello
19:29 slavik :D
19:29 takadonet rakudo: say 1..{$_}
19:29 p6eval rakudo e393c7:  ( no output )
19:30 takadonet rakudo: say (1, Nil, 2, 3).grep(*.defined).perl
19:30 p6eval rakudo e393c7: OUTPUT«(1, 2, 3)␤»
19:31 takadonet rakudo: say (1, Nil, 2, 3,454.3,"beer" ,4 ,"me!").grep(*.defined).perl
19:31 p6eval rakudo e393c7: OUTPUT«(1, 2, 3, 4543/10, "beer", 4, "me!")␤»
19:31 slavik alright, let's see if I remember anything
19:32 slavik xmas: $(PERL6_EXE) ...
19:32 bbkr joined #perl6
19:36 diakopter sweet.  indexers. next, array syntax.
19:39 diakopter perlesque: say(("hi")[0])
19:39 p6eval perlesque: OUTPUT«h␤»
19:40 diakopter rakudo: say ("hi")[0]
19:40 p6eval rakudo e393c7: OUTPUT«h␤»
19:40 diakopter perlesquel: .
19:40 p6eval perlesquel: OUTPUT«h␤real 0.04␤user 0.03␤sys 0.00␤»
19:40 jnthn werm.
19:40 jnthn *erm.
19:40 jnthn Rakudo?!
19:40 jnthn :-/
19:40 jnthn That's so wrong.
19:40 diakopter what
19:40 diakopter it is?
19:40 jnthn Yes.
19:40 jnthn You're not meant to be able to index into strings.
19:40 diakopter oh :|
19:40 jnthn Bufs yes
19:40 jnthn But strings no.
19:40 diakopter oh. :||
19:40 jnthn Rakudo bug.
19:40 jnthn :-(
19:41 diakopter what's the negative rationale?
19:41 pmurias positions without an unit don't make much sense
19:41 pmurias in unicode
19:41 diakopter ah
19:42 diakopter well, all string literals in perlesque are hereby declared utf16 bufs :)
19:43 diakopter that was easy.
19:43 jnthn :-)
19:43 jnthn It's fine for Perlesque since it's not claiming to be a Perl 6 subset anyway, iirc.
19:43 diakopter not entirely properly anyway.
19:43 diakopter as much as reasonable.
19:44 diakopter but obviously the unicodey stuff will need to be implmemented *in* perlesque
19:44 diakopter so in that sense, its strings are a subset of unicode's :P
19:45 slavik oh man
19:45 slavik code I had long ago does not work anymore :(
19:45 diakopter dna-rot
19:45 slavik :(
19:46 slavik looks like it has to do with current directory
19:46 pmurias diakopter: .NET has unicode support
19:47 pmurias ?
19:47 diakopter not really; its native strings are utf16, and there are helper routines for detecting/dealing with combining chars and such
19:47 diakopter and upper chars.
19:48 diakopter actually thought, perlesque's input uses 32-bit codepoints of proper unicode
19:49 diakopter so maybe... hmm.
19:50 slavik rakudo: my $str2 = '265'; say "byte" if $str2 ~~ /(\d+) <?{0 <= +$0 <= 255}>/;
19:50 p6eval rakudo e393c7: OUTPUT«byte␤»
19:50 slavik that's wrong, no? or am I doing something wrong?
19:51 lichtkind where in the synopses are the filetest ops?
19:52 diakopter perlesque: say(("高橋流")[0])
19:52 p6eval perlesque: OUTPUT«高␤»
19:52 diakopter who knew
19:52 rgrau` joined #perl6
20:07 molaf joined #perl6
20:10 diakopter lol at moritz_'s "scary low-level languages"
20:23 guotr joined #perl6
20:28 s1n i keep reading these "not production ready" statements people are making about perl6...
20:28 s1n if java + j2ee is "production ready", so is perl6
20:29 s1n the only counter argument needed is to ask the devil's advocate to create a hello world webapp for j2ee
20:30 Spreadsheet_ Does perl 6 have Ruby like "blocks" (lambdas?)? Does it have Python like "decorators"?
20:30 s1n Spreadsheet_: i think you mean closures
20:31 gurjeet joined #perl6
20:31 Spreadsheet_ huh?
20:31 Spreadsheet_ Decorators are closures? :S
20:32 Juerd Spreadsheet_: No, lambdas are closures. Blocks are closures.
20:32 Spreadsheet_ oh
20:32 Spreadsheet_ it has closures
20:32 jnthn People tend to see -> as a lambda in Perl 6.
20:33 jnthn But it's not the only way to get something lambda-ish.
20:33 s1n well, python's aren't
20:33 jnthn But if you read -> as lambda it kinda reads as you'd expect.
20:33 s1n those are specific use closures, it doesn't have true closures iirc
20:33 jnthn -> $x { $x + 1 }
20:34 * Juerd doesn't know what "decorators" are. Google says they're magic.
20:35 frettled Juerd: they're first up against the wall when the revolution comes ;)
20:35 diakopter decorators charge too much
20:35 frettled diakopter: o/
20:35 diakopter oL
20:36 Spreadsheet_ Decorators "enhance" a function
20:36 * frettled hums: "talk like a perlician"
20:39 bbkr joined #perl6
20:47 armand_c joined #perl6
20:57 kensanata joined #perl6
21:02 ReiniUrban joined #perl6
21:03 diakopter 唐鳳
21:03 frettled diakopter: What does that mean?
21:05 sundar joined #perl6
21:07 ab5tract joined #perl6
21:08 plobsing joined #perl6
21:17 lichtkind good night
21:17 frettled oh :)
21:19 Chillance joined #perl6
21:39 jonrafkind joined #perl6
21:45 iblechbot joined #perl6
21:52 hercynium joined #perl6
22:14 sorear rakudo: my ($foo, $bar = "baz") = <a>; say "$foo $bar"
22:14 p6eval rakudo e393c7: OUTPUT«Undefined value shifted from empty array␤current instr.: 'perl6;Perl6Exception;throw' pc 14877 (src/builtins/Seq.pir:28)␤»
22:14 sorear Oh now that's interesting.
22:18 jnthn bug.
22:19 sorear Bug, or LTA error?
22:19 jnthn Well
22:20 sorear The syntax for this doesn't seem quite documented, I have no idea if I'm doing it right
22:20 jnthn I think we probably should just complain at parse time actually.
22:20 jnthn We parse a signature there, but if you're starting to stick in optional parameters and stuff, we just say "oh noes, that's too complex to turn into a list".
22:20 sorear The LHS of list assignment is supposed to be a signature now
22:20 jnthn If you want full signature semantics, use binding, not assignment.
22:21 jnthn rakudo: my ($foo, $bar = "baz") := <a>; say "$foo $bar"
22:21 p6eval rakudo e393c7: OUTPUT«a baz␤»
22:21 sorear rakudolimitation?
22:21 jnthn No, spec.
22:21 jnthn Well
22:21 jnthn Us not complaining about the signature being too complex is a rakudo fail.
22:21 jnthn It's a bit annoying implementation wise.
22:21 jnthn Because you parse a signature always but in the = case you want to do list assignment.
22:22 jnthn So you need to turn the signature into a list.
22:22 jnthn Which doesn't make sense if it's anything complex.
22:31 * sorear files
22:36 cognominal how to test a missing optional parameter versus   an undefined parameter ?
22:36 cognominal s/parameter/argument/
22:37 jnthn cognominal: If you have a situation where it actually matters, your best bet is to look at the capture.
22:38 cognominal how so?
22:38 jnthn If you had
22:38 jnthn sub foo($a, $b?) { }
22:38 jnthn re-write to
22:38 jnthn sub foo(|$c ($a, $b?)) { }
22:39 jnthn Then you can do something like
22:39 jnthn $c.list.elems == 2
22:39 cognominal ok
22:39 jnthn There's not a way to do it just looking at $b itself though.
22:44 cognominal I thought there was a special undefined value meaning missing argument.
22:45 jnthn No. You're not the first person to ask though - masak++ has also done so.
22:47 cognominal anyway now with your implementation of powerful signature we can test it
22:47 cognominal I am tired have headache, good night
22:48 jnthn night o/
22:50 cognominal Also I suppose I can derive from a undef type and use an instance as a default argument value
22:52 patspam joined #perl6
22:54 sorear I suppose either way I can't use fancy Perl6 in the compiler, huh.
22:57 jnthn Huh?
22:57 jnthn :-)
22:57 jnthn sorear: Depends where you're writing, tbh.
22:57 jnthn If you're working in bits written in NQP, then no, because you're writing in NQP rather than Perl 6. :-)
22:57 jnthn If you're working on bits in the core setting, then you pretty much have the whole language to hand but beware bootstrapping issues.
22:58 jnthn (Which, tbh, shouldn't bite you too much anyway.)
23:00 sorear jnthn: Perl6::Module::Loader
23:02 jnthn sorear: That's in NQP.
23:03 sorear I wonder why.
23:03 sorear You don't need a functioning module loader to process the setting...
23:03 jnthn sorear: Basically, if it's in src/core/ or src/glue/ and it ends in .pm, then it's in Perl 6.
23:03 jnthn sorear: I'm not so sure that's true.
23:03 jnthn Well
23:03 jnthn The importer stuff certainly would be useful.
23:04 jnthn I think we're going to need that soon in the setting.
23:04 jnthn Working in NQP is hardly a huge problem anyway.
23:05 jnthn It's nicer than writing C. ;-)
23:05 jnthn (IMHO and all that.)
23:06 sorear nqp: my ($a, $b) = <a b>;
23:06 p6eval nqp: OUTPUT«Confused at line 1, near "my ($a, $b"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
23:07 sorear nqp: my $a = <a b>.list[0];
23:07 p6eval nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " <a b>.lis"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
23:07 sorear nqp: my $a := <a b>.list[0];
23:07 p6eval nqp: OUTPUT«Method 'list' not found for invocant of class 'ResizablePMCArray'␤current instr.: '_block11' pc 0 (EVAL_1:6)␤»
23:07 jnthn It already is a list, so no need to call .list.
23:08 sorear What if it's not?
23:08 jnthn nqp: my $a := <a b>[0];
23:08 p6eval nqp:  ( no output )
23:08 jnthn Then you need to call .list on it.
23:08 sorear Foo :from<perl5> and Foo :from<java foo.Foo>
23:08 jnthn Though in reality, I don't find myself having to do such things so much.
23:08 sorear are both valid syntax
23:08 sorear one is a Str, the other a Seq
23:08 jnthn I hadn't seen the second of those before.
23:08 sorear how can I destructure both?
23:09 jnthn pir::isa($thingy, 'String')
23:09 jnthn Note you don't have Seq and so on in NQP in general
23:09 jnthn It works in terms of Parrot types.
23:09 orafu joined #perl6
23:10 patspam joined #perl6
23:15 _jaldhar joined #perl6
23:18 sorear Why does src/old exist?
23:18 sorear I can just checkout alpha whenever I want.
23:19 jnthn Convenience.
23:19 jnthn It's not the whole alpha
23:19 jnthn Just some bits with code we've still yet to port
23:19 jnthn I expect we'll kill src/old/ before the next relesae though.
23:19 jnthn Because I think we've moved most things over by now. :-)
23:33 patspam joined #perl6
23:33 jonrafkind left #perl6
23:36 bradb joined #perl6
23:56 CokeBot9000 joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo