Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-08-02

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:07 kubrat joined #perl6
00:12 kubrat left #perl6
00:49 kane_ joined #perl6
00:54 meppl good night
01:10 jferrero joined #perl6
01:31 kane_ left #perl6
02:48 lumi_ joined #perl6
03:00 jauaor joined #perl6
03:16 vigith joined #perl6
03:23 tann joined #perl6
03:25 lumi joined #perl6
03:29 justatheory joined #perl6
04:00 JimmyZ joined #perl6
04:04 JimmyZ_ joined #perl6
04:08 flexibeast joined #perl6
04:13 lumi_ joined #perl6
04:15 alester joined #perl6
05:35 lumi joined #perl6
05:37 molaf joined #perl6
05:40 orafu joined #perl6
05:45 JimmyZ joined #perl6
05:46 PZt joined #perl6
06:01 missingthepoint joined #perl6
06:02 JimmyZ rakudo: $_ = Num; $_('h22h').say;
06:03 p6eval rakudo e02bc0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/nPcB1YsEgT:2)␤»
06:03 JimmyZ rakudo: $_ = Int; $_('h22h').say;
06:03 p6eval rakudo e02bc0: OUTPUT«invoke() not implemented in class 'Integer'␤in Main (/tmp/sj7wvqoC5t:2)␤»
06:03 JimmyZ rakudo: nt('h22h').say;
06:03 JimmyZ rakudo: Int('h22h').say;
06:03 p6eval rakudo e02bc0: OUTPUT«Could not find non-existent sub nt␤»
06:03 p6eval rakudo e02bc0: OUTPUT«invoke() not implemented in class 'Integer'␤in Main (/tmp/KT3SBPtHKV:2)␤»
06:13 JimmyZ rakudo: ('2,',d','/3','sdf').elems.say
06:13 p6eval rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near "','/3','sd"␤in Main (src/gen_setting.pm:3363)␤»
06:14 JimmyZ rakudo: ('2,',',d','/3','sdf').elems.say
06:14 p6eval rakudo e02bc0: OUTPUT«4␤»
06:21 missingthepoint JimmyZ: you can talk to the evalbot directly ;)
06:46 ruz_mac joined #perl6
06:48 masak joined #perl6
06:49 masak rakudo: { "Morning, $^someone!" }.("perl6ers").say
06:49 p6eval rakudo e02bc0: OUTPUT«Morning, perl6ers!␤»
06:52 missingthepoint masak: care to exposit that line for me? :)
06:52 missingthepoint masak: good morning!
06:53 masak missingthepoint: morning. yes, sure.
06:53 masak missingthepoint: $^someone is an implicit parameter. explained in S06, I think.
06:53 masak it gets bound to the argument "perl6ers" I send in.
06:53 masak so the whole block returns the string you see printed.
06:54 missingthepoint i'm confused by the method call syntax
06:55 missingthepoint ah, the block's an object
06:55 missingthepoint and it returns and object on which you call say
06:55 masak yes. a string.
06:55 missingthepoint because everything's an object! :)
06:56 masak sure, whatever :)
06:56 masak rakudo: { &^c("$^a, $^b") }.("morning", "perl6ers", &say)
06:56 p6eval rakudo e02bc0: OUTPUT«Parameter type check failed; expected Callable, but got Code for c in call to _block50␤in Main (/tmp/lu21Y4RHO7:2)␤»
06:56 * masak submits rakudobug
06:57 missingthepoint masak: new bug need for this?
06:57 missingthepoint rakudo: say [**] 4,3,2
06:57 p6eval rakudo e02bc0: OUTPUT«4096␤»
06:58 masak rakudo: { &^foo("OH HAI") }.(&say)
06:58 p6eval rakudo e02bc0: OUTPUT«Parameter type check failed; expected Callable, but got Code for foo in call to _block50␤in Main (/tmp/DSpLRRPsT2:2)␤»
06:58 masak rakudo: say 4**(3**2)
06:58 p6eval rakudo e02bc0: OUTPUT«262144␤»
06:58 masak rakudo: say (4**3)**2
06:58 p6eval rakudo e02bc0: OUTPUT«4096␤»
07:00 masak missingthepoint: when in doubt, submit. :) go right ahead.
07:01 missingthepoint JimmyZ found it yesterday
07:01 masak missingthepoint: care to report it?
07:01 missingthepoint yes
07:03 masak rakudo: say [-]()
07:03 p6eval rakudo e02bc0: OUTPUT«0␤»
07:07 Su-Shee joined #perl6
07:07 Su-Shee good morning. :)
07:07 lambdabot Su-Shee: You have 1 new message. '/msg lambdabot @messages' to read it.
07:07 masak I was going to add .warn as a method of Any in the spec, but it looks like it's already a method of Object, at least according to S32/Basics.
07:07 masak Su-Shee: morning!
07:08 missingthepoint morning Su-Shee :)
07:09 masak rakudo: { &^foo }.(&say)
07:09 p6eval rakudo e02bc0: OUTPUT«Parameter type check failed; expected Callable, but got Code for foo in call to _block50␤in Main (/tmp/ItwenHGieA:2)␤»
07:10 masak rakudo: -> &foo {}.(&say)
07:10 p6eval rakudo e02bc0: OUTPUT«Parameter type check failed; expected Callable, but got Code for foo in call to _block50␤in Main (/tmp/tbgIXOFn8F:2)␤»
07:10 masak rakudo: sub (&foo) {}.(&say)
07:10 p6eval rakudo e02bc0: OUTPUT«Statement not terminated properly at line 2, near ".(&say)"␤in Main (src/gen_setting.pm:3363)␤»
07:10 masak rakudo: (sub (&foo) {}).(&say)
07:10 p6eval rakudo e02bc0: OUTPUT«Parameter type check failed; expected Callable, but got Code for foo in call to _block50␤in sub _block50 (/tmp/5TxfI8OcpU:2)␤called from Main (/tmp/5TxfI8OcpU:2)␤»
07:12 missingthepoint gah typos... RT #68114
07:12 missingthepoint JimmyZ++
07:13 missingthepoint Su-Shee: your last blog post was excellent. :)
07:13 Su-Shee the pretty perl stuff?
07:13 missingthepoint yah
07:14 japhb link?
07:14 Su-Shee it's unbelievable what one can do in a few hours if you're not have to poke around with xlib and c.
07:14 Su-Shee japhb: http://sushee.schreibsturm.org
07:14 missingthepoint Su-Shee: that is why i switched to perl! :)
07:15 japhb Su-Shee: thx
07:15 Su-Shee missingthepoint: besides that "gui" is my favorite subject technically, that's what I have in mind for perl6/parrot: a really nice suite of "gui stuff" to prototype windowmanagers and sceenlets and whateverlets and gui apps.
07:15 masak for people from the future, here's the absolute URL: http://sushee.schreibsturm.o​rg/2009/07/pretty-perl.html
07:16 missingthepoint masak++ for remembering this is more than just a chatroom
07:16 Su-Shee I really can't stress OLPC's "sugar" as a great example.
07:16 masak Su-Shee++ # blog post
07:17 Su-Shee (and let's not forget that we have inotify, dbus, usb, foo and bar and whatever perl bindings to work with..)
07:18 masak rakudo: class A { method poscircumfix:<( )>() { say "OH HAI" } }; A.new().()
07:18 p6eval rakudo e02bc0: OUTPUT«invoke() not implemented in class 'A'␤in Main (/tmp/tqdQGJ3fbR:2)␤»
07:19 masak how do I make a custom Callable class?
07:23 missingthepoint Su-Shee: i would love that... I've been dreaming of an "emacs-but-in-perl6"...
07:23 missingthepoint Xemacs, even
07:24 Su-Shee missingthepoint: wouldn't that  be an editor engine with perl6 scripting and free form keyboard shortcuts to be customized as either vi, emacs or win-style?
07:25 Su-Shee missingthepoint: editorcode-wise it's probably totally meaningless wether I call dd or something else to delete a line.
07:25 missingthepoint Su-Shee: well, my specific dreams are: 1) perl6 macros eqv to elisp, 2) everything gui done in perl6 to allow custom *graphical* extensions to the editor
07:25 Su-Shee (make it a parrot editor engine, why stop at perl6...)
07:26 Su-Shee missingthepoint: let's face it, we all got perl6 projects up until ... 2021 ;)
07:26 JimmyZ joined #perl6
07:26 missingthepoint Su-Shee: true, true
07:26 masak (which is kinda ironic, considering that the world is coming to an end in 2012.)
07:27 JimmyZ afternoon, #perl6
07:27 missingthepoint hi JimmyZ! :)
07:27 masak JimmyZ: hi
07:27 Su-Shee masak: it does? I thought the next coming to an end is 2038? ;)
07:27 JimmyZ hello missingthepoint and masak
07:27 masak Su-Shee: oh sure, that one too.
07:28 masak Su-Shee: we have like a schedule of apocalypses laid out.
07:28 Su-Shee ah, and btw on the subject of perl6 bindings and all that: http://www.programmableweb.com/ is the most important source for all "web api" things.
07:28 JimmyZ hello masak, do you have a rakudo commit?
07:29 masak JimmyZ: a commitbit? yes.
07:29 missingthepoint JimmyZ: you have a bugfix? :)
07:31 * missingthepoint takes a look at assign.pir
07:32 JimmyZ no, just move grammer from STD.pm to rakudo, that makes some new spec partial working which still needs to be extended
07:33 masak JimmyZ: you could nopaste it, and I could have a look.
07:33 masak JimmyZ: have you run the spectests on it?
07:34 JimmyZ yes, and I added new spectests to pugs repo.
07:34 masak wow, cool.
07:34 masak so, what's the patch?
07:36 JimmyZ wait...
07:37 JimmyZ the problem is that, I don't know how to create a patch on windows.
07:39 missingthepoint masak: an apocalypse is just a revealing... :)
07:42 masak missingthepoint: yes, but the thing being revealed might be the end of the world... as we know it.
07:43 masak JimmyZ: ok. neither do I, unfortunately.
07:47 lisppaste3 jimmy pasted "patch" at http://paste.lisp.org/display/84610
07:47 missingthepoint masak: i was going to do Text::CSV first, but after seeing the contortions it goes through to deal with a broken format, Scruffy might be an easier first port
07:47 JimmyZ masak: that's the patch
07:48 masak JimmyZ: thanks.
07:48 masak missingthepoint: as mentioned, I'm willing to support you in any way I can with the Scruffy port.
07:48 JimmyZ I think <postfix_prefix_meta_operator>? is no need.
07:48 masak I believe it would be a very good thing to have.
07:48 JimmyZ but I can't have a try.
07:49 missingthepoint masak: thank you, i appreciate it a lot. :)
07:50 masak missingthepoint: let me know when you have a github repo (or equiv).
07:50 masak JimmyZ: ok, I see changes to three files.
07:51 masak the first change looks like a non-destructive simplification.
07:51 masak the second change removes an unused local variable.
07:51 masak both of these changes are fine, I guess.
07:52 masak the third change is the interesting one, I guess.
07:52 lisppaste3 jimmy pasted "another patch" at http://paste.lisp.org/display/84611
07:53 masak ok, I'll need to look this up in STD.pm.
07:53 JimmyZ thanks.
07:54 JimmyZ parrot still can't 'make' with chinse TEMP PATH.
07:55 JimmyZ should say chinese character
07:55 masak so a postfix_prefix_meta_operator would be the '>>' of '@obj>>.meth()', for example?
07:55 JimmyZ yes
07:55 JimmyZ add now support @obj.>>.meth()
07:55 masak I'm running spectests now.
07:56 masak I'll apply your patch, and then run them again.
07:56 JimmyZ masak++
07:56 masak if it looks good to me, I'll commit it.
08:01 JimmyZ masak: this patch just makes S03-operators/hyper.t more happy.
08:01 masak JimmyZ: so there's an opportunity for unfudging after applying your patch?
08:02 * masak reads S03-operators/hyper.t
08:05 masak hm, the tests on line 137 and the rest in that block look wrong to me.
08:05 masak they say »+«, but I think they should say »+»
08:06 masak um, and some of them should say «+«
08:06 * masak fixes
08:08 JimmyZ maska: http://perlcabal.org/svn/pugs/revision/?rev=27830
08:08 JimmyZ masak : that's the tests. http://perlcabal.org/svn/pugs/revision/?rev=27830
08:10 masak JimmyZ: ok. those look good to me.
08:10 masak running spectests on your changes now.
08:13 masak rakudo: sub sub($foo) { say "OH HAI" }; sub(1)
08:13 p6eval rakudo e02bc0: OUTPUT«OH HAI␤»
08:14 * masak closes #65804
08:14 masak see? I don't just open tickets. :)
08:15 JimmyZ ;)
08:18 masak rakudo: role A {}; say A ~~ Role
08:18 p6eval rakudo e02bc0: OUTPUT«1␤»
08:22 masak rakudo: my %h = B => 2; my $x = "ABC"; $x .= subst(/(<[BD]>)/, {%h{$0}},:global); say $x;
08:22 p6eval rakudo e02bc0: OUTPUT«A2C␤»
08:22 masak rakudo: my %h = B => 2; my $x = "ABC"; $x.=subst(/(<[BD]>)/, {%h{$0}},:global); say $x;
08:22 p6eval rakudo e02bc0: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤AC␤»
08:25 masak rakudo: say (42 if 0).perl
08:25 p6eval rakudo e02bc0: OUTPUT«[]␤»
08:25 masak rakudo: say (42 if 0).WHAT
08:25 p6eval rakudo e02bc0: OUTPUT«List()␤»
08:39 mberends joined #perl6
08:44 tann rakudo: class A { }; say A.WHAT; my $o = A.new; say $o ~~ A;
08:44 p6eval rakudo e02bc0: OUTPUT«A()␤1␤»
08:48 pugs_svn r27832 | masak++ | [t/spec] fixed some hyper-op typos
08:49 dalek rakudo: f76b3c7 | masak++ | src/builtins/ (2 files):
08:49 dalek rakudo: [src/builtins] some PIR simplifications
08:49 dalek rakudo: JimmyZ++ for the patch.
08:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​76b3c77fb63029c2e09a7f720f5a9972d2c7366
08:49 dalek rakudo: e89cc1e | masak++ | src/parser/grammar.pg:
08:49 dalek rakudo: [src/parser/grammar.pg] aligned more with STD.pm
08:49 dalek rakudo: This makes a few of the tests in S03-operators/hyper.t unfudgeable.
08:49 dalek rakudo: JimmyZ++ for the patch.
08:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​89cc1e09b8b3e453836609912078d35f0d1c08e
08:50 masak JimmyZ: applied. so I can close RT #68098 now, right?
08:53 masak general question: let's say I have a base class called 'rw', from which I want other classes to derive. how do I write a class that derives from 'rw'?
08:55 masak rakudo: undef ~~ /foo/
08:55 p6eval rakudo e89cc1: OUTPUT«Object must be created by a class.␤in regex PGE::Grammar::_block51 (/tmp/xwkCY66Yz0:1)␤called from Main (/tmp/xwkCY66Yz0:2)␤»
08:59 masak rakudo: class class { method foo { say "OH HAI" } }
08:59 p6eval rakudo e89cc1:  ( no output )
09:00 masak rakudo: class class { method foo { say "OH HAI" } }; my class $a; $a.foo
09:00 p6eval rakudo e89cc1: OUTPUT«OH HAI␤»
09:00 masak \o/
09:05 M_o_C joined #perl6
09:13 missingthepoint rakudo: class rw { method foo { say 'rw foo'; } }; class rw_and_then_some is rw { method bar { say 'rw+bar' } }; my $hmm = rw_and_then_some.new; $hmm.bar
09:13 p6eval rakudo e89cc1: OUTPUT«rw+bar␤»
09:13 missingthepoint rakudo: class rw { method foo { say 'rw foo'; } }; class rw_and_then_some is rw { method bar { say 'rw+bar' } }; my $hmm = rw_and_then_some.new; $hmm.bar; $hmm.foo;
09:13 p6eval rakudo e89cc1: OUTPUT«rw+bar␤Method 'foo' not found for invocant of class 'rw_and_then_some'␤»
09:13 tann__ joined #perl6
09:14 missingthepoint ah
09:14 masak see? :)
09:14 missingthepoint :)
09:15 missingthepoint ambiguity fail?
09:15 masak missingthepoint: I have mberends sitting in a sofa next to me. he aptly invoked the 'doctor, it hurts when I do this' rule.
09:15 masak but still. :)
09:15 missingthepoint i am inclined to agree... but still :)
09:16 missingthepoint is :rw ?
09:16 missingthepoint (as a newbie, that would seem a nice fit)
09:16 masak a constructive idea to fix the problem! I like that.
09:16 masak yes, to me that feels more ortho.
09:23 jedai joined #perl6
09:45 missingthepoint "This application has requested the Runtime to terminate it in an unusual way."
09:49 missingthepoint rakudo: class A is KitchenSink { method b { say ~ .^parents }}; my $a = A.new; $a.b()
09:50 p6eval rakudo e89cc1: OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:is'␤in Main (/tmp/mmJ7tdD8s1:2)␤»
09:50 masak std: class KitchenSink {}
09:50 p6eval std 27832: OUTPUT«ok 00:02 36m␤»
09:51 masak oh, is KitchenSink gone from the set of core types?
09:51 masak nope, still in CORE.setting
09:52 missingthepoint masak: wanna see something disgusting?
09:52 missingthepoint (codewise)
09:52 masak missingthepoint: is it Perl 6?
09:53 masak then, sure!
09:53 masak if it's COBOL or PHP, then perhaps not... :)
09:53 lisppaste3 missingthepoint pasted "untitled" at http://paste.lisp.org/display/84612
09:54 masak interesting, but what does it do?
09:54 masak it creates a new class at runtime...
09:54 masak and then instantiates it at runtime.
09:54 missingthepoint mainly, kills rakudo with the error message above
09:55 masak oh! you subclass everything in the whole language.
09:55 masak I see now.
09:56 masak rakudo: KitchenSink
09:56 p6eval rakudo e89cc1: OUTPUT«Could not find non-existent sub KitchenSink␤»
09:56 masak missingthepoint: well, KitchenSink isn't implemented in Rakudo.
09:57 masak the 'trait_mod:is' error is a less-than-awesome way to express that the base class doesn't exist.
09:58 missingthepoint true
09:59 M_o_C does "isn't implemented" implies that the spec includes a class named "KitchenSink"? o.O
09:59 M_o_C s/implies/imply
09:59 jnthn masak: I already showed here on channel how to improve that error. :-P
09:59 jnthn dobre rano, by the way.
09:59 masak jnthn: boa dia!
10:00 masak M_o_C: spec no (AFAIK), STD.pm yes.
10:00 missingthepoint S06 mentions "KitchenSink role..."
10:01 masak missingthepoint: oh!
10:01 masak and here I thought all along it was just a private TimToady joke.
10:02 jnthn So Peerl 6 really doens't have everything but the kitchen sink.
10:03 masak it's in good company with Emacs and Mozilla Firefox.
10:04 jnthn If we embed Perl 6 in Emacs and Firefox, does the universe implode?
10:04 masak no, but the kitchen sink might overflow.
10:05 jnthn OH NOES the potato peals will go everywhere!
10:06 jnthn masak: Are you at the Perl 6 tut?
10:07 masak jnthn: no, I'm doing presentation procrastination in a sofa at our hostel, next to mberends.
10:07 masak jnthn: pmichaud said he'd cover the tut today.
10:07 jnthn Nice
10:07 jnthn OK
10:07 jnthn I may wander along to it later.
10:07 * jnthn procrastinated his presentation a bit more last night
10:08 jnthn I found a hard bug in Rakudo along the way. :-(
10:08 masak which one? :)
10:08 jnthn .wrap doesn't work in a trait_mod
10:09 masak oh :/
10:09 jnthn Yeah, which I am using in an example.
10:09 jnthn So need to work out why and fix it.
10:09 jnthn :/
10:10 masak jnthn++
10:11 jnthn Suspect horrible lexicals issue.
10:11 greyfox joined #perl6
10:13 masak ouch.
10:15 greyfox hi
10:15 masak greyfox: oh hai
10:16 greyfox How're you ?
10:16 masak greyfox: very good. you?
10:16 greyfox fine.
10:17 greyfox Am learning file manipulation in perl, now
10:17 masak greyfox: aha. Perl 5?
10:17 greyfox v5.8.8
10:17 greyfox yes.
10:17 greyfox How do I upgrade it ?
10:17 masak to 5.10?
10:17 greyfox to perl 6
10:18 masak usually, you want to keep both perl 5 and perl 6 on your system.
10:18 greyfox Yes.
10:18 masak because they are good at different things.
10:18 greyfox brb
10:19 masak as for installing Perl 6, you can go here http://rakudo.org/how-to-get-rakudo and follow the instructions.
10:20 masak or you can go here https://github.com/masak/proto and follow the instructions.
10:22 masak here's a nice Ruby blog post about code reading: http://blog.rubybestpractices.com/post​s/gregory/005-code-reading-stdlib.html -- I hope we can inspire people in the Perl 6 community to do similar code reads and then blog about them.
10:25 JimmyZ masak: Is there any problem with my patch?
10:26 jnthn pmichaud: Planning to walk a little bit first today, and then try and come and join the 6tut.
10:26 JimmyZ masak: RT #68098 should be closed, that'a bad patch.
10:27 jnthn ...if I can find the info on where it is.
10:27 masak JimmyZ: no problem with your patch AFAIK.
10:27 masak JimmyZ: ok, closing RT #68098.
10:27 JimmyZ masak++
10:27 masak jnthn: hold on, I have instructions.
10:29 masak jnthn: http://yapceurope2009.org/ye​2009/wiki?node=VenueLocation http://yapceurope2009.org/ye2009/​wiki?node=FromTheHotelsToTheVenue
10:30 masak argh, I should put them in the reverse order.
10:30 masak jnthn: anyway, the second URL contains instructions to get you to C3. the second one shows where C8 (the place for the class) is.
10:31 masak s:2nd/second/first/
10:41 JimmyZ rakudo: (1, 4, 9).>>.++.perl.say;
10:41 p6eval rakudo e89cc1: OUTPUT«Statement not terminated properly at line 2, near ".>>.++.per"␤in Main (src/gen_setting.pm:3363)␤»
10:41 JimmyZ rakudo: (1, 4, 9).>>.++.succ.say;
10:41 p6eval rakudo e89cc1: OUTPUT«Statement not terminated properly at line 2, near ".>>.++.suc"␤in Main (src/gen_setting.pm:3363)␤»
10:41 JimmyZ rakudo: (1, 4, 9).>>.succ.say;
10:41 p6eval rakudo e89cc1: OUTPUT«2510␤»
10:41 meppl joined #perl6
10:41 JimmyZ rakudo: (1, 4, 9).>>.++.say;
10:41 p6eval rakudo e89cc1: OUTPUT«Statement not terminated properly at line 2, near ".>>.++.say"␤in Main (src/gen_setting.pm:3363)␤»
10:42 JimmyZ rakudo: (1, 4, 9).>>.pred.perl.say;
10:42 p6eval rakudo e89cc1: OUTPUT«[0, 3, 8]␤»
10:42 JimmyZ rakudo: (1, 4, 9)>>pred.perl.say;
10:42 p6eval rakudo e89cc1: OUTPUT«Statement not terminated properly at line 2, near ">>pred.per"␤in Main (src/gen_setting.pm:3363)␤»
10:42 JimmyZ rakudo: (1, 4, 9)>>++.perl.say;
10:42 p6eval rakudo e89cc1: OUTPUT«Statement not terminated properly at line 2, near ">>++.perl."␤in Main (src/gen_setting.pm:3363)␤»
10:44 JimmyZ rakudo: (1, 4, 9)>>.pred.perl.say;
10:44 p6eval rakudo e89cc1: OUTPUT«[0, 3, 8]␤»
10:51 Su-Shee left #perl6
10:56 Front_slash joined #perl6
11:06 clintongormley joined #perl6
11:10 JimmyZ perl6, another more writting only language than perl5 ;)
11:12 masak bah, consistency and common sense go a long way. I don't believe it is the duty of a language to restrict thought until only acceptable code can be produced.
11:14 mberends line noise has never been more beautiful
11:14 masak :)
11:34 jnthn "If you can't think about bad code, you can't write bad code." ;-)
11:36 masak Sapir-Whorf strikes again!
11:36 jnthn "...to the extent which language limits thought"
11:37 masak jnthn: you're beginning to sound like my insurance company. :)
11:37 jnthn :-P
11:38 jnthn masak: Coming to the pre-reg this evening?
11:38 masak jnthn: dunno. I might.
11:38 * jnthn plans to
11:39 masak haven't really made plans for the day. this feels like the first unscheduled day of my vacation.
11:41 jnthn :-)
11:42 jnthn OK, see you there if you're there
11:42 * jnthn goes for a wander and lunch
11:42 masak o/
11:47 mtp2 joined #perl6
11:56 JimmyZ rakudo: my $a[] = 1; $a[] = 2; $a.perl.say;
11:56 p6eval rakudo e89cc1: OUTPUT«Statement not terminated properly at line 2, near "[] = 1; $a"␤in Main (src/gen_setting.pm:3363)␤»
11:56 JimmyZ rakudo: my $a[] = 1,2; $a.perl.say;
11:57 p6eval rakudo e89cc1: OUTPUT«Statement not terminated properly at line 2, near "[] = 1,2; "␤in Main (src/gen_setting.pm:3363)␤»
11:57 masak JimmyZ: looks like you're trying to do two things in the first statement.
11:57 masak (1) a 'my' declaration, (2) a (zen) slice operation
11:58 masak rakudo: my $a = []; $a[] = 1; say $a.perl
11:58 p6eval rakudo e89cc1: OUTPUT«[]␤»
11:58 masak JimmyZ: there you go :)
11:58 masak (next question is perhaps, why would you want to assign values to an empty slice?)
11:58 JimmyZ nothing ouputs
11:59 masak JimmyZ: correct. because you assign to an empty slice.
11:59 masak also, consider using an array variable @a instead.
11:59 masak more informative.
11:59 JimmyZ I just wonder if support '$foo.bar.baz.bletch.whatever.attr[] = 1,2,3;'
11:59 Whiteknight joined #perl6
12:00 masak I think so, but you shouldn't need the [].
12:00 masak but you make a good point: sometimes .[] means 'the whole array'.
12:00 masak maybe it should mean that in the case of assignment also.
12:01 JimmyZ and I wonder if perl6 supports assign to array likes php
12:01 JimmyZ ;)
12:03 masak JimmyZ: where it means .push? I hope not.
12:03 JimmyZ yes
12:04 JimmyZ masak: I prefer $a[] = 'something'
12:04 masak JimmyZ: you can always write a module that changes Perl 6 to behave like that.
12:04 masak PHP::ArrayPush
12:05 JimmyZ masak: yep, but that needs to do more work
12:05 masak more work than what? convincing people in here to make $a[] = 'something' mean $a.push('something')? I doubt that.
12:07 JimmyZ masak: no, just my personal like, and I give it a try to perl6
12:08 jauaor joined #perl6
12:09 masak JimmyZ: fair enough.
12:09 masak JimmyZ: I don't care much for that syntax/semantics, and I don't see why it should mean .push rather than something else.
12:09 Juerd $a[] for push is nice in general, but it simply clashes with the notion of $a[] already being the whole array :)
12:10 masak Juerd: why is it nice in general?
12:10 Juerd masak: For no academic reason, but it's easy to get used to, and not ugly.
12:11 masak fair enough.
12:11 Juerd Also, shorter :)
12:11 Juerd But that's the golfer part of my brain that says that
12:11 masak I'm not condemning the syntax, just not very excited by it.
12:11 Juerd I've never been excited by it :)
12:12 Juerd But then, I'm not so excited about .[] in p6 either.
12:12 masak it makes sense in interpolated strings.
12:12 JimmyZ $a[] = ( 1, 2, 3); $a[]= 4; # now $a = (1,2,3,4)
12:12 Juerd It works, but it doesn't really makes sense to me.
12:12 masak JimmyZ: yah, I get it.
12:12 Juerd JimmyZ: That'll be $a.push: 4;
12:14 JimmyZ Juerd: as a phper, I prefer the former
12:15 Juerd Noted
12:15 masak de gustibus non disputandum est.
12:15 Juerd masak: Awwh, but we can try? :)
12:15 masak Juerd: :)
12:17 masak Juerd: by the way, it might please you to know that I'm currently doing slides for a talk for the grant project that is the direct result of the emails you wrote in 2006 to p6-u.
12:17 Juerd masak: It does :)
12:18 masak the project itself has taken me on strange paths, and affected me as a developer. :)
12:19 Juerd I'm really glad that I did write those. Due to personal circumstances I haven't been able to be involved with Perl 6 anymore (it'll take a while before I'll get back at the old level, if ever) and it is very comforting to see this being built
12:19 masak Juerd: are you coming to YAPC::EU?
12:19 Juerd Unfortunately not
12:19 masak ok.
12:20 masak anyway, it would be fun to sit down with you sometime and explain the current architecture of the project.
12:20 Juerd I'm involved with organizing HAR2009, for which buildup starts in a few days. A single congress can exhaust me at the moment, so I couldn't go to both.
12:20 masak understandable.
12:22 Juerd Also it'd feel weird to go to a Perl congress without speaking there ;)
12:23 masak judging from the list of participants, not everyone thinks like that.
12:23 jauaor morning
12:23 masak ...either that, or there are a lot of people who will feel weird at the conference. :)
12:23 masak jauaor: morning!
12:24 jauaor hi masak !
12:24 jauaor :D
12:26 masak jauaor: you sound like you're having a fine morning? is it sunny where you are?
12:27 jauaor masak: haha yeah, sunny
12:27 jauaor birds singing and all
12:27 jauaor haha
12:27 jauaor :P
12:27 Juerd I've given a full or lightning talk at every Perl congress/workshop I've been to, except one German Perl Workshop.
12:28 masak Juerd++
12:28 Juerd But I wouldn't know what to speak about now. Haven't used Perl since last YAPC I think
12:28 Juerd Well, except for oneliners and throwaway scripts
12:30 masak that's still more than 99% of humanity.
12:35 Juerd Heh, sure, but it doesn't produce inspiration for talks :)
12:38 masak time for lunch. :)
13:21 sri_kraih joined #perl6
14:34 kimtaro_ joined #perl6
14:44 fridim_ joined #perl6
14:46 kimtaro__ joined #perl6
14:46 arthur-_ joined #perl6
14:47 zamolxes joined #perl6
14:52 skids_ joined #perl6
14:54 Psyche^ joined #perl6
14:58 greyfox left #perl6
15:03 unitxt joined #perl6
15:09 lumi_ joined #perl6
15:33 kimtaro joined #perl6
15:35 Front_slash joined #perl6
15:44 JimmyZ_ joined #perl6
15:46 zamolxes joined #perl6
16:00 icwiener joined #perl6
16:02 mberends joined #perl6
16:03 masak joined #perl6
16:13 justatheory joined #perl6
16:41 Whiteknight joined #perl6
17:08 moritz_ re
17:08 masak moritz_: o/
17:08 moritz_ masak: how's YAPC, how's life?
17:08 masak moritz_: YAPC: starts tomorrow, life: good. :)
17:09 masak I was to szabgab's course yesterday.
17:09 masak today jnthn++ and pmichaud++ are covering it, AFAIK.
17:09 masak it's a bit hard to tell, because they are in 'Net shadow over there.
17:10 masak moritz_: I just ran smartlinks.pl on Web.pm! \o/
17:10 * moritz_ git-svnsvn rebase's
17:11 pugs_svn r27833 | moritz++ | [t/spec] avoid warnings in unspecified.t
17:11 pugs_svn r27834 | moritz++ | [t/spec] bring unspecified.t closer to my understanding of the spec
17:11 pugs_svn r27835 | moritz++ | [t/spec] remove want() from assign.t (and TODO)
17:12 pugs_svn r27836 | moritz++ | [t/spec] remove outdated reference to want.t
17:12 pugs_svn r27837 | moritz++ | [t/spec] unbreak two smartlinks, and break one differently than before
17:12 pugs_svn r27838 | moritz++ | [t/spec] more tests and a smartlink for pointy-rw.t
17:12 pugs_svn r27839 | moritz++ | [t/spec] merge mis-placed mutating_listops.t into S04-statements/for.t
17:12 pugs_svn r27840 | moritz++ | [t/spec] smartlinks and a simplification
17:12 masak après nous la deluge.
17:12 pugs_svn r27841 | moritz++ | [t/spec] smartlink and done_testing for exhaustive.t (the plan was incorrect anyway)
17:12 pugs_svn r27842 | moritz++ | [t/spec] more smartlinks; simplified subrule.t a bit
17:13 pugs_svn r27843 | moritz++ | [t/spec] interpolation of hashes into regexes is gone; smartlinks
17:13 pugs_svn r27844 | moritz++ | [t/spec] more test simplifications, more smartlinks
17:13 masak done_testing++
17:13 moritz_ there's one thing I don't like about done_testing
17:13 pugs_svn r27845 | moritz++ | [t/spec] move smartlinks from POD to ordinary comments
17:13 pugs_svn r27845 | moritz++ |
17:13 pugs_svn r27845 | moritz++ | our current implementation does not find them in POD sections.
17:13 pugs_svn r27845 | moritz++ | Also remove some redundant POD blocks.
17:13 pugs_svn r27846 | moritz++ | [t/spec] more smartlinks; less than 100 remain without smartlinks
17:13 pugs_svn r27847 | moritz++ | [t/spec] when our closure parameter requires and Int, we should give it one
17:13 moritz_ it's hard to find out how many tests are in there, which we need to generate our pretty charts
17:14 pugs_svn r27848 | moritz++ | [t/spec] update and simplify S02-names_and_variables/syntax.t; don't assume
17:14 pugs_svn r27848 | moritz++ | that infix:<:=> is a method.
17:14 pugs_svn r27848 | moritz++ | [t] remove syntax/signature.t, it relies heavily on unspecced (and unlikely)
17:14 pugs_svn r27848 | moritz++ | behaviour
17:14 pugs_svn r27849 | moritz++ | [t/spec] test multi dispatch over the signature of closure parameters
17:14 pugs_svn r27850 | moritz++ | [t/spec] Tests for RT 68074: class composition time multi dispatch
17:14 pugs_svn r27851 | moritz++ | [t/spec] basic tests for the "defines" declarator
17:14 pugs_svn r27852 | moritz++ | [t/spec] basic tests for "need" declarator
17:14 masak moritz_: one can always run the test file. :)
17:15 moritz_ masak: ...if one has an implementation to run it on, yes
17:15 masak oh, right.
17:16 masak we should write one, so that we can count our tests.
17:22 moritz_ good idea
17:22 moritz_ I've set up a repo on github already
17:22 moritz_ oh wait, it was pmichaud++ ;-)
17:23 masak :P
17:34 KyleHa joined #perl6
17:34 moritz_ it seems S03-operators/hyper.t was unfudged over-eagerly
17:34 masak KyleHa++: oh hai
17:35 masak moritz_: oh, so that's what it was. I saw the failures when spectesting.
17:35 masak 33-37, right?
17:35 KyleHa Hello #perl6!
17:35 KyleHa Some tests were added to hyper.t that should have been fudged but weren't.
17:35 moritz_ oh, ok
17:35 KyleHa Here's the change:  http://dev.pugscode.org/changeset/27830
17:36 KyleHa When I looked at them, they seemed wrong--like they shouldn't pass at all--but I wasn't sure.
17:37 moritz_ I'm not sure about the relative precdence of . and =
17:37 moritz_ but I guess . is tighter
17:37 moritz_ so it tries to call »++ on a List, which is immutable
17:37 KyleHa Yeah, that's what I thought.
17:37 KyleHa Not only that, the test results show the last element not being changed.
17:37 moritz_ writing it as (@r = 1, 4, 9)»++ should do
17:37 moritz_ ouch
17:38 moritz_ and there's really no reason for the eval
17:38 moritz_ I'll fix those after my spectest run finishes
17:38 KyleHa BTW, we both wrote tests for this ticket:  http://rt.perl.org/rt3/Tic​ket/Display.html?id=68074
17:39 moritz_ you're right; I didn't look through RT before I pushed those
17:39 moritz_ (and was offline during the weekend)
17:40 KyleHa I think your tests are better.  You check a couple of things I didn't.
17:40 moritz_ s/better/more extensive/
17:41 moritz_ let's revert your commit then
17:42 KyleHa I haven't done that before.
17:42 moritz_ git revert $hash
17:42 KyleHa Excellent, thanks.
17:42 masak git++
17:42 moritz_ maybe remove the bug number from the commit message
17:43 moritz_ otherwise we'll get a third mail sent to the same ticket ;-)
17:44 KyleHa OK, that reverts it here, but I'm not sure it got back to svn.
17:44 moritz_ git svn dcommit
17:44 KyleHa Oh, there it goes.
17:44 pugs_svn r27853 | kyle++ | Revert RT #68074 tests (more extensive tests appear elsewhere).
17:44 pugs_svn r27853 | kyle++ |
17:44 pugs_svn r27853 | kyle++ | This reverts commit d2783ead01f44813594163f02abd8d904315391e.
17:45 moritz_ it's just a normal commit, that happens to have the inverse effect of another commit
17:45 KyleHa Press toe.
17:45 KyleHa Cool.  Thanks, moritz++
17:55 hudnix joined #perl6
17:55 dalek rakudo: c57fbd7 | moritz++ | t/spectest.data:
17:55 dalek rakudo: [t/spectest.data] remove a test that was merged; add a few newly passing tests
17:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​57fbd7f9aa06471501dba1ff23c7079102e520d
17:55 dalek rakudo: ed636b8 | moritz++ | t/spectest.data:
17:55 dalek rakudo: one more passing test file, KyleHa++
17:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​d636b8802bad874c832bd5621e8cf34acd167b8
17:56 moritz_ rakudo: my @a = 1, 4; @a»++;
17:56 p6eval rakudo e89cc1: OUTPUT«Statement not terminated properly at line 2, near "\x{bb}++;"␤in Main (src/gen_setting.pm:3363)␤»
17:56 Juerd latin1 fail :)
17:56 moritz_ rakudo: my @a = 1, 4; @a>>++;
17:56 p6eval rakudo e89cc1: OUTPUT«Statement not terminated properly at line 2, near ">>++;"␤in Main (src/gen_setting.pm:3363)␤»
17:57 pugs_svn r27854 | kyle++ | [t/spec] Test for RT #65804
17:57 moritz_ Juerd: I think it escapes codepoints, not bytes
17:57 moritz_ Juerd: so \x{bb} is fine
17:57 Juerd Oh, okay :)
17:57 Juerd You're right
17:57 Juerd Especially I should know. :(
17:58 moritz_ :/
17:59 pugs_svn r27855 | moritz++ | [t/spec] correct and fudge @array>>++ tests in hyper.t
17:59 moritz_ we all mix up Perl 5 and Perl 6 from time to time ;-)
18:00 masak speak for yourself. :P
18:01 masak (actually, yes, it does happen. but I don't find it a big deal -- it's no worse than the momentary confusion of switching keyboards or keyboard layouts.)
18:01 moritz_ http://daniel.ruoso.com/cat​egoria/perl/too-much-perl-6 ruoso++ knows it, too ;-)
18:02 masak :)
18:04 moritz_ actually I think it's a very interesting post
18:04 moritz_ the built-in ST is really a *very* handy feature
18:04 moritz_ and it was trivial to add to Perl 6
18:04 moritz_ so I thought about how to back-port it to Perl 5
18:04 moritz_ and found that it wasn't all that easy
18:05 moritz_ because sort can't easily introspect the block to find out if its arity is only 1
18:06 moritz_ ENOTENOUGHMAGIC so to say
18:09 pmichaud greetings
18:09 masak pmichaud: evning.
18:09 masak pmichaud: how was class today?
18:09 nihiliad joined #perl6
18:10 pmichaud class went well
18:11 pmichaud I didn't get much otherwork done (and no wireless), but it was very interesting
18:11 pmichaud I have some notes of more things to "fix" in rakudo :-)
18:11 moritz_ PerlJam: ping
18:11 masak pmichaud: cool.
18:12 moritz_ PerlJam: I have some commits to perl6-docs locally; one of them changes the regex tutorial to using the spaced form by default
18:12 masak I think it's a great asset to both implementors and students to be in the same room during such a class.
18:12 moritz_ PerlJam: would agree with this change? I don't want to commit it without your approval.
18:17 rfordinal left #perl6
18:35 zamolxes joined #perl6
18:35 Chillance joined #perl6
18:38 masak does anyone know how the smoke results for the HTML spec files are generated?
18:40 moritz_ "by a cron job"
18:40 masak yes, sure. but is there a CPAN module that generates a YAML file, or something like that?
18:40 moritz_ I think so, yes
18:40 moritz_ the script is in docs/feather/script/auto-smoke
18:41 masak obrigado.
18:41 moritz_ which in turn runs util/run-smoke.pl at some point
18:41 masak right.
18:42 masak so it's util/make-smoke.pl that creates the smoke.yml somehow.
18:42 masak s/make/run/
18:43 moritz_ which in turn calls util/yaml_harness.pl
18:43 masak just saw that :)
18:43 moritz_ which in turn does scary magic.
18:43 masak "you're in a maze of twisty little scripts..."
18:44 masak yes, but at least it imports the modules I've been looking at for the past half hour.
18:44 masak ugh, but it's long :/
18:44 moritz_ rakudo is now passing 12169
18:44 moritz_ it subclasses one of those...
18:44 masak moritz_++
18:45 * moritz_ turns away in pain
18:49 moritz_ rakudo: say 14913 / (37*60+24) # average tests/second
18:49 p6eval rakudo c57fbd: OUTPUT«6.64572192513369␤»
18:55 tann joined #perl6
19:30 desertm4x joined #perl6
19:35 masak rakudo: say get $*IN
19:35 p6eval rakudo c57fbd: OUTPUT«Land der Berge, Land am Strome,␤»
19:35 masak I didn't know there was a sub form of IO.get...
19:35 masak where is that specced?
19:37 masak oh, S07.
19:39 cbk masak, has anything changed in S05 regarding named regex's?
19:39 M_o_C joined #perl6
19:39 moritz_ lots of things change ;-)
19:39 masak cbk: don't think so. is there a problem?
19:40 cbk masak, well if you don't mind checking my regex's and a sub of mine out....  will post in a sec.
19:41 masak I might have posted this before: http://elliotlovesperl.com/2009​/06/16/moose-as-documentation/ -- it strikes me that we don't have a 'Maybe' type yet. :)
19:41 masak cbk: gladly.
19:42 lisppaste3 cbk pasted "named regex's" at http://paste.lisp.org/display/84632
19:43 cbk ok there it is
19:43 * masak looks
19:43 masak (btw its "regexes" lol)
19:43 cbk oh yah
19:43 moritz_ it seems whitespaces are really precious to you ;-)
19:44 cbk what do you mean?
19:44 masak yes, is that intentional?
19:44 masak cbk: he means that you never match on \s
19:44 moritz_ ... and that you don't use whitespaces in all those regex defintions, even though they don't have an effect
19:44 cbk well there is a space in between each var I want to match
19:45 masak yes, but it isn't significant, that's the point.
19:45 masak per default, whitespace in regexes don't mean anything.
19:45 cbk this is what I did have before I tried using named regexe's
19:45 moritz_ try this: /:s <teamNick> <teamName> <teamCity> <teamWin> <teamLoss> <teamLogoFile>/
19:45 cbk # if $line ~~  rule { (<[A..Z]>+) (<[a..zA..Z]>+) (<[a..zA..Z]>+) (\d+) (\d+) ([\w|\-]+\.gif) } { # PerlJam's way
19:45 cbk moritz_, ok
19:46 masak cbk: observe 'rule'.
19:46 moritz_ cbk: do you know the /x modifier in Perl 5?
19:46 masak cbk: whitespace _is_ significant in rules.
19:46 moritz_ that's enabled in Perl 6 by default
19:46 cbk yah where do I put 'rule' in a named regexe
19:46 moritz_ and it seems those regexes could be tokens insteads
19:47 * masak can never tell
19:47 cbk well maybe so, I'm just learning going off of S06
19:47 cbk and then building up from there
19:47 masak cbk++
19:47 moritz_ cbk: have you read PerlJam's regex tutorial yet?
19:47 masak (S05, you mean)
19:48 moritz_ if not, that might be a good start
19:48 cbk don't really even need to do it this way, I had it allraedy working
19:48 cbk masak, yes S05
19:49 cbk moritz_, I'm not sure on PerlJam'S regexe tutorial where is it? well maybe I have it.  Too much loose paper to look through....
19:50 moritz_ cbk: in http://github.com/perlpilot/perl6-docs somewhere
19:50 masak cbk: 'my $currentObj = @teamsObj.end;' this looks non-idiomatic to me. you might want to create the object first, assign it all its properties, and _then_ push it to the array.
19:50 moritz_ in the intro dir
19:50 cbk moritz_, thanks
19:50 masak cbk: also, you can give it all its properties at creation if you like.
19:52 cbk masak, well I was just trying to find a good use for '.end ' and put it to use in my program so I have an example of it for latter. :-)
19:52 masak cbk: :P
19:52 masak cbk: since I implemented it (wrongly) almost a year ago, I haven't used it once, I think.
19:53 teslos joined #perl6
19:53 moritz_ I hope somebody fixed it in the mean time ;-)
19:53 masak yes.
19:53 masak don't remember who, but I hope it was me.
19:53 moritz_ (fixing own stuff)++
19:53 masak I had it implemented as meaning self[self.end]
19:54 moritz_ ah, I remeber that
19:54 cbk I kinda of like it .  Can be usefull to easly get the last element in an array.
19:54 moritz_ @array[*-1] is shorter ;-)
19:54 lambdabot Unknown command, try @list
19:54 moritz_ @shutup
19:54 lambdabot Unknown command, try @list
19:54 masak cbk: yah, but in your case you simply shouldn't put it there in the first place.
19:54 moritz_ masak: don't be so picky; timtowtdi and all ;-)
19:55 cbk by the way, what does nick++ mean?  like cbk++
19:56 masak allright, allright, I'll try to be more understanding. :P
19:56 masak cbk: it means that we like you.
19:56 cbk sometimes you guys do that, I have no clue on it's meaning
19:56 masak @karma cbk
19:56 lambdabot cbk has a karma of 2
19:56 masak @karma moritz_
19:56 lambdabot moritz_ has a karma of 109
19:56 masak @karma TimToady
19:56 lambdabot TimToady has a karma of 93
19:56 moritz_ @karma masak
19:56 lambdabot masak has a karma of 284
19:56 moritz_ @karma lwall
19:56 lambdabot lwall has a karma of 546
19:56 cbk oh ic
19:56 masak lwall++
19:57 moritz_ @karma moritz_
19:57 lambdabot You have a karma of 109
19:57 moritz_ @karma moritz
19:57 lambdabot moritz has a karma of 917
19:57 moritz_ IRC karma vs. committing karma ;-)
19:57 masak committing++
19:58 cbk can I trade my Karma in for prizes or something, maybe a perl 6 book
19:58 moritz_ (giving karma to random facts)++
19:58 moritz_ cbk: sure, you just have to find a sponsor first ;-)
20:00 tann @karma tann
20:00 lambdabot You have a karma of 3
20:00 tann @karma tann_
20:00 lambdabot tann_ has a karma of 0
20:00 cbk well I rather spend my time working on perl 6 first, then I'll work on being a karma hound
20:00 tann :)
20:00 pmurias joined #perl6
20:00 tann tann++
20:00 tann @karma tann
20:00 lambdabot You have a karma of 3
20:00 tann so no self-promoting here
20:01 moritz_ a bot I know decreses your karma if you try that (over in #perlde) ;-)
20:03 masak cbk: when you reach karma of 1000, you win your own metaoperator. that's why moritz is working so hard on the commits. :)
20:04 moritz_ actually I should have mine already, but lambdabot lost its karma records some time ago
20:05 moritz_ I made 1429 commits to the test suite, and I don't think anybody gave me 500 -- ;-)
20:05 Tene @karma tene
20:05 lambdabot You have a karma of 45
20:05 moritz_ such is the dire, thankless world ;-)
20:06 masak moritz_: you sure you weren't given a metaoperator already, but you simply haven't gone and picked it up?
20:06 tann why isn't it ++nick instead of the inefficient nick++? :P
20:07 Tene tann: since it's not being assigned to anything, the optimizer catches it
20:07 masak tann: because we don't believe in premature optimisation.
20:07 moritz_ masak: ok, I take the reduce ;-)
20:07 moritz_ I always liked that one ;-)
20:07 masak :)
20:08 masak yeah, reduce is my favourite metaoperator too. but assignment is pretty sweet also.
20:08 tann moritz: sounds like a republican selling point - reduce reduce and reduce
20:10 moritz_ tann: the interesting qustion is always what to reduce ;-)
20:10 * masak likes to reduce strings
20:10 moritz_ for example I'd love to reduce survaillance
20:10 moritz_ and lists
20:11 tann ah, i see..not spending and gov size :)
20:11 masak rakudo: my @surveillance = <BIG BROTHER IS WATCHING YOU!>; say [~] map { $_, '-' }, @surveillance
20:11 p6eval rakudo c57fbd: OUTPUT«BIG-BROTHER-IS-WATCHING-YOU!-␤»
20:11 tann so, the roadmap suggests that rakudo 1.0 won't have threads?
20:11 masak there, reduced @surveillance.
20:12 M_o_C ~ concatenates?
20:12 masak M_o_C: right.
20:12 moritz_ tann: I'd be surprised if it did. Then again Tene++ pleasantly surprised me a few times already ;-)
20:12 masak tann: the roadmap doesn't mention 1.0... but no, it probably won't.
20:12 tann tene++
20:13 masak tEnE++
20:13 kane_ joined #perl6
20:13 moritz_ the roadmap mostly mentions things that are needed to run STD.pm, or for other boostrapping tasks
20:18 moritz_ doing massive parallel IO on an encrypted disc partition is not a good idea...
20:24 asciiville joined #perl6
20:32 masak rakudo: get 42
20:32 p6eval rakudo c57fbd: OUTPUT«No such attribute '$!PIO'␤in method IO::get (src/gen_setting.pm:797)␤called from Main (/tmp/CItChk1TK1:2)␤»
20:32 masak this could be seen as a bug.
20:33 masak maybe &get should only accept Iterator objects?
20:34 eternaleye Does anyone know if parameterized classes are possible? I'm aware of parameterized roles, but what if I wanted to implement a class which does Positional? Does the class inherit the parameterization from Positional? Or would something like 'class Foo does Positional[::T] {}' be needed?
20:35 masak rakudo: class Foo does Positional[::T] {}; say Foo ~~ Positional
20:35 p6eval rakudo c57fbd: OUTPUT«Null PMC access in isa()␤in Main (/tmp/WOxUdI8r1s:2)␤»
20:35 * masak submits rakudobug
20:36 KyleHa rakudo: my $foo = 'foo'; say $foo R~= 'foo';
20:36 p6eval rakudo c57fbd: OUTPUT«No applicable methods.␤in Main (/tmp/QD1ldJ8zKv:2)␤»
20:37 moritz_ eternaleye: you have to supply the parameters at class composition time...
20:37 masak rakudo: role A {}; class Foo does A[::T] {}
20:37 moritz_ eternaleye: or write a role yourself, instead of a class
20:37 p6eval rakudo c57fbd: OUTPUT«Null PMC access in isa()␤in Main (/tmp/8yKVKHWRBk:2)␤»
20:37 eternaleye Also, the spec on Set (S32/Containers) is unclear: it says "Like an ordinary list pick, but returns keys of the bag weighted by values, as if the keys were replicated the number of times indicated by the corresponding value and then list pick used." - but if it's a Hash of True, there is no integer value to use as described
20:38 eternaleye A Bag has replication of elements, but a set is defined as being composed of unique members
20:38 pugs_svn r27856 | kyle++ | [t/spec] Test for RT #65962
20:38 pugs_svn r27857 | kyle++ | [t/spec] Test for RT #64818
20:38 moritz_ eternaleye: True numifies to 1, False to 0
20:39 eternaleye moritz_: Then it's redundant - there is no 'number of times', only presence or absence - which renders the 'replicated' bit nonsensical
20:40 eternaleye Also, S14 says "a role may not be directly instantiated.
20:40 moritz_ that is a bit misleading
20:40 eternaleye Whick leaves one with a dilemma: how can one make generic collections?
20:41 moritz_ I stumbled over that today too
20:41 eternaleye Oh, are they punned to classes?
20:41 moritz_ if you try to instantiate a role, it will automatically as a class of the same name
20:41 eternaleye Ah
20:42 moritz_ I'll have to ask jnthn/TimToady what that means
20:42 eternaleye moritz_: It means what you just said
20:42 moritz_ then it should says what I just said
20:42 eternaleye Cool
20:43 eternaleye It seems an odd restriction that roles can be parameterized and not classes, though
20:43 moritz_ it seems that roles are in general much more powerful
20:44 moritz_ and it's amazing how much of S12++ and S14 jnthn implemented so far
20:45 masak it is.
20:46 tann i can't tell why there's need for both package and module?
20:46 moritz_ tann: I think packages are there for Perl 5 compatibility
20:46 tann am i right tis that package > module > class ? ie...one contains another
20:46 masak contains in what sense?
20:47 masak certainly not in the most literal sense, at least.
20:47 tann package P { module M { class C } }
20:47 masak they are different abstractions.
20:47 masak time for food &
20:49 tann likewise, dimsum is callin' :)
20:50 eternaleye rakudo: role TreeNode[::T] does Positional[T] { has TreeNode[T] @!children[2] handles 'postcircumfix:<[ ]>'; has T $.data is rw; }; my $tree = TreeNode[Int].new; $tree.data = 3; $tree[0] = TreeNode[Int].new; $tree[1] = TreeNode[Int].new; $tree[0].data = 1; $tree[1].data = 4; .say for $tree.data, $tree[0,1]>>.data;
20:50 p6eval rakudo c57fbd: OUTPUT«Statement not terminated properly at line 2, near "[2] handle"␤in Main (src/gen_setting.pm:3363)␤»
20:50 moritz_ rakudo doesn't know about sized arrays
20:50 eternaleye Ah
20:51 moritz_ has ... @!children[2] doesn't work yet
20:51 eternaleye rakudo: role TreeNode[::T] does Positional[T] { has TreeNode[T] @!children handles 'postcircumfix:<[ ]>'; has T $.data is rw; }; my $tree = TreeNode[Int].new; $tree.data = 3; $tree[0] = TreeNode[Int].new; $tree[1] = TreeNode[Int].new; $tree[0].data = 1; $tree[1].data = 4; .say for $tree.data, $tree[0,1]>>.data;
20:51 p6eval rakudo c57fbd: OUTPUT«Could not find non-existent sub T␤»
20:52 eternaleye Should that have a line number?
20:52 moritz_ yes
20:52 moritz_ and it shouldn't complain that way, too
20:52 moritz_ my guess is that the T is not yet bound where it says 'does Positional[T]'
20:52 eternaleye rakudo: role TreeNode[::T] does Positional { has TreeNode[T] @!children handles 'postcircumfix:<[ ]>'; has T $.data is rw; }; my $tree = TreeNode[Int].new; $tree.data = 3; $tree[0] = TreeNode[Int].new; $tree[1] = TreeNode[Int].new; $tree[0].data = 1; $tree[1].data = 4; .say for $tree.data, $tree[0,1]>>.data;
20:52 p6eval rakudo c57fbd: OUTPUT«src/call/pcc.c:613: failed assertion 'PObj_is_PMC_TEST(sig_pmc)'␤Backtrace - Obtained 25 stack frames (max trace depth is 32).␤/home/evalenv/rakudo/parr​ot/blib/lib/libparrot.so.1.4.0 [0xb7c85742]␤/home/evalenv/rakudo/parrot/blib​/lib/libparrot.so.1.4.0(Parrot_confess+0x9a)
20:52 p6eval ..[0xb7c858…
20:53 eternaleye Ooh, ouch
20:53 moritz_ please submit both of them
20:54 eternaleye What's the rakudobug email address?
20:54 moritz_ rakudobug@perl.org
20:54 eternaleye Thanks
20:54 moritz_ thank you for submitting
20:57 tann moritz: some of the rt tkts seem to have gotten fixed ... should there be a bug scrub to rid those?
20:59 moritz_ if you find some, just paste their numbers here, sombody will close them
20:59 moritz_ (KyleHa, masak or me, usually)
21:02 eternaleye But that assertion one will be interesting to find a fix for, I bet
21:03 eternaleye rakudo: role TreeNode[::T] { has TreeNode[T] @!children handles 'postcircumfix:<[ ]>'; has T $.data is rw; }; my $tree = TreeNode[Int].new; $tree.data = 3; $tree[0] = TreeNode[Int].new; $tree[1] = TreeNode[Int].new; $tree[0].data = 1; $tree[1].data = 4; .say for $tree.data, $tree[0,1]>>.data;
21:03 p6eval rakudo c57fbd: OUTPUT«maximum recursion depth exceeded␤in Main (/tmp/MOCBPubqbz:2)␤»
21:03 eternaleye ...
21:03 eternaleye It seems I'm on a roll today
21:09 moritz_ you shall not define trees, or the tree will defy you
21:10 eternaleye I'm thinking it may be @!children that's doing it - any ideas?
21:10 Tene So, select() is NYI in rakudo, yes?
21:12 moritz_ eternaleye: it could be that postcircumfix:<[ ]> is not yet overridable or subject to 'handles'
21:13 eternaleye Maybe.
21:13 moritz_ Tene: seems so. I think that t/spec/S32-io/IO-Socket-INET.t tests all the socket things that Rakudo implements right now
21:13 moritz_ (which is not all that much)
21:14 Tene so looks like there's no real way to deal with multiple sockets sanely... :(
21:25 pmichaud good evening, #perl6
21:25 eternaleye phenny: tell masak The Astaire docs have an error: the useragent example has :agent => /regex/ - the colons don't belong IIUC
21:25 phenny eternaleye: I'll pass that on when masak is around.
21:25 eternaleye pmichaud: Hello
21:25 iblechbot joined #perl6
21:27 KyleHa If Rakudo gives a segmentation fault, that's really a Parrot bug, right?
21:28 moritz_ KyleHa: not always; rakudo also contains some C code that might sgefault
21:28 moritz_ KyleHa: so we submit them as rakudobugs
21:28 KyleHa Oh, OK.  Good to know, thanks.
21:29 KyleHa Well, I got the segfault while testing an existing bug.
21:29 KyleHa And it only happens when I stick my new tests at the end of the test file with other stuff.
21:29 KyleHa My new tests by themselves run.
21:30 moritz_ bah
21:30 KyleHa I guess I should try to isolate it.
21:43 maja joined #perl6
22:25 ihrd joined #perl6
22:33 ab5tract joined #perl6
22:39 Tene With some rakudo patches and parrot patches, I finally have an echo server working in Rakudo with multiple clients.. :)
22:42 * Tene eagerly waits for async IO on parrot.
22:42 japhb Tene: Do you have a copy of Network Programming with Perl?
22:43 Tene japhb: no.
22:44 japhb Tene: Ah.  I was going to say, "When we can get everything in that book working, we'll be up to Perl 5 level ... then we get to work on APUE2 ...."
22:44 Tene :)
22:45 japhb And FWIW, NPwP is an excellent book, though much will be review if you already know APUE2.
22:46 Tene I don't recognize the acronym APUE2.
22:46 japhb Advanced Programming in the Unix Environment, 2nd Ed.
22:47 japhb (AKA APUE in the Linux and FreeBSD world)
22:48 japhb Another in the list of "Addison-Wesley: Why You Still Buy Dead Trees."
22:48 Tene Huh.  I'll have to buy it.
22:49 Tene anyway, AFK
22:59 cognominal APUE2?
22:59 cognominal ha ok
22:59 jauaor joined #perl6
23:03 japhb .oO( How many copies of NPwP have I convinced people to buy over the years ...?)
23:08 jensjenny joined #perl6
23:08 jensjenny left #perl6
23:17 mikehh joined #perl6
23:24 buubot joined #perl6
23:29 DemoFreak joined #perl6
23:31 ruz_mac joined #perl6
23:44 mikehh All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40390 - Ubuntu 9.04 amd64

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

Perl 6 | Reference Documentation | Rakudo