»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
colomon ash_: can you give an example I would understand of what's not working with BUILD? 00:00
ash_ t/spec/S12-construction/BUILD.t
try running that, its the issue i am talking about
00:00 Chillance left
ash_ its not passing paramters to BUILD, if you do Foo.new(1); BUILD should get the 1, and its currently not at the moment 00:03
the *right way* for me to fix List.new is to use BUILD so, i just found the problem 00:04
colomon is still trying to understand the issue.... 00:06
ash_ so, perlcabal.org/syn/S12.html#Construc...ialization says if you want to say initialize some variables right? like my class has an attribute $!values, i can use BUILD($values) { $!values = $values; } to do that 00:07
it also says if you do Foo.new(5); it should be passing the 5 along to BUILD
in ng, the paramaters passed to new aren't getting passed to BUILD like they are supposed to be 00:08
colomon The error I get is "Unexpected named parameter 'b' passed" -- is that what you're seeing? 00:11
ash_ yeah 00:12
zamolxes frettled: right :) it's 2 AM here as well, but we'll get in touch in a few hours 00:13
ash_ ng: class Foo { submethod BUILD($a) { say $a }; }; my $f = Foo.new(5); 00:14
p6eval ng b65331: Not enough positional parameters passed; got 1 but expected 2␤current instr.: 'perl6;Foo;BUILD' pc 266 (EVAL_1:115)␤
ash_ colomon: thats a simple example of what I mean
that should say '5'
colomon ash_: oh, I wonder if :a(5) works at all.... 00:17
ash_ ng: class Foo { submethod BUILD(:$a) { say $a }; }; my $f = Foo.new(:a(5));
p6eval ng b65331: sh: ./perl6: No such file or directory␤
ash_ hmm
that worked locally
colomon yeah, it looks like b => 5 gets the same result. 00:18
zamolxes frettled: dug this out of my bash history : tail -n 10000 /var/log/apache2/access.log | perl -nE '($url, $s, $d) = m{"[A-Z]+ (/[^/ ]*)[/ ][^"]+" \d+ (\d+) (\d+) "}; $urls{"$url"}+=$d;$dt+=$d; END {print for map { $d =int($urls{$_}/1000000);$p =int($urls{$_}*100/$dt); "$d $p% $_\n"} sort { $urls{$a}<=>$urls{$b} }keys %urls;}'
it aggregates resource consumption per first token from the URL 00:19
00:23 xomas is now known as xomas_, xomas_ is now known as xomas 00:36 japhb left 00:40 nihiliad left 00:41 soupdragon left 00:46 cognominal joined 01:00 fridim_ left 01:01 payload joined, sbilik joined 01:04 s1n joined
justatheory TimToady, chromatic: What, has Twitter replaced IRC? 01:04
01:07 PerlPilot is now known as PerlJam
PerlJam justatheory: I think this thing called "life" may have replaced IRC 01:08
diakopter PerlJam: I suspect justatheory is referring to chromatic_x's and TimToady's conversation on twitter this afternoon 01:09
justatheory corect 01:10
cognominal ha, ha, as often, @chromatic_x shoot before aiming 01:11
01:12 meppel left 01:16 cdarroch left 01:17 cotto joined 01:23 lestrrat is now known as lest_away 01:25 tideflat joined
tideflat perl6: say 3 01:26
p6eval elf 29531, pugs, rakudo 3867ff: 3␤
tideflat perl6: say 1 + 1
p6eval elf 29531, pugs, rakudo 3867ff: 2␤
tideflat perl6:my $a = 10;say a
perl6:my $a = 10;say $a 01:27
perl6: my $a = 10;say $a
p6eval elf 29531, pugs, rakudo 3867ff: 10␤
01:27 Exodist left
tideflat perl6: for $i in 1..1 say $a 01:28
p6eval pugs: *** ␤ Unexpected " in"␤ expecting "::"␤ Variable "$i" requires predeclaration or explicit package name␤ at /tmp/gBzz33TGX6 line 1, column 7␤
..rakudo 3867ff: Confused at line 2, near "in 1..1 sa"␤in Main (file <unknown>, line <unknown>)␤
..elf 29531: Parse error in: /tmp/gaFeglxI4x␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: for $i in 1..1 say $a␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤
..STD_red/std.rb:210:in `…
tideflat perl6: for $i in 1..1 say $i 01:29
p6eval pugs: *** ␤ Unexpected " in"␤ expecting "::"␤ Variable "$i" requires predeclaration or explicit package name␤ at /tmp/gvTTB8mbAm line 1, column 7␤
..rakudo 3867ff: Confused at line 2, near "in 1..1 sa"␤in Main (file <unknown>, line <unknown>)␤
..elf 29531: Parse error in: /tmp/xYm3D2KzlO␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: for $i in 1..1 say $i␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤
..STD_red/std.rb:210:in `…
ash_ rakudo: .say for 1..3;
p6eval rakudo 3867ff: 1␤2␤3␤ 01:30
ash_ is that what you meant to do tideflat?
tideflat yes
Can i just play with perl6 here?
ash_ sure, or you can message p6eval 01:31
if you don't want everyone to see it
tideflat OK
rakudo: .say for 1..3;
p6eval rakudo 3867ff: 1␤2␤3␤
tideflat rakudo: .say for 1..10 * 2;
p6eval rakudo 3867ff: 1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤
01:32 ash_ left
tideflat rakudo: say $_ * 2 for 1..10; 01:33
p6eval rakudo 3867ff: 2␤4␤6␤8␤10␤12␤14␤16␤18␤20␤
tideflat rakudo: say $_ ** 2 for 1..10;
p6eval rakudo 3867ff: 1␤4␤9␤16␤25␤36␤49␤64␤81␤100␤
tideflat rakudo: say $_ ** -2 for 1..10;
p6eval rakudo 3867ff: 1␤0␤0␤0␤0␤0␤0␤0␤0␤0␤ 01:34
tideflat $_ * $_ for 1..10;
PerlJam rakudo: say 4 ** -2
p6eval rakudo 3867ff: 0␤
PerlJam rakudo: say 4.0 ** -2
p6eval rakudo 3867ff: 0.0625␤
PerlJam rakudo: say 4 ** -2.0
p6eval rakudo 3867ff: 0.0625␤
PerlJam That's got to be a bug 01:35
tideflat rakudo: say $_ * $_ for 1..10;
p6eval rakudo 3867ff: 1␤4␤9␤16␤25␤36␤49␤64␤81␤100␤
tideflat rakudo: say $_ ** $_ for 1..10;
p6eval rakudo 3867ff: 1␤4␤27␤256␤3125␤46656␤823543␤16777216␤387420489␤10000000000␤
tideflat rakudo: say "\$_ is $_" for 1..10; 01:36
p6eval rakudo 3867ff: $_ is 1␤$_ is 2␤$_ is 3␤$_ is 4␤$_ is 5␤$_ is 6␤$_ is 7␤$_ is 8␤$_ is 9␤$_ is 10␤
tideflat rakudo: say [+] 1..10; 01:39
p6eval rakudo 3867ff: 55␤
tideflat rakudo: say [+] 1..50; 01:40
p6eval rakudo 3867ff: 1275␤
tideflat rakudo: say [>] 1..50;
p6eval rakudo 3867ff: 0␤
tideflat rakudo: say [<] 1..50;
p6eval rakudo 3867ff: 1␤ 01:41
tideflat rakudo: say [=<] 1..50;
p6eval rakudo 3867ff: say requires an argument at line 2, near " [=<] 1..5"␤in Main (file src/gen_setting.pm, line 2593)␤
tideflat rakudo: say [<=] 1..50;
p6eval rakudo 3867ff: 1␤
tideflat rakudo: say [>=] 1..50;
p6eval rakudo 3867ff: 0␤
tideflat rakudo: say [*] 1..5; 01:42
p6eval rakudo 3867ff: 120␤
tideflat say 1!; 01:43
rakudo: say 1!
p6eval rakudo 3867ff: Confused at line 2, near "!"␤in Main (file <unknown>, line <unknown>)␤
tideflat rakudo: say (3,3,3) <<+>> (3,3,3) 01:44
p6eval rakudo 3867ff: 666␤
diakopter tideflat: you can msg p6eval directly
tideflat I know. do you want me to?
01:44 sbilik left
PerlJam tideflat: sub postfix:<!>($n) { [*] 1..$n }; say 5!; # for your factorial 01:45
diakopter well, just remember there are a bunch of folks who read the irclogs (in their client or on the web)
tideflat oh, i will msg p6eval directly from now on 01:46
01:47 takadonet left 01:48 japhb joined
colomon tideflat: if you find something that puzzles you, please feel free to send it to p6eval here in #perl6. :) 01:48
tideflat Ok 01:49
01:53 tideflat left 01:57 snarkyboojum joined 01:59 agentzh joined 02:11 sbilik joined, sbilik left 02:12 snarkyboojum left 02:14 lest_away is now known as lestrrat 02:19 orafu left, orafu joined, jferrero left 02:20 araujo left
drbean doraku.asahi.com/ "An exclusive Asahi Newspaper entertainment site for the Beatles generation" 02:22
doraku = Do 楽 02:23
02:31 jaldhar joined
pugs_svn r29532 | diakopter++ | [sprixel] add action() combinator (inject arbitrary JS code into the parser function on node success).\ 02:44
r29532 | Add notes about plans for an analysis phase for Boyer-Moore & JS literal RegExp (fastest by far on \
r29532 | the shootout language game) substitution.
02:51 agentzh left
diakopter ENOPM 02:54
Infinoid ohnoes 02:57
03:01 nihiliad joined 03:02 agentzh joined 03:04 tideflat joined, rachelBROWN left
tideflat /msg p6eval perl6: for ['cats','dogs','fish'] {say "$_ are the best amimal"} 03:05
diakopter pmi<tab>: do nqp-rx's grammars run the Actions during the parse (so potentially multiple times incl backtracking), or after the parse once? 03:06
or anyone else who might know.
03:09 agentzh left 03:25 am0c left 03:27 cls_bsd left
tideflat perl6: my $a = 'abe';for 1..10 {say $a;$a ~= 'abe'} 03:28
p6eval pugs, rakudo 3867ff: abe␤abeabe␤abeabeabe␤abeabeabeabe␤abeabeabeabeabe␤abeabeabeabeabeabe␤abeabeabeabeabeabeabe␤abeabeabeabeabeabeabeabe␤abeabeabeabeabeabeabeabeabe␤abeabeabeabeabeabeabeabeabeabe␤
..elf 29532: Unknown rule: infix_postfix_meta_operator:=␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤
03:39 araujo joined 03:40 tideflat left 03:59 agentzh joined 04:06 dalek left, Baggiokwok joined 04:07 Juerd left, Juerd joined 04:08 dalek joined, hatsefla1s joined, hatseflats left 04:12 synth left, nihiliad left 04:20 Khisanth left 04:31 cognominal left 04:53 gfx joined 05:17 stephenlb left 05:35 Khisanth joined 05:39 pinc0de left 05:48 jrockway joined, youwin left 05:56 agentzh left 06:00 cls_bsd joined, cls_bsd left 06:01 cls_bsd joined 06:22 szabgab left 06:25 agentzh joined 06:29 Baggiokwok left 06:35 justatheory left 06:42 szabgab joined 07:00 cognominal joined 07:04 kaare joined 07:05 kaare is now known as Guest43559, rgrau` joined 07:11 allbery_b left, rgrau` left 07:17 allbery_b joined 07:18 Su-Shee joined 07:19 redicaps joined 07:37 patspam left 07:39 iblechbot joined 07:52 lestrrat is now known as lest_away 08:03 baest joined 08:09 idemal left, akl left, silug left, allbery_b left, redicaps left, IllvilJa left, perigrin_ left, buubot left, pnu left, skeptical_p left, rgrau left, kst left, xenoterracide left, ascent_ left, cosimo left, p6eval left, Helios-- left, Trey left, c1sung left, moritz_ left, cls_bsd left, payload left, Patterner left, mathw left, Grrrr left, wolverian left, betterworld left, tkr left, charsbar_ left, cxreg left, TimToady left, omega__ left, Caelum left, tarbo2_ left, IRSeekBot left, awwaiid left, agentzh left, jrockway left, japhb left, rjh left, mikehh left, slavik left, Guest44003 left, hudnix left, PZt left, frew left, Intensity left, Tene left 08:10 hanekomu left, buu left, he_ left, frettled left, rhr left, diakopter left, BooK left, szbalint left, Supaplex left, broquaint left, obra left, ilbot2 left, Ryan52 left, hejki left, huf left 08:11 mikehh joined, Tene joined, redicaps joined, allbery_b joined, agentzh joined, cls_bsd joined, jrockway joined, japhb joined, payload joined, rjh joined, Patterner joined, IllvilJa joined, perigrin_ joined, slavik joined, Guest44003 joined, hudnix joined, buubot joined, pnu joined, akl joined, PZt joined, skeptical_p joined, cxreg joined, frew joined, Intensity joined, rgrau joined, kst joined, xenoterracide joined, ascent_ joined, hanekomu joined, buu joined, tkr joined, broquaint joined, BooK joined, Helios-- joined, silug joined, szbalint joined, betterworld joined, omega__ joined, idemal joined, c1sung joined, Trey joined, p6eval joined, charsbar_ joined, TimToady joined, awwaiid joined, IRSeekBot joined, irc.freenode.net sets mode: +ovov Tene p6eval TimToady IRSeekBot, Grrrr joined, cosimo joined, Caelum joined, diakopter joined, rhr joined, huf joined, moritz_ joined, wolverian joined, tarbo2_ joined, mathw joined, irc.freenode.net sets mode: +oooo diakopter moritz_ wolverian mathw, Ryan52 joined, frettled joined, Supaplex joined, ilbot2 joined, hejki joined, obra joined, he_ joined, irc.freenode.net sets mode: +ov frettled ilbot2 08:12 ashizawa left, partisan left, solarion left 08:14 ssm left 08:15 drbean left, drbean joined 08:22 lest_away is now known as lestrrat 08:23 lestrrat is now known as lest_away 08:39 dalek left, dalek joined 08:40 drbean left, elmex left, elmex joined 08:43 drbean joined, stepnem left 08:48 stepnem joined 08:53 Mantis joined 08:57 Baggiokwok joined
draegtun Morning all. Has promised I posted my perl6 followup (last night): transfixedbutnotdead.com/2010/01/14...ogramming/ 08:59
Su-Shee draegtun: I already read it before breakfast!
09:00 Trey left
draegtun Su-Shee: Hope if didn't upset the breakfast :-) 09:00
09:00 Trey joined
Su-Shee no, not at all. 09:02
though every time I read something like this I keep thinking how much a good book about contemporary oo mixed with meta programming NOT based on Java is needed... 09:03
draegtun Su-Shee: I agree. Perl needs a good meta programming book methinks 09:04
mathw draegtun: thanks for that, I am reading now...
draegtun mathw: Thanks for reading, hope you enjoy 09:05
Su-Shee draegtun: I went through the shelf with "OO" recently .. all java. annoying.
mathw draegtun: Mmm nice. I did find your consistent use of {} for interpolation interesting. 09:06
09:06 dakkar joined
draegtun mathw: thanks. I think I was just keeping it consistent to original Ruby/Javascript examples 09:08
sjohnson hi matt! 09:09
mathw draegtun: It might lead a few people to think it's compulsory even for simple scalars, but maybe I'm just being twitchy and paranoid 09:11
sjohnson: hi
draegtun: They can always be informed otherwise
draegtun draegtun: I see... I thought {} were compulsory ;-) 09:13
mathw: I see.. I thought {} were compulsory (oops!)
mathw no, ordinary scalars interpolate as in Perl 5 09:15
draegtun mathw: cool. Obviously reading an old doc again :( 09:16
mathw {} is for more complex things like method calls and arrays
I don't think they were ever compulsory 09:17
Unless they were for a time in the period where I wasn't paying attention
09:20 JohnDoe365 joined, JohnDoe365 left 09:30 rekhajos joined 09:31 jogla_ joined, go|dfish left, jogla left 09:35 drbean left
draegtun mathw: Well everything on the web isn't always true :) 09:37
mathw: I've amended my gist accordingly: gist.github.com/276591
mathw: only place I needed the {} was on "{$.name}'s colour is $colour_name " (same reason as in Perl5)
mathw: I'll add a comment to my blog post referring to this gist
moritz_ good morning 09:45
09:52 agentzh left 09:55 redicaps1 joined, redicaps left, baest left
mathw draegtun: Great stuff 09:57
09:57 zamolxes_ joined, zamolxes left
moritz_ aye, draegtun++ 09:58
10:01 JimmyZ joined 10:03 sbp left 10:04 redicaps1 left 10:06 mberends joined 10:07 baest joined 10:08 sbp joined 10:11 meneldor joined
meneldor Hi all 10:11
Supaplex all is on vacation 10:13
pugs_svn r29533 | mberends++ | [vill] Code generator groundwork for 'my $foo="bar";'. Various parts are now awaiting a formal runtime metamodel...
10:13 JimmyZ left 10:14 payload left 10:15 ssm joined, ssm left 10:16 ssm joined 10:21 cognominal left, cognominal joined 10:27 payload joined 10:29 drbean joined, cognominal left 10:30 cognominal joined 10:42 meppl joined 11:01 jaldhar left 11:13 jaldhar joined 11:15 draegtun left 11:26 go|dfish joined 11:32 barney joined 11:34 gfx left 11:40 payload left 11:48 hanekomu left 12:00 SmokeMachine joined 12:04 bluescreen joined 12:07 ssm left 12:08 rekhajos left 12:12 Baggiokwok left 12:22 Mantis left, cotto_w0rk joined 12:24 cotto_working left 12:29 payload joined 12:32 ruoso joined 12:44 cognominal left 12:46 iblechbot left 12:50 clintongormley joined 12:53 cognominal joined, IllvilJa left 12:55 payload left 13:03 ssm joined 13:23 soupdragon joined 13:32 plainhao joined 13:34 takadonet joined
takadonet morning all 13:34
colomon morning! 13:37
takadonet colomon: alive and well sir? 13:38
colomon not yet slain by this cold, anyway. :) 13:39
jnthn eww cold :-( 13:40
13:40 korpenkraxar joined
jnthn Get well soon. 13:40
jnthn 's is better today than yesterday.
colomon It's been a whole week now, so I think it's reached the point where I have to pretend it's better and just get on with life. 13:41
Is rakudo supposed to have a release next week? 13:43
jnthn I guess so. 13:45
colomon eeek! 13:46
13:50 synth joined 13:51 bluescreen left 13:55 payload joined 14:04 lichtkind joined 14:05 bluescreen joined 14:17 y3llow joined 14:19 Slug joined 14:20 nihiliad joined 14:35 Baggiokwok joined, Baggiokwok left 14:36 Guest43559 left 14:38 jan_ left 14:53 ash_ joined 14:57 ash_ left 15:01 ash_ joined 15:02 s1n left
ash_ rakudo: my $a = List.new(1, 2, 3); say $a.perl; $a = list(1, 2, 3); say $a.perl; 15:04
p6eval rakudo 3867ff: []␤[1, 2, 3]␤ 15:05
ash_ should those be the same?
15:09 pnate left 15:10 pnate joined 15:14 bluescreen left 15:15 cdarroch joined 15:17 s1n joined 15:19 mberends left 15:21 iblechbot joined 15:25 payload left 15:27 payload joined
ash_ rakudo: my $a = Array.new(1, 2, 3); say $a.perl; 15:29
p6eval rakudo 3867ff: []␤
ash_ i am begining to wonder what the "right" functionality of .new on List/Array is...
15:30 Exodist joined
colomon ash_: I would think those should be the same. 15:30
I doubt it is spec'd one way or another...
ash_ yeah, digging in S32-Containers i haven't seen any specs on .new for List/Array
colomon This is where we get to use our judgement and influence the future. :)
15:31 am0c joined
ash_ rakudo: class Foo { submethod BUILD(*@args) { say @args.perl; } }; Foo.new(1, 2, 3); 15:32
slurpies in BUILD seem to function funny
ng: class Foo { submethod BUILD(*@args) { say @args.perl; } }; Foo.new(1, 2, 3)
p6eval rakudo 3867ff: ( no output )
ng b65331: Method 'perl' not found for invocant of class 'Undef'␤current instr.: 'perl6;Array;_block3582' pc 240746 (src/gen/core.pir:20091)␤
ash_ i guess that's the next thing, should a slupry in a BUILD work? 15:33
i haven't seen that in the specs either
jnthn ash_: No, you probably want to do something like (if you want List.new(1,2,3) to be like list(1,2,3) 15:34
method new(*@values) { self.bless(values => @values) }; submethod BUILD(:@values) { ... } 15:35
That is, transform the positionals into a single named arg that BUILD will receive.
ash_ hm, k 15:36
PerlJam but should List.new and Array.new be that way out of the box?
jnthn PerlJam: In what sense? 15:37
YOu mean, should they be spec'd to work like that?
PerlJam aye
ash_ ng: augment class List { method new(*@args) { say 'me'; } }; List.new(1, 2, 3) # any reason that's not dispatching to new(*@args)?
p6eval ng b65331: ( no output )
colomon ash_: should be multi method, yes? But I remember that not working yesterday for me... 15:38
jnthn ash_: No, that's...odd. 15:39
ash_ ng: augment class List { multi method new(*@args) { say 'me'; } }; List.new(1, 2, 3)
p6eval ng b65331: ( no output )
ash_ shrug *out of my knowledge of rakudo now*
colomon
.oO(hope jnthn has a clue, 'coz I'm stumped...)
15:40
15:41 justatheory joined
PerlJam Can you turn a multi into an only via augment? 15:41
(sure it'll cause breakage, but can it be done?)
15:42 synth left 15:44 nihiliad left
ash_ ng: augment class List { method new(*%kwargs, *@args) { say 'me'; } }; List.new(1, 2, 3) # adding a named slurpy doesn't help, i tried it both as the first and second argument too 15:46
p6eval ng b65331: ( no output )
jnthn has to go out for meeting with freinds now...back later... 15:47
ash_ cya jnthn
commuting ^ 15:50
s/\^/&/
15:50 ash_ left 15:54 Psyche^ joined 15:58 alester joined 16:00 Slug left 16:01 soupdragon left, Patterner left, Psyche^ is now known as Patterner 16:02 hanekomu joined 16:05 jan_ joined 16:07 Exodist left, Exodist joined 16:08 KyleHa joined 16:12 soupdragon joined, cotto left 16:13 cotto joined 16:16 barney left, soupdragon left 16:18 soupdragon joined 16:27 jaldhar left 16:28 jaldhar joined, ignacio_ joined 16:37 tylerni7 left 16:38 tylerni7 joined 16:42 jackyf joined
TimToady PerlJam: functions are not search for in packages (except maybe as a last resort); you may put an only in an inner scope that hids outer multies 16:44
*searched
(and by putting CORE as an outer lexical scope, this is how we guarantee that a user's function defs are future proof against new keywords) 16:46
16:52 korpenkraxar left 16:58 meneldor left 17:07 alester left 17:10 ive joined 17:21 synth joined 17:24 KyleHa left, KyleHa joined 17:38 hercynium joined 17:43 payload left
TimToady *hides 17:45
diakopter eh
TimToady (correcting a typo from an hour ago) 17:46
takadonet ... 17:47
diakopter '*hides' was correcting the typo
TimToady ablutions & 17:48
17:49 pincode joined 17:51 pincode is now known as pinc0de
pugs_svn r29534 | kyle++ | [t/spec] Test for RT 72084: sub name beginning with last- 17:57
r29535 | kyle++ | [t/spec] Test for RT 72048: !~~ of role on instance is always true
Tene what's the motivation for asking "Was I called as a sub or as a method"? I'm missing something. 18:04
18:07 dakkar left 18:10 pnate left 18:11 pnate joined 18:16 jackyf left 18:22 stephenlb joined 18:23 kaare_ joined 18:24 uniejo joined, ive left, ive joined
PerlJam Tene: me too 18:24
(at least I don't understand it in a Perl 6 context) 18:25
18:25 jackyf joined
TimToady he's using it to solve a P5 namespace collision that P6 doesn't have 18:26
(hence my remark yesterday about "namespace superstition")
18:27 ash_ joined 18:28 ash__ joined, ash_ left, ash__ left, ash_ joined
PerlJam I guess I was puzzled by "...I worry that the method/sub invocation isomorphism will be a trap just as in Perl 5." 18:29
ruoso .oO( IRC is always more productive than twitter ) 18:30
18:30 petsepes joined
petsepes hi 18:30
ruoso If someone really needs the distinction, he can install a different routine in the sub
PerlJam petsepes: greetings
TimToady it's a trap in P5 because P5 conflates the method and subroutine namespaces 18:32
18:33 lumi joined
TimToady P6 doesn't, so it's not a trap unless you write a custom dispatcher that confuses things 18:33
diakopter or a compiler/runtime that confuses things.
note the lack of closing </snark> tag 18:34
PerlJam TimToady: right, I was confused by the worry, because it seems you have to do it to yourself
(in perl 6)
18:35 petsepes left 18:36 rgrau` joined 18:37 Chillance joined
TimToady the upside of the isomorphism is that a dispatcher never has to worry about what kind of thing it's calling, because dispatchers only ever call functions, even when that function is implementing a method 18:39
which makes it easy to write dispatcher that shoots yourself in the foot if you want to :)
ruoso and methods are not our by default anymore, right?
TimToady but also allows us to export methods without writing wrappers
correct
if you *do* declare it our, you may call it as a subroutine 18:40
(or my)
ruoso I think the issue is pretty much addressed...
PerlJam It's only a real problem if you're coming from a Perl 5 background and expect that you have do Perl 5ish things :)
TimToady the downside from the VM perspective is that if your VM compartmentalizes, you end up writing wrappers anyway 18:41
ruoso and then the question is not "was this called as a method or as a sub", but "which was the dispatcher that called this?" since we could eventually have some other type of dispatcher
TimToady or you just don't rely on the VM's dispatcher from the user level
since it probably doesn't implement nextsame anyway... 18:42
from the P6 perspective, it's a no-brainer to say that underneath, everything gets invoked as a function
ruoso but I think that someone asking "which dispatcher was used here" can deal with implementation-specific stuff
TimToady well, a VM is not guaranteed to be able to tell you which dispatcher was used either, for that matter 18:43
18:43 cognominal left
ruoso it needs to some extent if it supports nextsame 18:44
TimToady we want to support custom dispatchers in any case; use of a specialized VM dispatcher would be an optimization from the general case 18:45
in some cases a very good optimization 18:46
but not at the expense of broken semantics
(unless you predeclare broken semantics :)
PerlJam a custom dispatcher seems like an "all bets are off" kind of thing. If you're worried about shooting yourself in the foot, you've only got yourself to blame because the default dispatcher(s) protect you. 18:48
Is that an accurate statement?
(with some wiggle room on "protect" :)
TimToady seems about right 18:50
but people coming from the world of P5 programming have a peculiar set of phobias which will take time to cure
ash_ rakudo: my $a = List.new(1, 2, 3); say $a.perl; my $b = list(1, 2, 3); say $b.perl; say $a == $b; # should this be true? 18:51
p6eval rakudo 3867ff: []␤[1, 2, 3]␤0␤
TimToady a great many Perl 5 "Best Practices" are really workarounds to design flaws, but prescriptive grammarians will continue to try to apply those workarounds after they are no longer needed. 18:56
PerlJam That first clause seems like a really good answer to why Perl 6 is so different from Perl 5 18:57
diakopter who really needs vowel points anyway
.oO( writing emitters specialized to particular permutations of its variations should eventually be resolved back to writing one emitter with lots of checks per instruction to-be-emitted. longer compilation time, but much more composably optimizable. )Oo.
19:03
19:10 mssm joined 19:15 tolkad joined
tolkad perl6: print "test"; 19:16
p6eval elf 29535, pugs, rakudo 3867ff: test
tolkad !help
tell lambdabot @echo 19:19
@echo
ooh nvm
19:19 tolkad left
ash_ so, according the dispatch mechanism, if there are 2 methods, 1 with foo(*@args); and another with foo(*@args, *%kwargs); and you call foo(1, 2, 3); that should dispatch to the one only with the arg's slurpy, not kwargs, right? 19:24
TimToady it's arguable whether a (nilable) slurpy should be considered an extra constraint, but we really need an opinion from the implementors whether it's practical to make the distinction 19:30
the fact that theres another declaration effectively turns the * into a +, by that reckoning
which seems a bit bogus 19:31
why not just write the one method to handle the Nil case
ash_ so, 1 with foo ( ) # no params? you mean? 19:33
19:36 tylerni7 left
ash_ I guess i am trying to figure out why this isn't working: 19:36
ng: augment class List { multi method new(*@args) { say @args; } }; class Foo { multi method new(*@args) {say @args;}}; List.new(1, 2, 3); Foo.new(1, 2, 3);
p6eval ng b65331: 123␤
ash_ it should of printed 123 twice, not once 19:37
hmmm
might be a bug in the dispatcher, rather than an issue with the dispatching strategy
I thought that might of been related to the fact that Mu has a new(*@args, *%kwargs) but it doesn't look like thats the problem 19:39
19:40 tylerni7 joined 19:47 cotto_working joined 20:04 cotto_w0rk left 20:06 RaceCondition joined
PerlJam RaceCondition: greetings 20:06
RaceCondition PerlJam: hi again
quiet here 20:07
PerlJam RaceCondition: it's you imagination :)
(lots of out-of-#perl6-band communication happens too)
RaceCondition: What's your interest in Perl 6? Have you tried Rakudo yet? Or was it more just curiousity about the state of things? 20:08
20:08 tylerni7 left
RaceCondition PerlJam: curiosity, yeah... I don't have the need and time to learn perl 20:08
PerlJam What languages are you already familiar with? 20:09
RaceCondition well most of the mainstream ones, but I've peeked into many
ash_ i personally like multi-methods and roles in perl 6, not many languages have either of those, and even fewer have both 20:10
that and you can define your own operators, that ones kinda cool 20:11
rakudo: sub postfix:<!>(Int $x) { [*] 1..$x }; say 5!; 20:12
p6eval rakudo 3867ff: 120␤
ash_ moritz_++ for that one
KyleHa I like type constraints. 20:14
20:15 sjohnson sets mode: +o PerlJam
KyleHa rakudo: sub postfix:<!>(Int $x) { [*] 1..$x }; say "five"! 20:15
p6eval rakudo 3867ff: Nominal type check failed for parameter '$x'; expected Int but got Str instead␤in Main (file src/gen_setting.pm, line 324)␤
ash_ rakudo: multi sub postfix:<!>(Int $x) { [*] 1..$x }; mutli sub postfix:<!>(Str $x) { $x.uc }; say "five"!; say 5!; 20:16
p6eval rakudo 3867ff: Could not find non-existent sub mutli␤in Main (file src/gen_setting.pm, line 324)␤
ash_ oops
rakudo: multi sub postfix:<!>(Int $x) { [*] 1..$x }; multi sub postfix:<!>(Str $x) { $x.uc }; say "five"!; say 5!; 20:18
p6eval rakudo 3867ff: FIVE␤120␤
ash_ silly spelling
KyleHa How hard is it to get Perl 6 to recognize 'mutli' as 'multi'? 20:19
ash_ macro mutli { 'multi' } ? 20:20
KyleHa Macros make me think of TeX.
ash_ they make me think #define
lichtkind can anybody here answer to me some things about proto regexen? 20:24
ash_ sure, we can try 20:25
20:32 rgrau` left 20:35 Exodist left
RaceCondition how does Perl 6 compare with Lisp? I see it has macros and multimethods 20:40
20:45 clintongormley left
ash_ in what respects? would you like to compare them in? 20:46
i think perl 6 has less ( )
well most of the time :P 20:47
KyleHa Perl 6 has more funny characters for some definitions of 'funny'.
ash_ perl 6's syntax doesn't fit on a 2"x"4 note card 20:48
i think
well maybe if you had a really good printer
RaceCondition so why does Lisp's syntax fit?
TimToady doesn't have any :)
RaceCondition oh, in that sense 20:49
ash_ lol lisp's syntax is very simple
RaceCondition I thought you mean "lisp code doesn't fit on a ..."
TimToady to the first approximation, Perl 6 is Lisp with a decent syntax, and minus a lot of assumptions about how lists should be represented :) 20:50
but that's also a vast oversimplification... 20:51
KyleHa I thought LISP was a vast oversimplification. 20:52
TimToady nevertheless, despite all the trappings of OO, Perl 6 is fundamentally more in the FP camp
20:52 alester joined
diakopter ENOPMSTILL 20:54
20:54 clintongormley joined
diakopter does anyone know when the Actions in an nqp-rx grammar are run? 20:54
TimToady I believe they are run at reduction time, but note that Perl 6 grammar isn't supposed to backtrack much. 20:56
KyleHa Is moritz_ around today? I'd like to reorganize (or disorganize) S03-operators/smartmatch.t, but I don't want to overcrud the spectests. 20:57
TimToady there are still only two spots that we rely heavily on backtracking, and neither of them is likely to prove a performance problem.
KyleHa @seen moritz_ 20:58
TimToady rakudo: say [+42].perl 20:59
p6eval rakudo 3867ff: [42]␤
TimToady there's one of 'em
rakudo: $_ = "foo"; say "$_.notamethod" 21:00
p6eval rakudo 3867ff: foo.notamethod␤
TimToady there's the other
21:01 plainhao left
ash_ in the second case, is that backtracking to find the most recent defintiion of $_ ? 21:01
TimToady no
it's distinguishing from this:
rakudo: $_ = "foo"; say "$_.notamethod()"
p6eval rakudo 3867ff: foo.notamethod()␤
TimToady well, it should be :)
ash_ oh, okay, so it has to string interpolation? 21:02
TimToady finding the end of the interpolation involves looking for trailing brackets of some kind or other
and not just the first brackets, but the last brackets 21:03
"$foo.bar().baz()"
or a more likely case, "$x[$y]{$z}" 21:04
sjohnson go to baktiz!!
21:04 Woody2143 left 21:07 mssm left 21:08 clintongormley left
frettled oh! 21:09
uniejo Is the interpolation length also depending on does Callable, Positional and does Associative ? 21:13
KyleHa Is dev.pugscode.org relocated or just out of the picture? 21:16
frettled KyleHa: if you're missing Trac, see the top post at howcaniexplainthis.blogspot.com :) 21:21
KyleHa frettled: Thanks, that's just what I was missing.
frettled Someone™ just needs to get enough tuits to fix the spam problem. 21:23
21:25 rgrau` joined 21:26 RaceCondition left 21:28 Woody2143 joined 21:31 lumi left, lumi joined
KyleHa The first thing that pops into my mind is to block Google via robots.txt. 21:32
The spammers are submitting bogus tickets, which I don't think anyone legitimately uses anyway, so lets amputate that. 21:34
PerlJam Starting with a new VM is probably the most important thing IMHO
frettled mm
PerlJam I'm a fan of clean slates where I can get them.
diakopter KyleHa: do you know anyone who was using dev.pugscode.org? (and if you were, what were you using on it?) 21:35
KyleHa diakopter: I looked at the timeline to see recent commits to the pugs repo. From there I'd look at diffs, etc. 21:36
diakopter oh
KyleHa That's how I kept up with spectest activity, back when I was keeping up. It's been a while since I looked.
diakopter KyleHa: may I interest you in this instead? perlcabal.org/svn/pugs/log
its rss feed has been <ahem> customized for use by pugs_svn 21:37
KyleHa: that SVN::Web installation is also on feather. 21:38
also, it's the one to which the irclog web ui constructs links 21:39
KyleHa Oh, very nice. Thank you, diakopter++ 21:41
ash_ rakudo: class List is also { method new(*@args) { say 'hi'} }; List.new(1, 2, 3); 21:42
p6eval rakudo 3867ff: ( no output )
diakopter fights cisco anyconnect
21:44 SmokeMachine left
pugs_svn r29536 | kyle++ | [t/spec] split S03-operators/smartmatch.t into S03-smartmatch/*.t 21:44
KyleHa OK, I'm going for forgiveness over permission.
ash_ i think there is something wrong with how 'new' is getting dispatched 21:45
in both rakudo and ng
PerlJam rakudo: class Foo is List { method new(*@args) { say "hi" } }; Foo.new(1,2,3); 21:46
p6eval rakudo 3867ff: ( no output ) 21:47
PerlJam blame jnthn :)
ash_ maybe its augmenting/is also 's fault
PerlJam ash_: Well, I just tried inheritance and the result was the same. 21:48
although that worked fine on my local perl6 (not sure if it's ng or master since I haven't compiled it in a while) 21:50
21:52 cotto left, takadonet left 21:55 mssm joined
dalek kudo/ng: a57ebba | (Kyle Hasselbacher)++ | t/spectest.data:
[spectest.data] update according to pugs r29536
22:00
ash_ PerlJam: if you use is also its master
but also rakudo in here times out if you define a class 22:01
it seems like its okay if you don't define a new method in an augment or in an 'is also'
PerlJam ash_: I meant the inheritance example ... but that's a good litmus test to find out which version I have :)
22:03 meppl left 22:06 ruoso left, Exodist joined 22:07 cotto_w0rk joined, cotto joined
ash_ i wonder why rakudo: still time's out on class definitinos 22:07
22:08 cotto_working left 22:10 meppl joined 22:16 meppel joined, colomon left, colomon___ joined 22:17 uniejo left 22:29 snearch joined 22:31 meppl left 22:36 pinc0de left 22:40 soupdragon left 22:41 ignacio_ left, szabgab left, szabgab joined, soupdragon joined, lumi left, s1n left, y3llow left, jogla_ left, Trey left, Khisanth left, Juerd left, simcop2387 left, orevdiabl left, Lorn left, krakan left, xomas left, jjore left, cj left, mdxi left, Infinoid left, gju left, f00li5h[HireMe] left, GeJ left, kcwu left, hugme left, sunnavy left 22:42 KyleHa left, jaldhar left, simcop2387_ joined, Trey joined, krakan joined 22:43 Su-Shee left 22:46 akl left, silug left 22:47 stephenlb left, synth left, araujo left, PerlJam left, lisppaste3 left, breinbaas left, dukelet0 left, mtve left, REPLeffect_ left, sjn left, yves left 22:48 sjn joined, jaldhar joined 22:51 Juerd joined, akl joined, silug joined 22:53 breinbaa1 joined, lumi joined, dukelet0 joined 22:54 Infinoid joined 22:56 lest_away is now known as lestrrat, silug left 22:57 PerlJam joined 23:00 silug joined, mdxi joined
ash_ Mu == undef? right? 23:00
23:02 avar left, literal left
frettled not quite 23:02
But it's one of the undef-like values, depending on type.
23:08 avar joined, literal joined 23:09 soupdragon left, alester left 23:10 bbkr left 23:11 constant_ joined, cognominal joined 23:12 sbp left, zamolxes_ left, orafu left, hicx174 left, dukeleto left, pugs_svn left, LionMade1fLions left, meteorjay left, pjcj left, yahooooo left, constant left, eiro left, nsh left, PacoLinux left, phenny left 23:13 hicx174_ joined, LionMadeOfLions joined 23:14 OuLouFu joined
TimToady arguably it's the most undefined value 23:14
insofar as all other undefined values derive from it
23:14 dukelet0 left, breinbaa1 left, jaldhar left, Trey left, simcop2387_ left, snearch left, colomon___ left, cotto left, Exodist left, ash_ left, ive left, hercynium left, am0c left, cdarroch left, he_ left, frettled left, rhr left, diakopter left, frew left, hudnix left, slavik left, rjh left, szbalint left, japhb left, jrockway left, BooK left, buu left, Supaplex left, PZt left, broquaint left, obra left, ilbot2 left, Ryan52 left, hejki left, huf left, Intensity left, Tene left, Guest44003 left 23:15 pjcj_ joined, yahooooo joined, xenoterracide_ joined 23:17 synth joined, sunnavy joined, cj joined, s1n joined, Khisanth joined, jjore joined, kcwu joined, hugme joined, irc.freenode.net sets mode: +v hugme 23:19 zamolxes joined 23:22 eiro joined, Tene joined, pugs_svn joined, bbkr joined, dukelet0 joined, breinbaa1 joined, jaldhar joined, Trey joined, simcop2387_ joined, snearch joined, colomon___ joined, cotto joined, Exodist joined, ash_ joined, ive joined, hercynium joined, am0c joined, cdarroch joined, jrockway joined, japhb joined, rjh joined, slavik joined, Guest44003 joined, hudnix joined, PZt joined, frew joined, Intensity joined, buu joined, broquaint joined, BooK joined, szbalint joined, diakopter joined, rhr joined, huf joined, Ryan52 joined, frettled joined, Supaplex joined, ilbot2 joined, irc.freenode.net sets mode: +ooov Tene diakopter frettled ilbot2, hejki joined, obra joined, he_ joined, araujo joined, lisppaste3 joined, REPLeffect_ joined, yves joined, mtve joined 23:23 meteorjay joined, ingy left, astinus left, OuLouFu left, PacoLinux_ joined, meteorjay left, REPLeffect_ left, mtve left, yves left, araujo left, lisppaste3 left 23:24 phenny joined, Helios-- left, kst left, rgrau left, sbp joined, GeJ joined, GeJ left, snearch left, kst` joined, xenoterracide left, rgrau joined, nsh_ joined, Helios-- joined, constant_ is now known as constant, silug left 23:25 kaare_ left
sjohnson TimToady: those two lines u wrote might end up as messages in an irc bottle 23:25
23:25 stepnem left, lichtkind left 23:29 dukeleto joined, mikehh left, silug joined, hudnix left
ash_ colomon___: ping? 23:31
23:32 elmex left, ive left 23:33 OuLouFu joined 23:34 GeJ joined 23:36 rgrau left, rgrau joined
colomon___ ash_: pong? 23:37
ash_ I fixed List.new, i have patch for it
colomon___ \o/ 23:38
ash_ i figured i could bug you instead of jnthn, also he's not here :P
colomon___ sure
ash_ gist.github.com/278521 is a copy of it, or i can email it to someone 23:39
23:39 cj left, zamolxes left, OuLouFu left, zamolxes_ joined
colomon___ I will be slightly erratic for a few (reading to son)... 23:39
ash_ no worries
23:40 astinus joined, orafu joined, stepnem joined 23:42 cj joined
colomon___ Are there tests? 23:45
:)
ash_ not yet, i'll do those next
List.new(1, 2, 3) should ~~ list(1, 2, 3) 23:46
I'll work on some though
23:48 cj left, PacoLinux_ left, hugme left, s1n left, synth left, kcwu left, Khisanth left, jjore left, sunnavy left
colomon___ m u 23:48
23:49 ingy joined 23:54 meteorjay joined, elmex joined 23:58 tylerni7 joined, cj joined, PacoLinux_ joined, synth joined, sunnavy joined, s1n joined, Khisanth joined, jjore joined, kcwu joined, hugme joined, irc.freenode.net sets mode: +v hugme
colomon___ yay, works for Array too! 23:58
ash_ should work for anything that inherits from List 23:59
so apparently augment and 'is also' can't add 'new' to a class
ng: class Foo { }; augment class Foo { method new(*@args) { say 'hi'} }; Foo.new(1, 2);
p6eval ng a57ebb: ( no output )