[00:09] *** mikehh left [00:29] *** ruz_mac left [00:30] *** M_o_C left [00:36] *** ruz_mac joined [00:39] *** SmokeMachine joined [00:39] *** lumi left [00:40] *** Grrrr left [00:43] *** jferrero left [00:43] *** lumi joined [00:51] *** FCO joined [00:51] *** SmokeMachine left [01:05] *** arthur-_ joined [01:23] *** Limbic_Region left [01:24] *** justatheory left [01:28] *** Whiteknight left [01:29] *** missingthepoint joined [01:30] *** Aisling left [01:30] *** Aisling joined [01:47] *** tann left [02:06] good night [02:08] *** meppl left [02:20] *** ashizawa left [02:56] *** Jedai left [03:03] *** SmokeMachine joined [03:04] *** missingthepoint left [03:20] *** FCO left [03:28] *** unitxt joined [03:30] *** xinming left [03:30] *** xinming joined [03:31] *** justatheory joined [03:37] *** sparc joined [03:41] *** FCO joined [03:43] *** ab5tract joined [03:43] *** ab5tract left [03:43] *** SmokeMachine left [03:56] *** PZt joined [03:58] *** JimmyZ joined [04:09] *** SmokeMachine joined [04:14] *** molaf joined [04:16] *** molaf left [04:19] *** SmokeMachine left [04:19] *** SmokeMachine joined [04:20] *** kane_ left [04:24] *** FCO left [04:24] *** arejay_ left [04:25] *** arejay joined [04:30] r27826 | kyle++ | [t/spec] Test for RT #68086 [04:30] r27827 | kyle++ | [t/spec] Tests for RT #68074 [04:30] r27828 | kyle++ | [t/spec] Tests for RT #68008 [04:31] *** tann_ joined [04:34] rakudo: say '3'.^method.perl [04:34] rakudo e02bc0: OUTPUT«Method 'method' not found for invocant of class 'ClassHOW'␤» [04:34] rakudo: say '3'.^methods.perl [04:34] rakudo e02bc0: OUTPUT«[{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... [04:34] ..}, { … [04:36] rakudo: '3'.^methods.map({.name}).join(', ').say [04:36] rakudo e02bc0: OUTPUT«WHICH, ACCEPTS, perl, sprintf, Scalar, pred, encode, succ, floor, rand, truncate, round, sort, rindex, sqrt, split, match, grep, words, values, can, lcfirst, srand, Complex, map, polar, cis, kv, samecase, log, min, capitalize, max, first, trans, flip, does, Int, p5chop, lc, [04:36] ..subst, … [04:36] rakudo: '3'.^methods.map({.name}).perl.say [04:36] rakudo e02bc0: OUTPUT«["encode", "succ", "WHICH", "ACCEPTS", "perl", "sprintf", "Scalar", "pred", "chr", ":d", ":e", ":f", "comb", "floor", "round", "chop", "split", "match", "words", "can", "lcfirst", "uc", "srand", "Complex", "keys", "map", "polar", "cis", "log", "substr", "min", "max", "pick", [04:36] .."first… [04:36] rakudo: '3'.^methods.perl.say [04:36] rakudo e02bc0: OUTPUT«[{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... [04:36] ..}, { … [04:46] rakudo: no strict; $i = 2; say $i; [04:46] rakudo e02bc0: OUTPUT«Symbol '$i' not predeclared in (/tmp/HjoGGW7pUx:2)␤in Main (src/gen_setting.pm:3363)␤» [04:46] pugs: no strict; $i = 0; say $i; [04:46] pugs: OUTPUT«*** ␤ Unexpected " ="␤ expecting "::"␤ Variable "$i" requires predeclaration or explicit package name␤ at /tmp/oh6U8lkTxL line 1, column 14␤» [04:47] how's it going dudes [04:54] rakudo: $i = 2; say $i; [04:54] rakudo e02bc0: OUTPUT«Symbol '$i' not predeclared in (/tmp/K375UkQxhe:2)␤in Main (src/gen_setting.pm:3363)␤» [04:54] rakudo: $_ = 2; .say ; [04:54] rakudo e02bc0: OUTPUT«2␤» [04:55] sjohnson: The weather is golfy :) [04:55] hi wayland [04:55] \o/ [04:55] hi [04:55] :) [04:55] perl! [04:55] 6! [04:55] i love it everyday [04:55] i think the people who hate it [04:56] just aren't capable, or haven't seen the beauty of its expressiveness [04:56] Don't agree [04:57] The big advantage of perl is that it lets you program the way you want [04:57] rakudo: my @a = 1..10; my @b = 100..110; my @c = @b >>-<< @a; say @c.perl; [04:57] But if the people you work with have a widely different idea of what is good, then naturally it creates problems [04:57] rakudo e02bc0: OUTPUT«Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.␤in Main (/tmp/UsNjSMm1AF:2)␤» [04:58] Something like Python, OTOH, has the One True Way to do things [04:58] *** ewilhelm left [04:58] rakudo: my @a = 1..10; my @b = 101..110; my @c = @b >>-<< @a; say @c.perl; [04:58] rakudo e02bc0: OUTPUT«[100, 100, 100, 100, 100, 100, 100, 100, 100, 100]␤» [04:58] And that keeps idiots from doing something stupid with it [04:58] So if you work with idiots, you like Python :) [04:58] wayland76: disagree [04:59] (Or something else other than perl; pick your own B&D language) [04:59] wayland76: it *tries* to keep idiots from doing bad things...but that doesn't mean they can't do it [04:59] Ah, yes, good point [04:59] I should've made that clearer :) [05:00] i've read ugly python code as well [05:00] "FORTRAN programmers can write FORTRAN in any language", etc :) [05:00] it's much about the person who writes the code [05:00] tann_: i take it you like Perl too a lot [05:01] sjohnson: it's handy [05:01] sjohnson: i'm not so religious about languages [05:02] i don't like some of perl6's stuff..but what do i know? timtoady is always god regardless :P [05:02] What do you not like? [05:02] (I want to see if I also dislike them :) ) [05:03] well, God said that maybe he might consider $string[3] indexing for strings [05:03] wayland76: i think some of the builtin variables [05:03] like in many languages [05:03] i think that'd be sweet [05:03] tann_: You'd prefer to have fewer? [05:03] also, stuff like %h vs %h{'key'} etc. [05:04] wayland76: yes [05:04] if possible [05:04] tann_: But you can still use %h{'key'} if you want [05:04] wayland76: that's the thing i don't like [05:04] The variables are still far from fixed (ie. in a state of flux) [05:04] it'll confuse the heck outta people [05:05] Did you ever read the essay about Perl being a postmodern language? [05:05] yup [05:05] larry as always is way too smart :P [05:05] and look at people around him, pmichaud, damian etc.. all scarily smart folks [05:06] The idea I'm thinking of here is something like "We put in everything and let people use the bits they want" [05:06] so i sit and learn...keep quiet :D [05:06] I agree about the "smart" business [05:06] you guys know a lot more Perl than i do :( [05:06] sjohnson: when it comes to p6, i know as much as you do [05:07] probably you know more than me :D [05:07] I remember talking with someone recently who said something like "The #perl6 channel is strange; I don't usually feel like the dumbest person in the room" :) [05:07] probably because he was talking to me [05:08] hahah [05:08] tann_: No, I don't think it was you. [05:08] you have a good sense of humour [05:08] Oh, wait, I got your comment backwards :) [05:08] sorry :) [05:08] is it too radical to say that people who are funny also tend to be able to program in Perl effectively? [05:09] Why are the words "in Perl" in that sentence? :) [05:09] sjohnson: i don't claim either :P [05:09] *** ewilhelm joined [05:09] rakudo: for '0001.jpg' .. '0010.jpg' { .say } [05:09] rakudo e02bc0: OUTPUT«0001.jpg␤0002.jpg␤0003.jpg␤0004.jpg␤0005.jpg␤0006.jpg␤0007.jpg␤0008.jpg␤0009.jpg␤0010.jpg␤» [05:10] scary eh, jimmy? :) [05:10] tann_ / wayland76: do you guys get to use Perl at work? [05:10] rakudo: for 'zhao_0001.jpg' .. 'zhao_0010.jpg' { .say } [05:10] rakudo e02bc0: OUTPUT«zhao_0001.jpg␤zhao_0002.jpg␤zhao_0003.jpg␤zhao_0004.jpg␤zhao_0005.jpg␤zhao_0006.jpg␤zhao_0007.jpg␤zhao_0008.jpg␤zhao_0009.jpg␤zhao_0010.jpg␤» [05:10] sjohnson: yes....100% [05:11] tann_: 100%? [05:11] i get to use it like, 5% [05:11] but that 5% is bliss to me [05:11] sjohnson: our system, platform rely heavily on perl [05:11] the other 95% is PHP and javascript and i hate it [05:11] tann_: you must have been a saint in a past life [05:12] sjohnson: When I can [05:12] sjohnson: then i would be programming in html now [05:12] you like HTML? [05:12] i hate it as much as I hate javascript [05:12] marginally [05:12] xhtml2 looks all right, though :) [05:12] my favourite thing is backend tasks in Perl [05:13] javascript? [05:13] jquery? [05:13] jquery i have been told solves all my complaints [05:13] our backend and apps are mostly in c++, java etc... [05:13] i dont know how easily it is to get Jquery setup where i work [05:14] front end is mostly php and yui :) [05:14] but platform and system work are almost all perl [05:14] uh oh..too many details..you probably guess which company i'm working for :D [05:15] mhm [05:15] amazon? [05:15] let me keep guessing if i am wrong [05:15] notice the javascript lib for the front end ;) [05:16] rakudo: '3'.WHICH.perl.say [05:16] rakudo e02bc0: OUTPUT«"3"␤» [05:16] JimmyZ: try this [05:16] ahh nevermind [05:16] you know what you're doing [05:17] sjohnson: yep [05:17] just want give it a try. [05:17] s/want/want to/ [05:19] which new stuff in p6 you guys like? [05:19] oh man [05:19] tann_: Custom slangs :) [05:20] :) [05:20] this says it all: http://use.perl.org/~masak/journal/39025 [05:20] rakudo: '3'.PARROT.say [05:20] Access to syntax tree [05:20] rakudo e02bc0: OUTPUT«Str␤» [05:20] rakudo: '3'.WHAT.say [05:20] i like the multi sub/method lots [05:20] *** missingthepoint joined [05:20] rakudo e02bc0: OUTPUT«Str()␤» [05:21] rakudo: class A { method b { say 'b' } }; my $a = A.new; $a.b () [05:21] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near "()"␤in Main (src/gen_setting.pm:3363)␤» [05:21] rakudo: class A { method b { say 'b' } }; my $a = A.new; $a.b() [05:21] rakudo e02bc0: OUTPUT«b␤» [05:22] tann_: Note that that article about sjohnson was actually written by masak :) [05:22] i'm not fond of that *unspace* thingy [05:23] *** synth joined [05:23] i know lots of programmers like to put a space after an identifier name [05:23] now they have to retrain their habit [05:24] Well, I never put space after "if" and "while". Now I have to retrain :) [05:24] urg [05:24] i thought perlstyle recommended that [05:24] space between a control keywords and openning paren [05:25] possibly [05:25] but not for methods and subs [05:25] But when perlstyle said "spaces instead of tabs", then I basically ignored it :) [05:25] damian also said so in his perl best practices book [05:25] wayland76: why? [05:26] I don't mind if people want their tabs to be 4 spaces wide, but I think they should use actual tabs instead of spaces [05:26] i'm also an advocate of spaces over tabs [05:26] well, i like to see code indented properly [05:26] I agree about that [05:26] I can live with spaces on other people's projects, but unindented code is just evil :) [05:27] some editors don't interpret tabs right [05:27] So fix the editors :) [05:27] i always have ts=8 sts=4 sw=4 et in my vimrc [05:27] (incidentally, which editors?) [05:28] padre? :)) [05:28] *** justatheory left [05:28] 'cause i can't install that darn thing on my mac :D [05:29] Well, I know both nano and vi seem to work sensibly with tabs [05:29] *** kane_ joined [05:29] and I'm sure emacs would handle them appropriately with sufficient e-lisp :) [05:30] I guess I like tabls because they let each programmer choose how they want to see the code :) [05:30] So if I like more indentation, I can get more, and others can get less if they like that better :) [05:30] why a unfavorable view about spaces? makes your files larger? :D [05:31] wayland76: understood [05:31] ruby guys even have 2 spaces of indentation :D [05:32] and i know graham barr also did that at one point....having the pleasure of browsing his code lots :) [05:32] So you're starting to see my point (even if it's not enough to convice you to switch :) ) [05:32] tann_: can i haz an example? [05:32] i'm not sure i know what you mean [05:32] wayland76: naw, not switching...tim bunce already got me hooked with spaces and stuff :D [05:32] *** lumi left [05:33] sjohnson: you can view graham's code on cpan [05:33] sjohnson: an example of code with tabs, or spaces? :) [05:33] though i had the pleasure of browsing his code when i worked with both him and tim at a certain company :) [05:35] spaces [05:35] i've learned much about programming just by browsing those two geniuses' code [05:35] who's Graham? [05:36] tann_: I know what you mean. I learned a lot about regex in the early days just by reading the FAQ whose answer was s/^\s*(.*?)\s*$/$1/ [05:36] sjohnson: graham wrote most of the perl core modules [05:36] Graham Barr wrote a bunch of the more important modules on CPAN [05:36] sjohnson: here's an example of spaces :) http://cpansearch.perl.org/src/TNGUYEN/Locale-Currency-Format-1.28/Format.pm [05:37] *** lumi joined [05:37] newbie question: what's the current eqv of "use lib" in Perl 6? [05:39] I don't recall, but setting PERL6LIB works [05:39] (environment variable, that is) [05:39] missingthepoint: BEGIN { @*INC.push: 'lib' } [05:40] or @*INC.unshift: 'lib' whichever is fine with you [05:40] thanks both of you :) [05:40] i prefer push as it makes lib lower precedence [05:41] ah, that makes sense [05:43] tann_: Both need to be in a BEGIN {} though, right? [05:43] wayland76: yes [05:44] alright dudes [05:44] i've had enough PHP tasks, i am gonna take off [05:44] see ya guys [05:44] take it easy [05:44] o/ [05:44] has anyone attempted to hook std.pm into rakudo? :) [05:45] *** iblechbot joined [05:45] i like to take a look at some adverbial stuff such as :by but rakudo parser doesn't handle it yet [05:48] pmichaud says it won't go until we've done at least the LTM milestone from the ROADMAP [05:49] Now you know why I keep asking about it :) [05:49] where can i find the roadmap? [05:50] LTM was longest token matching? [05:51] rakudo.org should be sexier... it seems that there's only moritz updating it and he's already doing a superb job of wearing many hats [05:53] this warms my heart http://wiki.github.com/rakudo/rakudo/rakudo-10-release-announcement-draft [05:53] http://github.com/rakudo/rakudo/blob/e02bc06ee0bb9aabe3c38c171c86739fb0994794/docs/ROADMAP [05:53] rakudo: '3'.^methods>>.name.grep(/^p/).join(', ').say # Why's everyone been using map for this? [05:53] rakudo e02bc0: OUTPUT«pred, perl, pick, polar, p5chop, p5chomp, pairs, print, perl␤» [05:55] or see http://github.com/rakudo/rakudo/tree/master/docs/ROADMAP [05:55] rakudo: say "".^methods>>.name.perl [05:55] rakudo e02bc0: OUTPUT«["pred", "encode", "succ", "ACCEPTS", "perl", "WHICH", "sprintf", "Scalar", "flip", "int", "does", "split", "match", "words", "srand", "reverse", "isa", "polar", "ucfirst", "comb", "fmt", "first", "trans", "chop", "rindex", "values", "subst", "elems", "chomp", "index", "keys", [05:55] .."chr… [05:56] rakudo: say "".^methods(.name).perl [05:56] rakudo e02bc0: OUTPUT«Method 'name' not found for invocant of class 'Failure'␤» [05:57] rakudo: say "".^methods(>>.name).perl [05:57] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near "(>>.name)."␤in Main (src/gen_setting.pm:3363)␤» [05:59] so from the roadmap, it looks like rakudo 1.0 won't have threads [06:00] rakudo: ("f","oo","bar").>>.chars.say; [06:00] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ".>>.chars."␤in Main (src/gen_setting.pm:3363)␤» [06:00] *** meppl joined [06:01] rakudo: ("f","oo","bar")>>.chars.say; [06:01] rakudo e02bc0: OUTPUT«123␤» [06:02] is it a bug? [06:03] rakudo: ("f","oo","bar",'da',6)>>.chars.say; [06:03] rakudo e02bc0: OUTPUT«12321␤» [06:04] rakudo: ("f","oo","bar",'da',6)>>.name.say; [06:04] rakudo e02bc0: OUTPUT«Method 'name' not found for invocant of class 'Str'␤» [06:05] *** jhelwig left [06:06] Yes, LTM = Longest Token Matching [06:06] rakudo: say "".^methods.name.perl [06:06] rakudo e02bc0: OUTPUT«Method 'name' not found for invocant of class 'Perl6Array'␤» [06:06] pmichaud has been talking about having it mostly done by the end of the summer (I'm guessing this is the end of August, or maybe even September, in his part of the world) [06:07] I'm predicting next February, just to be difficult :) but since pmichaud is the one working on it, I'm hoping he's right :) [06:07] rakudo: ("f","oo","bar",'da',6).>>.name.say; [06:07] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ".>>.name.s"␤in Main (src/gen_setting.pm:3363)␤» [06:08] rakudo: ("f","oo","bar",'da',6)>>(.^methods>>.name).say [06:08] rakudo e02bc0: OUTPUT«foobarda6␤» [06:08] rakudo: ("f","oo","bar",'da',6)>>.^methods>>.name.say [06:08] rakudo e02bc0: OUTPUT«Method 'name' not found for invocant of class 'Perl6Array'␤» [06:08] rakudo: ("f","oo","bar",'da',6).>>.chars.say; [06:08] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ".>>.chars."␤in Main (src/gen_setting.pm:3363)␤» [06:08] It's from S03 [06:08] rakudo: ("f","oo","bar",'da',6)>>.^methods>>>>.name.say [06:08] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ">>>>.name."␤in Main (src/gen_setting.pm:3363)␤» [06:09] maybe it is not implemented [06:10] JimmyZ: which? [06:10] rakudo: ("f","oo","bar",'da',6).>>.chars.say; [06:10] rakudo: ("f","oo","bar",'da',6)>>.chars.say; [06:10] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ".>>.chars."␤in Main (src/gen_setting.pm:3363)␤» [06:10] rakudo e02bc0: OUTPUT«12321␤» [06:10] JimmyZ: You have an extra dot [06:10] no dot before .>> [06:10] I copy it from S03 [06:10] the syntax is [list] >> something [06:10] not an extra dot [06:11] ("f","oo","bar").>>.chars; # (1,2,3) [06:11] JimmyZ: compare your code to the one I used. There should not be a '.' between ) and >> [06:11] JimmyZ: Then it's a bug in the spec [06:11] @positions.»++; # Same thing, dot form [06:11] Unknown command, try @list [06:11] @positions».++; # Same thing, dot form [06:11] Unknown command, try @list [06:11] how to type these things »+« with a us keyboard? :) [06:12] Thank you for finding that, in that case [06:12] tann_: Define a compose key, or use the 'Texas' variants [06:12] it is a bug in rakudo ,not spec [06:13] JimmyZ: If the sepc says ("f","oo","bar").>>.chars then it's wrong. The first dot should not be there. [06:13] *spec [06:13] and @positions.»++; ? [06:13] It is wrong too ? [06:13] that's confusing..why timtoady allows both with and without the dot? [06:14] and @objects.».run(); ?? [06:14] Ditto. >> is not a method, it's an infix operator that takes anything that does Positional on the left and Callable on the right [06:14] At least, that's what I've been told [06:14] one would think the dot implies a reassignment [06:15] Were all that in spec a bug ? [06:15] tann_: No, assigning the result of a method call back to the object is .= [06:15] spec is supposed the bible [06:15] i'd say rakudo's bug [06:15] shoulde we ask lwall :( [06:15] @foo.=map(*.uc) changes everything in @foo to uppercase in place [06:15] Unknown command, try @list [06:16] eternaleye: yea..i was confused for a sec there [06:16] tann_: There's a category in RT (the bugtracker) for the spec [06:16] It has seen use. [06:16] Also, the spec is still changing [06:17] Implementations provide info on what's feasible and what's desirable, and the spec changes in response [06:18] Just run 'svn log ' on the spec docs in the pugs repo, and see the huge number of changes made, including recent ones [06:18] I don't think it is a spec bug [06:18] anyway [06:18] JimmyZ: Quite possible, my understanding isn't perfect [06:19] JimmyZ: TimToady, pmichaud, and jnthn are really the people who would know best [06:19] yes [06:23] *** adm joined [06:25] *** mberends_ joined [06:28] *** mberends left [06:29] *** mberends_ is now known as mberends [06:33] *** meppl left [06:36] *** iblechbot left [06:40] *** mberends_ joined [06:40] *** mberends_ left [06:42] rakudo: say 10.^methods [06:42] rakudo e02bc0: [06:42] ..OUTPUT«succperlACCEPTSWHICHScalarabsStrpredp5choplcjoincharscanlcfirstrootsreduceComplextrimmap:dcis:e:flogminrandmaxtruncatebytessortsqrtIntgrepabsenducceilingp5chompunpolarsamecasefloorsubstrordroundflipdoesintsplitmatchwordssrandreverseisapolarucfirstcombfmttransfirstchoprindexvaluessu… [06:43] oh dear [06:43] eternaleye: postfix ops can have an intervening dot as per the spec. >> is a "postfix prefix" meta-op (not an infix). (i.e. >> doesn't stand by itself) At least that's how I understand things. [06:44] *** hah joined [06:45] rakudo: my %h = map($_ => 1, ''.^methods, 10.^methods); say %h.perl; [06:45] *** JimmyZ left [06:45] rakudo e02bc0: OUTPUT«No applicable candidates found to dispatch to for 'map'␤in Main (/tmp/g7egt1eW1v:2)␤» [06:46] *** JimmyZ joined [06:46] missingthepoint: what are you trying to do with that hash? [06:47] PerlJam: not sure, experimenting... [06:48] rakudo: my %h = map { $_ => 1 }, 1..4; say $h.perl [06:48] like: .++ ? [06:48] rakudo e02bc0: OUTPUT«Symbol '$h' not predeclared in (/tmp/27eQGG0KRs:2)␤in Main (src/gen_setting.pm:3363)␤» [06:48] gah [06:48] rakudo: my %h = map { $_ => 1 }, 1..4; say %h.perl [06:48] rakudo e02bc0: OUTPUT«Use of uninitialized value␤No applicable candidates found to dispatch to for 'map'␤in Main (/tmp/tQ2pXIiicj:2)␤» [06:48] i have map woes. [06:48] PerlJam: like: .++ ? [06:48] JimmyZ: yep. [06:49] missingthepoint: your map's block looks like a hash, so perl probably thinks it is one. [06:49] that it, the test case should be ignore some cases. [06:50] rakudo: my %h = map($_ => 1, 1..4); say %h.perl; [06:50] rakudo e02bc0: OUTPUT«No applicable candidates found to dispatch to for 'map'␤in Main (/tmp/HdHwyaUBLF:2)␤» [06:52] oh. Hrm. [06:52] Maybe something more fundamental with map [06:52] rakudo: my %h = map {; $_ => 1 }, 1..4; say %h.perl [06:52] rakudo e02bc0: OUTPUT«{"1" => 1, "2" => 1, "3" => 1, "4" => 1}␤» [06:52] t/spec/S03-operators/hyper.t loses some cases. [06:53] rakudo: $_ = 1; .++.say; [06:53] rakudo e02bc0: OUTPUT«Syntax error at line 2, near ".++.say;"␤in Main (src/gen_setting.pm:3363)␤» [06:53] rakudo: my @a = map(2 * $_, 1..4); say @a.perl; [06:53] rakudo e02bc0: OUTPUT«Use of uninitialized value␤No applicable candidates found to dispatch to for 'map'␤in Main (/tmp/AtfADUWrle:2)␤» [06:55] rakudo probably doesn't grok postfix forms with an intervening dot. [06:55] PerlJam: the first argumentto map needs to 'does Callable' - your 2 * $_ expression is being evaluated, and the _result_ passed to map [06:55] PerlJam: yep. [06:55] rakudo: my @a = map(2 * *, 1..4); say @a.perl; [06:55] rakudo e02bc0: OUTPUT«[2, 4, 6, 8]␤» [06:55] rakudo: my @a = map({2 * $_ }, 1..4); say @a.perl; [06:56] rakudo e02bc0: OUTPUT«[2, 4, 6, 8]␤» [06:56] aye. I'm not thinking too clearly at this hour [06:56] PerlJam: what's your localtime? :) [06:56] almost 2am [06:57] rakudo: my @a = (1..4).map: { 2 * $_ }; say @a.perl; [06:57] rakudo e02bc0: OUTPUT«[2, 4, 6, 8]␤» [06:58] rakudo: my @a = (1..4) >>*<< 2; say @a.perl; [06:58] rakudo e02bc0: OUTPUT«Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.␤in Main (/tmp/AD0CwxwKVQ:2)␤» [06:59] rakudo: my @a = (1..4) >>* 2; say @a.perl; [06:59] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ">>* 2; say"␤in Main (src/gen_setting.pm:3363)␤» [06:59] ah, too much way ;( [07:00] rakudo: my @a = (1..4).map({ 2 * * }); say @a.perl; [07:00] rakudo e02bc0: OUTPUT«[{ ... }, { ... }, { ... }, { ... }]␤» [07:00] rakudo: my @a = (1..4).map({ 2 * $_ }); say @a.perl; [07:00] rakudo e02bc0: OUTPUT«[2, 4, 6, 8]␤» [07:01] rakudo: my @a = (1..4).map({ 2 * * }); say @a.join(' ').perl; [07:01] rakudo e02bc0: OUTPUT«"!whatever_closure !whatever_closure !whatever_closure !whatever_closure"␤» [07:01] rakudo: my @a = (1..4) >>*>> 2; say @a.perl; [07:01] rakudo e02bc0: OUTPUT«[2, 4, 6, 8]␤» [07:02] rakudo: my @a = 1..4 >>*>> 2; say @a.perl; [07:02] rakudo e02bc0: OUTPUT«[1]␤» [07:03] precedence on that one [07:03] or something [07:03] yes [07:04] my @a = 4 >>*>> 2; say @a.perl; [07:04] rakudo: my @a = 4 >>*>> 2; say @a.perl; [07:04] rakudo e02bc0: OUTPUT«[8]␤» [07:05] rakudo: my @a = 1..(4 >>*>> 2); say @a.perl; [07:05] rakudo e02bc0: OUTPUT«[1]␤» [07:06] heh .. the list (4 >>*>> 2) is being evaluated in a scalar numeric context :) [07:06] hmm [07:06] not sure i understand it [07:07] 1..8 is quite different from 1..(8,) [07:07] ah [07:07] since the >> ops always give you lists [07:12] *** mberends left [07:13] *** adm left [07:13] rakudo: ([-] 4, 3, 2).say [07:13] rakudo e02bc0: OUTPUT«-1␤» [07:14] rakudo: ([**] 4, 3, 2).say [07:14] rakudo e02bc0: OUTPUT«4096␤» [07:14] rakudo: $_ = [**] 4, 3, 2; .say; [07:14] rakudo e02bc0: OUTPUT«4096␤» [07:15] rakudo: $_ = 4**(3**2); .say; [07:15] rakudo e02bc0: OUTPUT«262144␤» [07:16] a bug found ; [07:16] *** meppl joined [07:18] rakudo: $_ = 4**3**2; .say; [07:18] rakudo e02bc0: OUTPUT«262144␤» [07:18] rakudo: $_ = (4**3)**2; .say; [07:18] rakudo e02bc0: OUTPUT«4096␤» [07:18] *** unitxt left [07:23] rakudo: say 64**2 [07:23] rakudo e02bc0: OUTPUT«4096␤» [07:23] *** frew_ joined [07:23] there should be a version of 'say' for stderr [07:24] rakudo: cry "ai papi" [07:24] rakudo e02bc0: OUTPUT«Could not find non-existent sub cry␤» [07:26] tann_: sub cry { my $P = $*OUT; $*OUT = $*ERR; say @_.shift } [07:26] or something ;) [07:27] (modulo the precise semantics of say) [07:27] missingthepoint: sub cry { warn @_, "\n" } :D [07:28] if p6 has say for print + "\n", it should have cry for warn + "\n"...so to make things symmetric :D [07:29] tann_: I missed the point? ;) [07:29] what's the point of having say when one can do print args, "\n"? :) [07:30] heh, ok :) [07:38] *** Jedai joined [07:40] *** |Jedai| joined [07:41] rakudo: $_ = [**] 4, 3, 2; .say; # It should be 262144 not 4096, let's call it a bug. [07:41] rakudo e02bc0: OUTPUT«4096␤» [07:43] *** minskman joined [07:45] JimmyZ: report? [07:45] *** ruz_mac left [07:46] tann_: how about [07:47] the $thing.say form? i.e., how would one do "ai papi".cry? [07:47] (just curious) [07:47] same as say :) [07:47] just to stderr [07:47] i'm lazy i know :D [07:49] missingthepiont: what report? [07:49] JimmyZ: if it is a bug, you should report it :) [07:49] i was thinking about it because in debug mode, you see people doing warn args, "\n" all over the place [07:49] *** minskman left [07:51] pugs: $_ = [**] 4, 3, 2; .say [07:51] pugs: OUTPUT«262144␤» [07:51] *** minskman joined [07:52] rakudo: say 4**3; [07:52] rakudo e02bc0: OUTPUT«64␤» [07:52] rakudo: say 64**2; [07:52] rakudo e02bc0: OUTPUT«4096␤» [07:54] JimmyZ: do you know how to report a bug? [07:54] missingthepoint: just email to [email@hidden.address] [07:54] for rakudo that is [07:54] phenny: tell masak Tree: http://github.com/wayland/Tree/tree/master (needs work before it's even coherent; there's an XML grammar in there, but that's just so that we can play with it until we can get something we like :) ) [07:54] wayland76: I'll pass that on when masak is around. [07:55] for perl6 it's [email@hidden.address] think [07:56] http://rakudo.org/how-to-help [07:57] *** kane_ left [07:57] *** Jedai left [07:57] rakudo: $_ = [**] 4, 3, 2; .say; # It should be 262144 not 4096, let's call it a rakudo bug. [07:57] rakudo e02bc0: OUTPUT«4096␤» [07:58] JimmyZ: to report the bug so the rakudo developers see it, send an email to [email@hidden.address] with [BUG] as the first thing in the subject [07:59] ok [08:00] JimmyZ: in the body of the email, put "$_ = [**] 4, 3, 2; .say; # It should be 262144 not 4096, let's call it a rakudo bug." [08:00] missingthepoint: thanks. [08:00] (you want to include the code that triggers the bug so the developers can reproduce it) [08:01] JimmyZ: no problem :D [08:01] rakudo: $_ = ([**] 4, 3, 2).say; [08:01] rakudo e02bc0: OUTPUT«4096␤» [08:01] Other people may also be interested in the Tree link posted above [08:01] rakudo: ([**] 4, 3, 2).say; [08:02] rakudo e02bc0: OUTPUT«4096␤» [08:02] I don't I can report [08:03] RT can't receive email from china. [08:03] JimmyZ: ah. i'll submit it for you and credit you with finding it. [08:03] thanks. [08:03] better if you can attach a patch :) [08:04] tann_: give me a few years to learn rakudo internals, then np ;) [08:04] missingpoint: some bugs are actually surprisingly simple... [08:05] * missingthepoint opens up rakudo and peers inside... [08:05] just look at the src/settings src/classes src/builtins [08:05] i guess "builtins" [08:06] you can leave the scary bits to pmichaud, moritz, jnthn and other heroes .... but if you can find something that is easily fixed, please do so [08:06] no problem [08:06] chances are src/settings [08:07] that's where you write perl6 in perl6 itself :) [08:07] *** payload1 joined [08:12] *** payload left [08:12] *** payload joined [08:13] *** payload1 left [08:13] rakudo: say (4, 3, 2).reduce({ $^a ** $^b}); [08:13] rakudo e02bc0: OUTPUT«4096␤» [08:14] tann_: i think it's in builtins\assign.pir around line 570 [08:14] err, 37 [08:15] pugs: say 4**9 [08:15] pugs: OUTPUT«262144␤» [08:15] hmm [08:15] pugs: are you lying to me? [08:15] ** is evaluated from left to right? [08:15] pugs: OUTPUT«*** ␤ Unexpected "?"␤ expecting "::", dot, ":", "(", term postfix, operator or ","␤ at /tmp/xa4tAegpob line 1, column 20␤» [08:16] or right to left? [08:16] pugs: playing confused, now, are we? [08:16] pugs: OUTPUT«*** ␤ Unexpected "?"␤ expecting "::", dot, ":", "(", term postfix, operator or ","␤ at /tmp/sBptjVGYaI line 1, column 30␤» [08:16] tann_: ** has right associativity [08:16] ack [08:17] hack hack [08:17] and send patch :D [08:17] no, you do it :) [08:18] i'm lost in the PIR :( [08:18] right to left [08:19] missingthepoint: if it's the assoc bug, then the parser needs to address that [08:19] it looks like the parser doesn't get the right ast tree then [08:20] ah [08:20] perl6 --PAST and perl6 --parse to the rescue! [08:20] i'm scared when i look at the parser [08:20] tann_: yes [08:21] that's why i'm advocating to use std.pm so we can all blame larry :D [08:22] report the bug and let KyleHa know so he can add the tests to the spectest [08:24] tann_: do you have a commit bit for the pugs svn? you could do it yourself :) [08:24] wayland76: what sorta tricks can one play with the ast within rakudo? [08:25] missingthepoint: i don't...i normally just send mail to [email@hidden.address] and the heroes take care of it really fast [08:26] i could've used 'gods' instead of 'heroes' but since 'gods' was tainted by the perlmonks.org incidence...i avoid using it now :D [08:26] tann_: looking at the rakudo tests, it looks like 'reduce' associativity is a rakudo TODO [08:26] ah [08:26] how do we find that in RT? [08:28] ok, known bug #63306: "[**] has the wrong associativity in Rakud" [08:28] *Rakudo [08:29] http://rt.perl.org/rt3/Public/Bug/Display.html?id=63306 [08:29] yea [08:30] filed by masak, the hero [08:33] #63306 should be re-opened [08:33] it kinda is [08:34] ah, i see what you mean [08:34] *** lumi left [08:34] moritz just commented that it's still broken but the ticket was marked 'resolved' [08:35] and evidently, it's still broken :) [08:36] i'd change the status to open, but a) i don't have permission, b) moritz didn't, and he probably does [08:38] probably an email to [email@hidden.address] indicating that the issue was addressed in #63306 but not fully resolved [08:39] *** frew_ left [08:43] rakudo: my $n = $*IN.get.int; [08:43] rakudo e02bc0: ( no output ) [08:43] *** lumi joined [08:43] rakudo: say $*IN.get.int; [08:44] rakudo e02bc0: OUTPUT«0␤» [08:48] * missingthepoint wonders if rakudo needs an RT janitor [08:51] moritz should does [08:53] moritz got too much stuff on his plate [08:53] i've browsed the rt tkts and a few already got fixed [08:54] yet their status was still 'open'/'new' [08:55] pugs: say 4 ** 3 ** 2 [08:55] pugs: OUTPUT«262144␤» [08:55] rakudo: say 4 ** 3 ** 2 [08:55] rakudo e02bc0: ( no output ) [08:55] rakudo: say 4 ** 3 ** 2 [08:55] rakudo e02bc0: OUTPUT«262144␤» [08:55] ah, different bug [08:55] *** payload left [08:56] rakudo: (\(1,2), \(3,4)).perl.say [08:56] rakudo e02bc0: OUTPUT«[[1, 2], [3, 4]]␤» [08:56] "the associativity of the infix op still needs fixing" [08:56] but it looks like the infix op does the right thing [08:57] it looks like reduce doesn't get it right [08:57] tann_: agree [08:58] 262144 is the right output [09:00] hmm...maybe, bc rakudo doesn't do lazy list? [09:00] moritz would know [09:02] phenny: tell moritz associativity of [**] reported as rt #63306 still doesn't work right ... [**] 4, 3, 2 should give 262144 [09:02] tann_: I'll pass that on when moritz is around. [09:03] alright fellas...sleep is morphine for a frazzled mind :) [09:03] tann_: sleep well :) [09:04] *** tann_ left [09:06] rakudo: ("f","oo","bar")>>.chars.perl.say [09:07] rakudo e02bc0: OUTPUT«[1, 2, 3]␤» [09:07] rakudo: ("f","oo","bar").chars.perl.say [09:07] rakudo e02bc0: OUTPUT«8␤» [09:07] rakudo: ("f","oo","bar").chars.perl.say [09:07] rakudo e02bc0: OUTPUT«8␤» [09:14] perl Configure.pl on windows faild ;( [09:15] *** sri_kraih_ joined [09:18] JimmyZ: rakudo Configure.pl? [09:19] *** eternaleye left [09:19] JimmyZ: what was the error message? [09:20] I think I should use linux, not windows [09:21] JimmyZ: i think the same thing often [09:21] missingthepoint: always missed some tools. ;) [09:26] *** minskman left [09:26] *** minskman joined [09:27] in fact, i think i'll install the latest ubuntu ;) i can dual boot. [09:28] I had one, install with wubi [09:28] *** szabgab_in_class joined [09:28] rakudo: "hello class".say [09:29] rakudo e02bc0: OUTPUT«hello class␤» [09:32] *** sri_kraih left [09:33] rakudo: grammar A { token a { A }; token b { B }; }; grammar B is A { token b { C }; }; if "AC" ~~ /()/ { say "OK:$0"; } [09:33] rakudo e02bc0: OUTPUT«Null PMC access in invoke()␤in regex PGE::Grammar::_block69 (/tmp/DVAA8zAea2:2)␤called from Main (/tmp/DVAA8zAea2:2)␤» [09:36] *** ZuLuuuuuu joined [09:37] *** minskman left [09:40] pugs_svn: grammar A { token a { A }; token b { B }; }; grammar B is A { token b { C }; }; if "AC" ~~ /()/ { say "OK:$0"; } [09:41] args :) [09:44] Statement not terminated properly at line 178, near ".arity || " [09:44] in Main (:3363) [09:45] parrot and rakudo all make failed on windows with chinese character TEMP ENV PATH;( [09:46] hi JimmyZ [09:46] hello sjohnson ;) [09:48] Oh hai, I made it to Lisbon. [09:49] jnthn: there is a bug with [**] op [09:49] but I can't send a mail to rt [09:50] Lack of recognition of it's associativity? [09:50] Think somebody may have run into this one before. [09:50] yes [09:51] rakudo: $_ = [**] 4, 3, 2; .say; # It should be 262144 not 4096 [09:51] rakudo e02bc0: OUTPUT«4096␤» [09:51] and i make rakudo faild with Statement not terminated properly at line 178, near ".arity || " [09:54] let me change it to linux :( [09:54] *** JimmyZ left [09:55] *** pmurias joined [09:57] *** fridim_ joined [10:02] *** ZuLuuuuuu left [10:04] *** minskman joined [10:13] *** ruz_mac joined [10:20] *** liangke joined [10:21] *** liangke is now known as JimmyZ [10:37] *** Front_slash joined [10:42] how can i upload a patch ? i make ('fo','foo','bars').>>.chars works [10:43] s/works/working/ [10:44] rakudo: ('fo', 'foo', 'bars').join('').chars.say [10:44] rakudo e02bc0: OUTPUT«9␤» [10:45] rakudo: ('fo', 'foo', 'bars').>>.chars.perl.say; [10:45] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ".>>.chars."␤in Main (src/gen_setting.pm:3363)␤» [10:45] liangke@ubuntu:~/rakudo$ ./perl6 -e "('fo','foo','bars').>>.chars.perl.say" [10:45] [2, 3, 4] [10:47] Oh hai jnthn :) [10:47] *** Front_sl1sh joined [10:48] *** Front_sl1sh left [10:59] afk restart [11:00] *afc [11:00] *** missingthepoint left [11:03] *** jhelwig joined [11:04] *** Front_slash left [11:08] *** missingthepoint joined [11:24] *** Whiteknight joined [11:28] *** ivast joined [11:29] *** jauaor joined [11:32] *** minskman_ joined [11:32] *** minskman left [11:33] git is really hard to create a patch :( [11:34] JimmyZ: git help format-patch [11:36] xinming: It's hard to follow http://wiki.github.com/rakudo/rakudo/steps-to-create-a-patch [11:37] It's more difficult than svn :( [11:47] *** samlh left [11:48] *** M_o_C joined [11:54] *** |Jedai| left [11:56] *** edpratomo joined [11:57] *** ruz_mac left [11:59] * pmichaud _finally_ gets to his hotel room and gets wifi working [12:00] I used 'git format-patch -M b3a2ea5df54d0b6ec978b63892be8bfdbf749fd5 ', but I can't see any patch created. [12:02] r27829 | kyle++ | [t/spec] label test for RT #63306 [12:03] kyle++ [12:05] *** |Jedai| joined [12:24] *** szabgab_in_class left [12:35] *** KyleHa joined [12:37] *** minskman_ left [12:54] *** edpratomo left [12:58] *** ruz_mac joined [13:16] *** fridim_ left [13:18] rakudo: if 'bar3' ~~ /<+-[0]>/ { say 'match' } [13:18] rakudo e02bc0: OUTPUT«perl6regex parse error: Error parsing enumerated character class at offset 26, found '<'␤in Main (src/gen_setting.pm:3363)␤» [13:55] hello pmichuad ? [13:55] hello pmichaud ? [13:56] *** poe left [14:03] can I add more missing test cases to t/spec/ ? [14:04] *** ruz_mac_ joined [14:06] JimmyZ: just go ahead and do it, can revert if necessary [14:08] *** ruz_mac_ left [14:08] *** ruz_mac__ joined [14:12] r27830 | jimmy++ | added more missing test cases from S03 [14:13] JimmyZ: when you commit, it helps the developers if you put a tag on the front of your commit message :) [14:13] ah forgot it [14:14] like so: svn commit -m '[t/spec/S03-operators/ternary.t] changed <...>' [14:14] JimmyZ: no problem, just remember it next time :) [14:14] too much work makes me forgetful [14:15] aye, that it does :) [14:15] (for most of us it does) [14:17] r27831 | jimmy++ | [/t/spec/S03-operators/hyper.t] added missing dot [14:20] *** ruz_mac left [14:29] *** unitxt joined [14:32] *** Whiteknight left [14:47] *** missingthepoint left [14:49] *** abra joined [14:55] *** ivast left [14:55] *** Patterner left [15:01] *** Psyche^ joined [15:01] *** Psyche^ is now known as Patterner [15:01] *** lumi left [15:15] *** justatheory joined [15:20] *** minskman joined [15:21] *** minskman left [15:21] *** rba_ joined [15:24] *** rba_ left [15:25] std: my @r = (1, 2, 3)>>++; [15:25] std 27831: OUTPUT«ok 00:02 38m␤» [15:26] perl6: my @r = (1, 2, 3)>>++; [15:26] elf 27831: OUTPUT«Useless use of a constant in void context at (eval 121) line 3.␤Can't modify constant item in postincrement (++) at (eval 121) line 3, near ")++"␤Too many arguments for postincrement (++) at (eval 121) line 3, near ")++"␤ at ./elf_h line 5881␤» [15:26] ..pugs: ( no output ) [15:26] ..rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ">>++;"␤in Main (src/gen_setting.pm:3363)␤» [15:26] pugs: my @r = (1, 2, 3)>>++; say @r; [15:26] pugs: OUTPUT«␤» [15:29] rakudo: my @r = (1, 2, 3).map: { .++ }; say @r; [15:29] rakudo e02bc0: OUTPUT«Unable to parse block; couldn't find final '}' at line 2, near ".++ }; say"␤in Main (src/gen_setting.pm:3363)␤» [15:29] *** rba_ joined [15:30] *** jferrero joined [15:33] *** justatheory left [15:35] std: (1,4,9).>>.++.say [15:35] std 27831: OUTPUT«ok 00:02 37m␤» [15:35] std: (1,4,9).>>.++++.say [15:35] std 27831: OUTPUT«ok 00:02 37m␤» [15:35] std: (1,4,9).>>++++.say [15:35] std 27831: OUTPUT«ok 00:02 37m␤» [15:35] std: (1,4,9).>>++++.perl.say [15:35] std 27831: OUTPUT«ok 00:02 37m␤» [15:39] *** eric2561 joined [15:39] *** eric2561 left [15:41] *** eric256 joined [15:41] any perlmonks gods around? [15:41] I'm a mere saint. [15:42] ;) yea i need password assistance [15:42] since the leak screwed me over [15:42] That's what I figured. [15:43] yea whoever got me got my gmail account as well so i can't recover my password...and they changed the alt email on the account so i cant get my gmail back either [15:43] Yikes. [15:44] *** Limbic_Region joined [15:44] hey L~R can you help me with a password issue? [15:44] i just used the logged out msg gods feature too...trying to get control of my accounts back ;( [15:48] please? anyone? hmmmphhh dunno what to do now [15:50] *** lumi joined [15:50] *** molaf joined [15:58] posted anon in the password change thread...hopefully that will help [15:58] sorry, wasn't paying attention to the channel [15:59] I don't believe anyone in authority is reading that thread to help people [15:59] let me see what you need to do and I will help you [15:59] thanks [16:00] *** KyleHa left [16:00] i used the pm gods link and posted there as anon, old email address got compromised as well so I posted the new email address [16:00] *** KyleHa joined [16:01] so you did http://perlmonks.org/?node_id=491035 and email [email@hidden.address] [16:01] ? [16:02] i didn't email that address yet [16:02] but i can [16:02] I think the issue is that there are no gods currently in the Monastery - the gmail address is probably linked to tye [16:02] that's a guess [16:02] oh hurray and google just renabled my other account [16:03] i was worried they wouldn't cause i couldn't remember a whole lot of the detail they wanted .. ;) [16:03] well, it sounds like you had a better time with them than I did with Yahoo on an unrelated hacking incident with my wife's account [16:03] * Limbic_Region was NOT impressed [16:05] yea google makes you wait 24 hours then asks all sorts of questions about your account. when you used it, who you emailed, folders, creation date, on and on and on. lol very scary but apparently worked...just got the new password, now to see if i got a message from perlmonks on that account [16:06] any idea if passwords are hashed now? [16:07] no, there will be an announcement and there hasn't been one [16:08] *** rba_ left [16:08] a lot of people are upset which is understandable but it isn't like people can drop their day jobs either [16:08] okay well i'm back in now ;) hashing shouldn't be a big project...anything i could do to assist? [16:09] *shrug* not unless you are one of the gods apparently. The implication was that it wasn't even something devils could help with [16:09] but I am not in the know you know - I am just a regular user - albeit addicted [16:10] lol alright i always thought you where a devil ;) [16:11] pretty odd since no one on that site would ever recommend a user store passwords to then have the site store passwords. [16:11] alright i've hijacked p6 long enough ;) [16:16] does backticks have a function form? [16:16] meant to ask in #perl, sorry [16:18] *** KyleHa left [16:24] *** Limbic_Region left [16:31] *** hoelzro joined [16:34] *** araujo left [16:40] *** KyleHa joined [16:40] *** KyleHa left [16:43] *** araujo joined [16:48] *** hoelzro left [16:54] *** JimmyZ left [17:13] *** frew_ joined [17:14] *** Grrrr joined [17:22] *** kane_ joined [17:40] *** justatheory joined [17:46] *** nihiliad joined [17:46] *** Front_slash joined [17:49] *** eternaleye joined [17:50] *** Front_slash left [17:51] *** xomas_ joined [18:00] *** ruz_mac__ left [18:08] *** dakkar joined [18:10] *** ruz_mac joined [18:18] *** cls_bsd left [18:28] *** ruz_mac left [18:28] *** ruz_mac_ joined [18:30] *** kimtaro joined [18:39] *** abra left [18:41] *** kane_ left [18:54] *** iblechbot joined [18:56] *** M_o_C left [19:02] *** cls_bsd joined [19:07] *** kane_ joined [19:08] *** jferrero left [19:08] was the Perl 6 Christmas meme borrowed from Ruby? [19:09] I ask because of this: http://www.reddit.com/r/ruby/comments/8wb6l/ruby_192_plans_announced/c0aotv8 [19:09] *** abra joined [19:14] *** lumi left [19:14] *** user_7111 joined [19:19] *** user_7111 left [19:27] *** bionoid left [19:29] *** lumi joined [19:30] *** M_o_C joined [19:31] *** kane_ left [19:32] *** abra left [19:35] good evening, #perl6 [19:36] hi pmichaud [19:37] Wow, curiously for once we agree on the part of day. ;-) [19:37] :-) [19:38] *** kane_ joined [19:40] * jnthn has just unhappily discovered that there are...issues...when you .wrap something from a trait handler. :-/ [19:40] (Might not be specific to trait handlers...might be related to another RT ticket too) [19:43] Ah, seems it is vaguely related to them. :-( [19:44] Suspect it's because of the twiddling with outer scopes, and loadinit time has some issues there. [19:44] *** dakkar left [19:45] *** molaf left [19:46] *** nihiliad left [20:03] pmichaud: Got plans for tomorrow? Want to meet up to plan/do Rakudo bits? [20:03] ...or just to drink beer? ;-) [20:09] *** hah left [20:12] jnthn: I was thinking about crashing szagab's Perl 6 tutorial (and hacking from there) [20:12] but other than that I have few plans for tomorrow other than hacking [20:13] (or planning, or whatever) [20:26] *** eric256 left [20:32] *** ivast joined [20:32] * pmichaud wanders off to grab some dinner [20:59] *** mberends joined [21:16] *** frew_ left [21:19] *** Whiteknight joined [21:20] *** ruz_mac_ left [21:21] *** ruz_mac joined [21:25] *** simcop2387 is now known as simcop2388 [21:25] *** simcop2388 is now known as simcop2387 [21:43] *** maja joined [21:56] *** maja_ left [22:35] *** masak joined [22:35] oh hai, perl6ers. [22:35] masak: 07:54Z tell masak Tree: http://github.com/wayland/Tree/tree/master (needs work before it's even coherent; there's an XML grammar in there, but that's just so that we can play with it until we can get something we like :) ) [22:36] wayland76: cool. will look. [22:36] I have many questions, after participating in szabgab's course. [22:37] those students were curious people, and had many good questions, which I took down. [22:37] is there someone awake/not in transit that I can ask? :) [22:43] *** pmurias left [22:46] diakopter: moo? [22:46] diakopter: jooseedis? http://wp.colliertech.org/cj/?cat=194 [22:49] rakudo: printf "%s %s,\n%s, %s!\n%s %s,\n%s\n", ("How I'd like", "some apple pie", "It'd make me such a happy monkey")[0,1,1,1,0,1,2] [22:49] rakudo e02bc0: OUTPUT«How I'd like some apple pie,␤some apple pie, some apple pie!␤How I'd like some apple pie,␤It'd make me such a happy monkey␤» [22:53] masak: oh hai [22:53] jnthn: \o/ [22:53] jnthn: got some q's for you. [22:53] kk [22:53] How come .= exists if infix:<.> is fiddly? [22:53] oops, maybe I'll ask TimToady that. :) [22:54] Remember that .= can be parsed two ways. [22:54] because of array assignment? [22:54] (As an op and as a dotty.) [22:54] oh, right. [22:54] $x.=foo; [22:54] $x .= foo [22:54] Those parse differently. [22:54] nodnodnod [22:54] ok, next q: [22:55] rakudo: my @a = 1,2,3; @a >>+<<= (4,5,6); say ~@a [22:55] rakudo e02bc0: OUTPUT«No applicable methods.␤in Main (/tmp/vbp7P0zR3v:2)␤» [22:55] (But *should* semantically be the same. Apart from I screwed it up somehow...so occasionally somehow they differ.) [22:55] should that work, or am I just insane? [22:55] >>+=<< IIRC. [22:55] std: my @a = 1,2,3; @a >>+<<= (4,5,6); say ~@a [22:55] std 27831: OUTPUT«===SORRY!===␤Preceding operator expects term, but found infix = instead at /tmp/r60Y1Kqgbw line 1:␤------> my @a = 1,2,3; @a >>+<<=⏏ (4,5,6); say ~@a␤FAILED 00:02 39m␤» [22:55] jnthn: oh. [22:55] std: my @a = 1,2,3; @a >>+=<< (4,5,6); say ~@a [22:55] *** orafu joined [22:55] std: my @a = 1,2,3; @a >>+=<< (4,5,6); say ~@a [22:55] oops, I'm laggy. :-) [22:56] std 27831: OUTPUT«ok 00:03 41m␤» [22:56] rakudo: my @a = 1,2,3; @a >>+=<< (4,5,6); say ~@a [22:56] rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ">>+=<< (4,"␤in Main (src/gen_setting.pm:3363)␤» [22:56] I doubt Rakudo handles that since it's a nested meta-operator. [22:56] ok. [22:56] I won't bother reporting it, I think. [22:56] We pre-generate various meta-op forms. [22:56] Well, if you do it wants to be a general catch-all ticket. [22:57] nah. [22:57] Otherwise we've enough combinations to file an infinite number of tickts. ;-) [22:57] you'll get there eventually, I'll bet. [22:57] rakudo: my $a = "foo"; $a eq= "bar" [22:57] It waits on parsing changes. [22:57] rakudo e02bc0: OUTPUT«No applicable methods.␤in Main (/tmp/3HhipurQY7:2)␤» [22:57] jnthn: now, this came up in class. [22:57] That one surprises me a little. [22:57] infix: is diffy, I know. [22:57] but why is that an issue here? [22:57] std: my $a = "foo"; $a eq= "bar" [22:57] std 27831: ( no output ) [22:58] ?? [22:58] std: my $a = "foo"; $a eq= "bar" [22:58] If an infinite number of tickets are filed in an infinite number of bug trackers, do they make a sound? [22:58] std 27831: ( no output ) [22:58] std-- [22:58] std: my $a = "foo"; $a eq= "bar" [22:58] std 27831: OUTPUT«===SORRY!===␤Can't make assignment out of eq because chaining operators are diffy at /tmp/3WJraUiJqR line 1:␤------> my $a = "foo"; $a eq=⏏ "bar"␤FAILED 00:04 37m␤» [22:58] plzthistime? [22:58] Oh, hmm [22:58] diffy. told ya. [22:58] but why is that an issue? [22:58] OK, so Rakudo is wrong to parse it. [22:58] I'm not sure on that one. I delegate to TimToady. :-) [22:59] yes, but why is STD.pm right not to parse it? [22:59] I'm not sure on the rational. [22:59] after discussing in class today, it doesn't seem unreasonable to have assignment-meta-opped diffy ops. [22:59] No, it doesn't strike me as unreasonable at first glance. [23:00] right. next q. [23:00] std: my @a = 1,2,3; for @a -> $a, $b = 5 { say $a, "\t", $b } [23:00] I'd be interested to hear the reasoning too. [23:00] std 27831: ( no output ) [23:00] rakudo: my @a = 1,2,3; for @a -> $a, $b = 5 { say $a, "\t", $b } [23:00] rakudo e02bc0: OUTPUT«1 2␤StopIteration␤in Main (/tmp/r6gsEBomrO:2)␤» [23:00] that can't be right. [23:00] Rakudo bug. [23:00] * masak submits [23:01] Granted, it's a little tricky to deal with. But Rakudo should imo handle that. [23:01] rakudo: my @a = 1,2,3; for @a -> $a, $b? { say $a, "\t", $b } [23:01] rakudo e02bc0: OUTPUT«1 2␤StopIteration␤in Main (/tmp/tNbB2dBjAU:2)␤» [23:01] rakudo: my @a = 1,2,3,4; for @a -> $a, $b = 5 { say $a, "\t", $b } [23:02] OK, good, so it's general. [23:02] rakudo e02bc0: OUTPUT«1 2␤3 4␤» [23:02] that's part of the bug. [23:02] Not specific to the default being implicit. [23:02] erm [23:02] the default making the parameter implicitly optional. [23:02] I think this may have been ticketed before. [23:03] quite possibly. [23:03] we have too many RT tickets. [23:03] It's come up before. [23:03] someone should, like, decrease their number or something. [23:03] :-P [23:03] It does'nt help that there are dupes. [23:04] "it's not my fault!" cried the Slashdot editor. [23:04] ;-) [23:04] ok, so here's an interesting one: [23:04] rakudo: my @a = "A", 20, "B", 23, "C", "D", 30; for @a -> Str $name, Int $age? { say $name, "\t", $age } [23:04] Well, our ticket queue isn't *that* bad. ;-) [23:04] rakudo e02bc0: OUTPUT«A 20␤B 23␤Parameter type check failed; expected Int, but got Str for $age in call to _block66␤in Main (/tmp/cBBanBG22E:2)␤» [23:05] jnthn: right, I've seen worse :) [23:05] I'm not sure why that one is interesting. [23:05] jnthn: oh, come on! what would it take for this one to work? [23:05] Nothing that I'd like to see happen. [23:05] jnthn: is it the same issue as the one with .reduce? [23:06] ok, so it's a non-issue, then. [23:06] next q: [23:06] Well, maybe, apart from you don't get to supply multiple candidates to handle the for loop body. ;-) [23:06] erm, no, I'm not recommending that. ;-) [23:06] :) [23:06] can we have multi dispatch on return types? [23:06] No [23:07] people requested it today when I told them want() was dead. [23:07] In 6.0.0 this is spec'd as "not required to happen". [23:07] oh, but there's still room for it? [23:07] It has all of the implementation issues of want - and more. [23:07] I think the better answer is going to be finding a good way to do contextual return values. [23:08] The chained dispatch case makes it really hard to see a good solution for this. [23:08] some_multi(another_multi($x)) [23:09] Here, there may be several candidates for some_multi [23:09] jnthn: exactly that case was discussed today. [23:09] Thus if another_multi wants to go by return type, well, ambiguous. [23:09] jnthn: I'm not making a case for this, just saying that people expressed an interest. [23:10] rakudo: class A { method foo { has $.bar } } [23:10] rakudo e02bc0: OUTPUT«Attempt to define attribute $!bar outside of class, role, or grammar at line 2, near "} }"␤in Main (src/gen_setting.pm:1742)␤» [23:10] may I flag this as a 'less than awesome' error message? [23:11] To be honest, I think that's (a) because people are used to doing it that way in Perl 5, and hopefully will become more comfortable with the Perl 6 approach with time, and (b) people aren't used to multiple dispatch and find it hard to see why return type based dispatch runs into issues. [23:11] jnthn: ack. [23:12] If we added "body" to the end of that message, is it more awesome? [23:12] jnthn: first thing people asked after learning that given/when auto-breaks, was "how do I make it not break?" [23:12] jnthn: slightly. [23:12] OK. Please if you're going to ticket it suggest how you'd like it worded, or at least why the current wording is weak. [23:13] how to make it not break - continue, IIRC. [23:13] I forget off hand. [23:13] There's a way. [23:13] $?BLOCK.leave, iirc [23:13] AKA just 'leave' [23:14] Does that work already? [23:14] leave feels...curious. [23:14] I know *why* it works. [23:14] It just in that context doesn't feel very self-documenting. [23:15] jnthn: yes, 'continue'. I know the answer, it was the fact that people immediately asked (because they were used to the old way) that was interesting [23:16] Yes. [23:16] rakudo: say (1..10).sort(&rand) [23:16] rakudo e02bc0: OUTPUT«too many arguments passed - 0 params expected␤in sub rand (src/gen_setting.pm:381)␤called from method Any::map (src/gen_setting.pm:183)␤called from Main (/tmp/KWXrCs0YDb:2)␤» [23:16] I think it's huffmanized the right way. [23:16] shouldn't that work? [23:16] jnthn: not only huffmanized, but actually sane. [23:16] There's a 'continue' statement? [23:16] what does it do? [23:16] Tene: didn't you implement that? :) [23:17] isn't that 'next'? [23:17] Tene: it non-leaves the 'when' block. [23:17] there's a 'continue' insi... what masak++ said [23:17] (good evening, #perl6) [23:17] pmichaud: oh hai! [23:17] ah [23:17] pmichaud: are you in teh Lisbon? [23:18] IM IN UR LISBON, HACKING UR RAKUDO. [23:18] rakudo: given 1 { when * { say 'a'; continue }; when * { say 'b'; continue }; say 'c' } [23:18] rakudo e02bc0: OUTPUT«a␤b␤c␤» [23:18] \o/ [23:18] masak: once the commits make it to the repo, they're eligible for GC in my memory. [23:19] Tene: sounds wonderful. then no-one can get blamed afterwards. [23:19] masak: yes, 'git blame' indicates that I did implement that. [23:19] rakudo: say &rand.multi [23:19] rakudo e02bc0: OUTPUT«0␤» [23:19] rakudo: say &rand.signature.perl [23:20] rakudo e02bc0: OUTPUT«:(Any *@args)␤» [23:20] masak: yes, I'm in Lisbon [23:20] Erm. :-/ [23:20] pmichaud: welcome! [23:20] rakudo: say &rand.arity [23:20] jnthn: wrong, right? [23:20] Note that slurpies are supposed to be Object, not Any [23:20] rakudo e02bc0: OUTPUT«0␤» [23:20] masak: hacking on my roguelike tonight... [23:20] masak: Well the answers can't both be right. ;-) [23:20] Tene: nice! [23:20] jnthn: so, bug tikkit? [23:20] Anyway, rnad is 0-ary, at least as far as Rakudo knows it. [23:21] jnthn: right, so &sort should accept it. [23:21] So in your sort example, Rakudo doesn't really know what to do with an 0-ary. [23:21] rakudo: 'rnad'.comb.pick(*).say [23:21] rakudo e02bc0: OUTPUT«adrn␤» [23:21] darn! [23:21] *any* 0-ary sub passed to sort is effectively a random sort. [23:22] so we can optimize that and just return the list in the same order it was passed. :) [23:22] Tene: Right! [23:22] lol! [23:22] well, it depends on the 0-ary. [23:22] indeed. [23:22] a 0-ary sub that always returns zero should end up not modifying the sort [23:22] Aye. [23:22] True. [23:22] It's odd anyway. ;-) [23:23] is Perl 6's sort guaranteed to be stable? [23:23] Tene: aye. [23:23] But maybe sort could be made to understnad 0-ary blocks. [23:23] jnthn: spec says it should. [23:24] ah, ok [23:24] Then, fix it. :-) [23:24] * masak submits rakudobug [23:24] Or rakudobug. ;) [23:24] the spec says it supports 0-ary blocks? [23:24] pmichaud: aye. [23:25] weird [23:25] aye. [23:25] anyway, I want to rewrite Rakudo's sort in p6 anyway [23:25] (with inlined PIR) [23:25] currently it's pure-PIR, and doesn't need to be [23:25] I had been waiting on getting postcircumfix:<[ ]> refactored, which has been done now [23:25] It has? [23:25] Nice! [23:26] * jnthn hadn't realizized that that refactor thad landed. [23:27] yes, a couple of months ago [23:27] there might be a bit more to do there, but it was the thing that was holding up *-1 [23:27] But we don't do *-1 right yet? Or do we? [23:28] rakudo: (*-1).WHAT.say [23:28] rakudo e02bc0: OUTPUT«WhateverCode()␤» [23:28] Oh, we do. [23:28] OK. :-) [23:28] rakudo: (*-1).(43).say [23:28] rakudo e02bc0: OUTPUT«42␤» [23:28] \o/ [23:28] pmichaud++ [23:28] OK, time for me to get a bit of sleep [23:28] Catch you all tomorrow [23:29] jnthn: it's even better [23:29] rakudo: ((*-1)/2).(43).say [23:29] At the pre-registration I guess, if not before. :-) [23:29] rakudo e02bc0: OUTPUT«21␤» [23:29] oh wow! [23:29] Really nice. [23:29] jnthn: when/where should we get together tomorrow? [23:29] pmichaud++ [23:29] pmichaud: Up to you. Where/when is the P6 tutorial? [23:30] I'm planning to attend the Perl 6 tutorial. Building C8, iirc [23:30] OK [23:30] jnthn: boa noite! [23:30] pmichaud: yes, C8. [23:30] We'll late bind the decision and work it out tomorrow. ;-) [23:30] pmichaud: I attended today. [23:30] * jnthn -> sleep [23:30] fair enough. You should be able to catch me online. [23:30] pmichaud: it was worth it. I'm glad you're going tomorrow. [23:30] masak: yes, I saw backscroll. Glad you're watching what's happening there. [23:31] (I'll likely not go. need to procrastinate presentation a bit more) [23:31] I would've gone today but my flights were very late so that it would've been close to 2pm before I could get there. I decided sleep was better than ~2 hrs at p6 [23:31] pmichaud: guessed as much. [23:31] masak: you won't be there? what's going on instead? ;-) [23:32] pmichaud: presentation procrastination :) [23:32] ahhhh [23:32] it feels very strange to not have that issue (for me) [23:32] it takes a lot of time to procrastinate right. [23:32] pmichaud: aye, I look forward to some day being in that situation. [23:32] I'm usually an expert at procrastinating presentations. This time events just conspired against me [23:34] sorta like a late binding that just happened to be resolved at compile time... [23:34] yes [23:35] or it was a fortunate compile-time optimization :-) [23:36] heh :) [23:37] *** jferrero joined [23:37] so, I'm curious -- was last night at the hostel as wild as projected? [23:37] or did it remain "calm"? [23:37] pmichaud: it was almost disappointingly orderly. [23:38] pmichaud: biggest disturbance was Croatian room-mates forgetting their keycard all the time and knocking on the door. [23:39] alas [23:39] I'm feeling pretty decadent in my hotel room -- it's far nicer than I was expecting. [23:39] *** mberends left [23:40] my only complaint is that there doesn't seem to be much in the way of "see and do" near the hotel [23:40] but maybe I just don't know where to look [23:40] that's not a problem in our neighbourhood. [23:40] we're smack in the centre of things. [23:41] here, there's almost too much to see. [23:41] well, see you tomorrow. [23:41] see you tomorrow! [23:41] g'night. [23:41] * pmichaud looks to see where "here" is. [23:41] pmichaud: oh, and prepare for no wifi at the class tomorrow. :/ [23:42] *** masak left [23:42] no wifi? They don't enable it until Monday? Or it just doesn't work? [23:42] (I wondered why things were suspiciously quiet from there today) [23:47] *** FCO joined [23:52] *** jauaor left [23:53] *** ivast left