Camelia, the Perl 6 bug

IRC log for #perl6, 2010-03-09

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:00 lue hi! (oh masak and your puns :) )
00:01 masak` joined #perl6
00:03 lue oh hello masak with a `
00:05 masak lue: I accidentally my hotel wifi.
00:05 * masak shouldn't that meme all the time
00:06 wallberg masak: i don't think so. where does viklund work? :-)
00:07 masak wallberg: in Siv Anderssons group.
00:08 masak wallberg: I was just randomly guessing that he might have inspired you to check #perl6 out. but maybe you're just a naturally enlightened person. :)
00:08 wallberg masak: ooops. haha. *that* viklund. yes I am. or rather, I were. i finished my PhD last year and has been on paternity leave since (yes I am Swedish).
00:09 masak last time I heard from viklund, he was on paternity leave too.
00:10 dalek rakudo: 3cc313f | jonathan++ | src/Perl6/Module/Locator.pm:
00:10 dalek rakudo: Include alternative versions of modules in the candidate list too.
00:10 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​cc313f8688d20c3cd088d8918a822927746e553
00:10 dalek rakudo: 8b2fb24 | jonathan++ | build/PARROT_REVISION:
00:10 dalek rakudo: Bump PARROT_REVISION to get readdir that works on Win32.
00:10 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​b2fb24120a5d8990e26b1d9a8a6b8b08ee9bf06
00:10 dalek rakudo: aa8c65e | jonathan++ |  (5 files):
00:10 dalek rakudo: Identify version and authority properly for each module in the candidate list. Choosing latest if multiple versions are found now appears to work (though requesting specific version/authority is NYI).
00:10 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​a8c65ed6b9d0b23ba6904b2745f998a83b36c6f
00:10 wallberg true. LOL, that is all we do around here.
00:11 wallberg i have not had a chat about Perl 6 with him yet. is he much involved in this?
00:11 masak he used to be slightly more involved.
00:12 masak he and I wrote a wiki engine of some repute eighteen months ago.
00:14 masak after that, he seems to have become understandably distracted by suddenly having a family.
00:14 wallberg yup
00:15 wallberg say masak, are you still at farmbio?
00:15 masak I work there, yes.
00:16 masak it brings me the money to sustain my unhealthy Perl 6 habits. :P
00:16 wallberg are there any local Perl groups in the Uppsala area?
00:17 masak no. should we form one?
00:17 lue masak: so you only pay for electricity then? :D
00:17 wallberg would you (and perhaps viklund) by any chance be interested in starting one with me?
00:17 wallberg :-)
00:17 masak wallberg: yes!
00:18 masak lue: there's also wifi, and some form of nutrition, and shelter. and Perl conferences. :)
00:19 masak wallberg: so, when's the next local meeting?
00:19 lue you can get the water out of your laptop's cooling unit, and h2g2 ought to tell you about restaurants in your area giving P6 programmers free food :)
00:21 wallberg gr8! the only other geek group I know of in Uppsala is ULUG, which is pretty densely populated with network/sysadmin people. perhaps we should announce our intentions there too?
00:21 am0c joined #perl6
00:21 wallberg masak: I have a cold atm. perhaps the next week or so?
00:21 lue "Hello! We wish to disseminate you!" :)
00:24 wallberg masak: have you started doing any seirious bioinformatics programming in Perl 6 yet?
00:25 jaldhar joined #perl6
00:25 wallberg ?seirious?
00:26 wallberg oh he left
00:26 wallberg well see ya. bye!
00:27 masak joined #perl6
00:28 masak wallberg: no, I didn't leave! my wifi got dead... :/
00:28 arnsholt Hopefully he'll be back
00:28 lue your wifi needs a defibrilliator+pacemaker :P
00:28 arnsholt Or you could try to reach him through viklund
00:29 masak I'll email him.
00:29 masak hopefully he checks his work address.
00:29 masak s/hopefully/hopeably/ :P
00:31 lue It's not just what I said...it's what I sed.
00:32 masak lue++
00:33 masak That's what she sed!
00:37 * colomon loves that we are currently sitting at revision 30,000 in the pugs svn.
00:38 masak 5,000 commits a year.
00:39 masak that's 170 commits a day. \o/
00:39 masak oh wait no.
00:39 masak 13 commits a day.
00:40 lue that's more like it :)
00:40 masak on average.
00:42 coke joined #perl6
00:42 coke does rakudo's test harness support TEST_JOBS or something like it?
00:43 colomon coke: I believe so.
00:44 masak time for me to sleep for a few hours. o/
00:48 coke colomon: ok. TEST_JOBS isn't it. any suggestions? =-)
00:49 colomon darn, I kind of thought it was TEST_JOBS.
00:49 bkeeler_ Last time I skimmed the code, it seemed that 'make spectest' had parallism, but test_summary.pl had none
00:49 coke s/isn't it/doesn't seem to work on 'make test'/
00:49 colomon bkeeler: true, I'm thinking of make spectest here.
00:50 bkeeler_ I don't recall it being driven by any particular environment variable
00:50 colomon might be as simple as make -j4 spectest...
00:50 coke oh bother. is t/harness p5 or p6?
00:50 bkeeler_ p5 I think
00:50 colomon p5
00:51 arnsholt colomon: I don't think -j will work
00:51 colomon for sure, there's no use strict or use warnings in p6 yet.
00:51 coke that would do it. this is a brand new box with an old system perl. installing a fresh 5.10.1...
00:51 bkeeler_ It's probably about time we wrote a nice harness in p6
00:51 lue -j is for # of cores, right?
00:52 colomon http://irclog.perlgeek.de/​perl6/2010-02-18#i_2004892
00:52 coke basically. (# of jobs.). cores+1 is the typical # I see used.
00:52 colomon that link suggests TEST_JOBS is correct.
00:52 arnsholt -j is the number of subprocesses make spawns at a time, IIRC
00:54 colomon something like TEST_JOBS=5 make spectest
00:54 colomon http://irclog.perlgeek.de/​perl6/2009-10-04#i_1568365
00:54 * lue is tempted to run make -j4096 and see what happens :)
01:14 yinyin joined #perl6
01:27 Limbic_Region left #perl6
01:31 lue afk&
01:31 coke yay, TEST_JOBS does work if you have an updated Test::Harness.
01:31 coke colomon++
01:31 colomon sorry I just didn't know the answer off the top of my head.  :)
01:36 xomas joined #perl6
01:36 xomas joined #perl6
01:39 coke is there a git-ack or something that just searches non-generated files?
01:40 coke [facepalm] git grep it is.
01:41 colomon really?  sweet
01:53 coke do infinite ranges work yet?
01:55 TimToady define "work"
01:55 coke enough to close: http://rt.perl.org/rt3/Tic​ket/Display.html?id=57992
01:58 TimToady rakudo: say (1..*).max
01:58 p6eval rakudo aa8c65: OUTPUT«!whatever_dispatch_helper␤»
01:58 TimToady perhaps not quite
01:58 TimToady alpha: say (1..*).max
01:58 p6eval alpha 30e0ed: OUTPUT«!whatever_closure␤»
01:59 TimToady rakudo: say (1..Inf).[42]
01:59 p6eval rakudo aa8c65: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class 'Range'␤current instr.: '!postcircumfix:<[ ]>' pc 10559 (src/builtins/Role.pir:90)␤»
01:59 colomon errr... what do you expect (1..*).max to return?
01:59 TimToady rakudo: say (1..Inf).max
01:59 p6eval rakudo aa8c65: OUTPUT«Inf␤»
01:59 TimToady that
02:00 colomon TimToady: pmichaud and I had a discussion on that.  what would you expect
02:00 colomon ('a'..*).max to return?
02:00 TimToady Inf, actually
02:01 colomon So Inf should work for non-numeric, too?
02:01 TimToady S03:1340
02:02 colomon well, I'll be.
02:02 TimToady nobody ever reads the specs :)
02:03 colomon TimToady: well, there's a lot of them, and it's frequently not obvious where to look...  :)
02:03 colomon and someone's always changing them.
02:04 TimToady I believe that particular bit is several years old :)
02:04 * coke has enough to walk away from that ticket.
02:04 * coke wonders how to find the current git revision.
02:04 colomon git log on your end.
02:05 colomon http://github.com/rakudo/rakudo/commits/master on github
02:06 * coke just wants "git log | head -1"
02:07 coke (and short.) (coke is sure to backup his .gitconfig this time. :P)
02:08 colomon Probably a way to do that, too, but I'm just barely competent at git myself.  :)
02:08 k23z__ joined #perl6
02:08 k23z__ joined #perl6
02:11 coke std: for (my $i = 1; $i <= 3; $i++) { say $i; }
02:11 p6eval std 30000: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at /tmp/KIPXncZzEo line 1:␤------> [32mfor [33m⏏[31m(my $i = 1; $i <= 3; $i++) { say $i; }[0m␤FAILED 00:01 107m␤»
02:11 coke rakudo: for (my $i = 1; $i <= 3; $i++) { say $i; }
02:11 p6eval rakudo aa8c65: OUTPUT«Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at line 11, near "(my $i = 1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:13 colomon rakudo: loop (my $i = 1; $i <= 3; $i++) { say $i; }
02:13 p6eval rakudo aa8c65: OUTPUT«1␤2␤3␤»
02:13 colomon but really...
02:13 colomon rakudo: for 1..3 -> $i { say $i }
02:13 p6eval rakudo aa8c65: OUTPUT«1␤2␤3␤»
02:14 coke hurm. if rakudo has a passing spec test, does that count for "this must be tested before we can close the ticket." ?
02:15 coke also, if I wish to mark an RT as "needs tests", what's the protocl?
02:15 coke is it still "assign to moritz"?
02:15 colomon I would think yes in the first case.
02:15 colomon I don't know what the protocol is in the second case.
02:17 pugssvn r30001 | colomon++ | [t/spec] Some tests for :f.
02:17 coke colomon: if you're writing spec tests, I'll leave 62478 to you. =-)
02:18 colomon usually I mostly write tests for code I am actually working on.  :)
02:18 colomon but if I can find the RT in my e-mail, I'll take a look.
02:18 colomon See if I know how to do it.
02:22 colomon coke:  do you have a link to the ticket?  (my RT skills are less than awesome)
02:22 ShaneC joined #perl6
02:23 coke colomon: http://rt.perl.org/rt3/Tic​ket/Display.html?id=62478
02:24 colomon oh,  I see.
02:25 colomon It would be good to have a test for that, I think I've seen something like that in the tests before....
02:30 colomon rakudo: eval("for (my $i = 1; $i <= 3; $i++) { say $i; }")
02:30 p6eval rakudo aa8c65: OUTPUT«Symbol '$i' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
02:30 colomon rakudo: eval('for (my $i = 1; $i <= 3; $i++) { say $i; }')
02:30 p6eval rakudo aa8c65:  ( no output )
02:31 colomon rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }
02:31 p6eval rakudo aa8c65:  ( no output )
02:32 colomon rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }; say $!.WHAT
02:32 p6eval rakudo aa8c65: OUTPUT«Failure()␤»
02:33 colomon rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }; say $!.Str
02:33 p6eval rakudo aa8c65: OUTPUT«No exception handler and no message␤current instr.: 'perl6;Perl6Exception;throw' pc 14421 (src/builtins/Seq.pir:77)␤»
02:33 colomon rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }; say ~$!
02:33 p6eval rakudo aa8c65: OUTPUT«No exception handler and no message␤current instr.: 'perl6;Perl6Exception;throw' pc 14421 (src/builtins/Seq.pir:77)␤»
02:34 colomon rakudo: eval('for (my $i = 1; $i <= 3; $i++) { say $i; }'); say "$!"
02:34 p6eval rakudo aa8c65: OUTPUT«Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at line 1, near "(my $i = 1"␤»
02:34 colomon bingo!
02:36 coke LHF?
02:37 colomon I dunno if it's LHF, but I think I can write the test.
02:37 colomon And I learned useful stuff in the process, coke++
02:37 coke no, what is "LHF?"
02:37 colomon low-hanging fruit
02:39 JimmyZ joined #perl6
02:39 coke ah. danke.
02:39 coke LHF is low hanging fruit.
02:39 coke LHF?
02:39 coke what, no purl? =-)
02:41 colomon blast.  I wrote the tests in for.t, which isn't actually turned on.
02:42 coke is http://rt.perl.org/rt3/Tic​ket/Display.html?id=70664 closable? (has tests, seems to work.)
02:46 perpetrator joined #perl6
02:48 coke std: say Rat.new.perl
02:48 p6eval std 30001: OUTPUT«ok 00:01 104m␤»
02:49 * colomon is on an epic quest to get for.t working...
02:51 coke rakudo: 3,
02:51 p6eval rakudo aa8c65: OUTPUT«Confused at line 11, near "3,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
03:00 coke there are a lot of tickets with "This is an automatically generated mail to inform you that tests are now available in"
03:00 JimmyZ std: 3,
03:00 p6eval std 30001: OUTPUT«ok 00:01 107m␤»
03:02 colomon rakudo: for "hello" { .say }
03:02 p6eval rakudo aa8c65: OUTPUT«hello␤»
03:05 colomon rakudo: for "hello" { .lc.say }
03:05 p6eval rakudo aa8c65: OUTPUT«hello␤»
03:05 colomon rakudo: { .lc.say } for "hello"
03:05 p6eval rakudo aa8c65:  ( no output )
03:07 colomon rakudo: { .lc.say } for "hello";
03:07 p6eval rakudo aa8c65:  ( no output )
03:11 colomon rakudo: for(0..5) { .say }
03:11 p6eval rakudo aa8c65: OUTPUT«0␤1␤2␤3␤4␤5␤»
03:14 pugssvn r30002 | colomon++ | [t/spec] Massive refudge and tweaks to get for.t working in Rakudo, plus new tests for RT #62478.
03:15 colomon rakudo: say 0 <=> -1/2
03:16 p6eval rakudo aa8c65: OUTPUT«1␤»
03:16 colomon rakudo: say 0 <=> 1/2
03:16 p6eval rakudo aa8c65: OUTPUT«-1␤»
03:16 colomon rakudo: say 1/2 <=> 1/2
03:16 p6eval rakudo aa8c65: OUTPUT«0␤»
03:17 coke rakudo: class Foo { }; my $x = "Foo"; my $y = $x.new; $y.WHAT.say;
03:17 p6eval rakudo aa8c65: OUTPUT«Foo()␤»
03:22 pugssvn r30003 | colomon++ | [t/spec] Add new file to test comparisons without Order enum
03:25 nsh joined #perl6
03:26 pugssvn r30004 | colomon++ | [t/spec] Actually get the file converted.
03:29 JimmyZ rakudo: for(0...*) { .say }
03:29 p6eval rakudo aa8c65:  ( no output )
03:31 TimToady std: for(0...*) { .say }
03:31 rv2733 joined #perl6
03:31 p6eval std 30003: OUTPUT«[31m===[0mSORRY![31m===[0m␤for() interpreted as function call at line 1; please use whitespace instead of parens␤Unexpected block in infix position (two terms in a row) at /tmp/1i1bGuIzjf line 1:␤------> [32mfor(0...*) [33m⏏[31m{ .say }[0m␤    expecting any of:␤
03:31 p6eval ..bracketed i…
03:32 JimmyZ rakudo: for 0...* { .say }
03:32 JimmyZ std: for(0..5) { .say }
03:32 p6eval rakudo aa8c65:  ( no output )
03:32 p6eval std 30003: OUTPUT«[31m===[0mSORRY![31m===[0m␤for() interpreted as function call at line 1; please use whitespace instead of parens␤Unexpected block in infix position (two terms in a row) at /tmp/F61QDwozbC line 1:␤------> [32mfor(0..5) [33m⏏[31m{ .say }[0m␤    expecting any of:␤
03:32 p6eval ..bracketed in…
03:36 dalek rakudo: b093791 | (Solomon Foster)++ | t/spectest.data:
03:36 dalek rakudo: Turn on S04-statements/for.t.
03:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​0937917c08aad7d5ba70be4e3212146240c99ed
03:36 dalek rakudo: 0162536 | (Solomon Foster)++ | t/spectest.data:
03:36 dalek rakudo: Add test file S03-operators/comparison-simple.t.
03:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​1625360b3c63f9db5a1c9e8eef955a1c1335bc6
03:38 nsh joined #perl6
03:49 synth joined #perl6
04:10 tuxdna joined #perl6
04:10 zostay joined #perl6
04:11 diakopter NNNNNNNNNNN
04:14 synth joined #perl6
04:26 synth joined #perl6
04:27 pugssvn r30005 | bcmb++ | Update smartlink
04:30 synth joined #perl6
04:37 [synth] joined #perl6
04:50 synth joined #perl6
05:00 diakopter \\o//
05:03 diakopter got to stage2. stage1's boss was tricky
05:13 ihrd joined #perl6
05:13 mikehh joined #perl6
05:16 * diakopter -Ofun lately
05:34 [synth] joined #perl6
05:36 ihrd left #perl6
05:44 araujo joined #perl6
05:45 [[synth]] joined #perl6
06:39 k23z__ joined #perl6
06:53 kaare joined #perl6
07:03 mberends joined #perl6
07:05 uniejo joined #perl6
07:20 Su-Shee joined #perl6
07:20 colomon diakopter++
07:21 Su-Shee good morning
07:23 colomon o/
07:23 diakopter \\o//
07:25 mberends the four-armed diakopter is taking butterfly wings
07:25 tuxdna joined #perl6
07:26 diakopter two arms moving quickly
07:26 diakopter flapping.
07:26 diakopter or hand waving.
07:31 diakopter or trying not to drown
07:32 diakopter or desperately/urgently waving for attention
07:32 diakopter or do I repeat (project onto?) myself?
07:36 mberends with four arms, all of the above. it also suggests a dragonfly
07:38 diakopter \\o//
07:38 diakopter \|/
07:39 diakopter falling through the atmosphere at terminal velocity
07:40 * diakopter gets back to compiling a compiler-compiler
07:41 mberends diakopter: that makes you the compiler compiler compiler
07:41 diakopter heh
07:42 masak joined #perl6
07:42 * masak yawns
07:42 colomon o/
07:42 diakopter well, in this case Visual Studio is; more properly, I'm commanding the compilation of a compiler compiler
07:42 diakopter whee
07:42 mberends masak: good morning!
07:42 diakopter masak: right back at ya
07:42 colomon diakopter: so you're back to .NET again, are you?
07:42 diakopter colomon: today yes
07:42 masak diakopter: you seem happy. did you code something cool?
07:42 diakopter yes indeed
07:43 diakopter at least, I finally found the bug/solution for which I was searching for 5 hours
07:43 * colomon would love to see a working Perl 6 on .NET...
07:43 diakopter you keep saying that :P
07:43 masak diakopter: congrats!
07:45 diakopter thanks
07:46 colomon diakopter: I keep meaning it, too.  :)
07:47 colomon I think a pretty good percentage of the work I've done on Rakudo in just in pure Perl 6, and ought to port pretty easily to another Perl 6 system.... ;)
07:47 diakopter you'll have the strongly-typed/statically-resolved/sing​le-inheritance-class-declarations/scala​rs-only/full-closures/most-of-grammars subset of Perl 6, at least
07:48 colomon :)
07:48 diakopter ... on which some variant of STD/Cursor could be run
07:48 diakopter not some subset, some variant/transliteration
07:49 diakopter (see what I wrote last night about this time in the irclog yesterday)
07:49 masak that sounds awesome.
07:49 diakopter I have no idea whether it would be any faster than it is on Perl 5. literally no clue.  it could go either way, very drastically.
07:51 diakopter the other option, of course, is to continue down the path of extending it to be Perl 6 itself... an option I'll probably prefer while people torture p6eval/mono/sprixel
07:51 * diakopter goes back to it
07:54 masak ++diakopter
07:57 masak thickas replies to my post that "Alogol 68 is not in any way remembered fondly by people wishing to write code partly because even if you like the ideas there were so few implementations that it was higly unlikely they would run."
07:57 masak I'm thinking about what to write that doesn't immediately paint me as a dystopian. :)
07:59 mberends masak: sometimes silence is golden ;)
07:59 masak mberends: I thought about writing three dots: '...'
07:59 masak :)
07:59 masak but maybe I'll simply cut that part out instead.
08:01 mssm joined #perl6
08:02 masak std: 3,
08:02 p6eval std 30005: OUTPUT«ok 00:01 107m␤»
08:03 moritz_ good morning
08:03 masak o/
08:03 moritz_ masak, jnthn: did you have breakfast already?
08:03 colomon \o
08:03 masak moritz_: pretty sure neither of us did.
08:03 masak (even without having met jnthn yet)
08:04 moritz_ masak: I'll take a shower pretty quickly, then I'm ready
08:04 masak likewise.
08:04 masak masak.take-shower(:pretty-quickly);
08:06 * mberends wishes he could re-join the Breakfast Club
08:18 masak mberends: the Breakfast Club will have this session's last meeting today.
08:18 masak so if you're to rejoin, you'll have to hurry! :)
08:20 * moritz_ tumbles out of the shower and is now ready
08:21 * masak too
08:22 moritz_ lock
08:58 quester joined #perl6
09:08 dakkar joined #perl6
09:12 iblechbot joined #perl6
09:33 masak joined #perl6
09:34 masak you know, you were allowed to say things while we were having breakfast. :P
09:34 baest masak: NO :)
09:34 baest masak: moritz_ said lock so I thought that meant the channel was locked
09:35 masak 哈哈
09:36 masak oops, I made reddit: http://www.reddit.com/r/programming/comments​/bazgw/perl6_journal_the_ghost_of_algol_68/
09:38 mberends masak: it's polite not to say anything with a full mouth ;)
09:39 mberends it seems perfectly possible that Perl 6 becomes the first Algol 68 of the 21st century
09:40 masak mberends: if you can say "HA", chances are your mouth is not full :)
09:43 uniejo joined #perl6
09:49 * diakopter hungry & sleepy
09:49 * diakopter svn commits
09:50 moritz_ TimToady: how do we know if a user-defined operator is iffy enough to apply the ! prefix meta operator to it?
09:53 jnthn oh morning
09:58 moritz_ rakudo: my @a; say @a.list
09:58 p6eval rakudo 016253: OUTPUT«␤»
10:00 baest moritz_: nice, that was crash last time I tried
10:00 moritz_ baest: aye; jnthn++ fixed it yesterday
10:00 baest wheee
10:00 baest glorious
10:01 moritz_ and we had two tickets for it, one with .list, on with .perl
10:01 baest cool
10:02 baest (that the ticket can be closed)
10:02 baest s
10:03 pugssvn r30006 | moritz++ | [t/spec] unfudge a test for rakudo in for.t
10:09 moritz_ rakudo: my $a = "string".new('');
10:09 p6eval rakudo 016253: OUTPUT«Null PMC access in get_string()␤current instr.: 'perl6;Mu;CREATE' pc 1777 (src/builtins/Mu.pir:208)␤»
10:09 moritz_ btw we're at 26860 passing tests right now
10:10 moritz_ rakudo: say "peer".subst(/e/, 'o', :g);
10:10 p6eval rakudo 016253: OUTPUT«poor␤»
10:10 moritz_ rakudo: say "peer".subst(/e/, 'o', :global);
10:10 p6eval rakudo 016253: OUTPUT«poer␤»
10:14 xabbu42 joined #perl6
10:18 pmurias joined #perl6
10:24 vamped joined #perl6
10:28 arthur-_ joined #perl6
10:28 dalek rakudo: de996e9 | moritz++ | src/core/Any-str.pm:
10:28 dalek rakudo: fix RT #73120: Str.subst should allow both :g and :global
10:28 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​e996e92de87f8f968f57b0afb8b1d8ab21a1708
10:29 tlb joined #perl6
10:32 araujo joined #perl6
10:35 uniejo joined #perl6
10:37 masak moritz_: my @a = 1, 2, 3; sub foo(@a is copy) { say @a.WHICH };ay @a.WHICH; foo(@a)
10:37 masak rakudo: my @a = 1, 2, 3; sub foo(@a is copy) { say @a.WHICH };ay @a.WHICH; foo(@a)
10:37 p6eval rakudo 016253: OUTPUT«Could not find non-existent sub &ay␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
10:37 masak argh. :)
10:37 masak rakudo: my @a = 1, 2, 3; sub foo(@a is copy) { say @a.WHICH }; say @a.WHICH; foo(@a)
10:37 p6eval rakudo 016253: OUTPUT«47361291586432␤47361291485872␤»
10:38 masak moritz_: if arrays get cloned by 'is copy', why not objects?
10:39 jnthn If it has assignment semantics I guess that's what falls out.
10:40 masak rakudo: my %h = foo => 1; sub foo(%h is copy) { say %h.WHICH }; say %h.WHICH; foo(%h)
10:40 p6eval rakudo 016253: OUTPUT«47779823617504␤47779825617608␤»
10:40 masak by assignment semantics, the hashes should be the same, no?
10:40 masak oh wait.
10:40 moritz_ masak: the container is cloned; in the case of the array, the container *is* the object you're interested in
10:40 masak rakudo: my %h = { foo => 1 }; sub foo(%h is copy) { say %h.WHICH }; say %h.WHICH; foo(%h)
10:40 p6eval rakudo 016253: OUTPUT«47446417869928␤47446421692824␤»
10:40 jnthn my %h = %foo; # different
10:46 moritz_ alpha: my $i = 0; say 'hello'.subst(/l/,{$i++});
10:46 p6eval alpha 30e0ed: OUTPUT«he0lo␤»
10:47 vamped alpha: my $i = 1; say 'hello'.subst(/l/,{$i++}, :g);
10:47 p6eval alpha 30e0ed: OUTPUT«he12o␤»
10:55 moritz_ vamped: if you git pull and recomile, you have that in master too
10:56 moritz_ *recompile
10:56 masak alpha: my $i = 1; say 'all the vowels in this sentence have been replaced by monotonically increasing numbers'.subst(/<[aeiou]>/, {$i++}, :g)
10:57 p6eval alpha 30e0ed: OUTPUT«1ll th2 v3w4ls 5n th6s s7nt8nc9 h10v11 b1213n r14pl15c16d by m17n18t19n20c21lly 22ncr2324s25ng n26mb27rs␤»
10:57 dalek rakudo: 16efb68 | moritz++ | src/core/Any-str.pm:
10:57 dalek rakudo: implement Str.subst($matcher, Code, :g)
10:57 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​6efb687daaca43f809995e9eec4b7ab0c31a5f2
10:57 masak moritz_++
10:58 arthur-_ joined #perl6
10:58 vamped moritz: i'll update. thanks.
11:00 moritz_ rakudo: say <a b c>.join
11:00 p6eval rakudo de996e: OUTPUT«abc␤»
11:03 tlb joined #perl6
11:03 payload joined #perl6
11:05 Baggio joined #perl6
11:08 moritz_ rakudo: my $x = *; say $x.WHAT
11:08 p6eval rakudo de996e: OUTPUT«Block()␤»
11:08 moritz_ now that's... confusing
11:08 masak nod.
11:08 moritz_ rakudo: say *.WHAT
11:08 masak rakudo: say Block ~~ Whatever
11:08 p6eval rakudo de996e: OUTPUT«Whatever()␤»
11:08 p6eval rakudo de996e: OUTPUT«0␤»
11:09 masak rakudo: my Whatever $x = *
11:09 p6eval rakudo de996e:  ( no output )
11:09 masak rakudo: my Whatever $x = *; say $x.WHAT
11:09 p6eval rakudo de996e: OUTPUT«Block()␤»
11:09 * masak submits rakudobug
11:12 jonasbn joined #perl6
11:12 jonasbn hep
11:13 moritz_ oh hai jnthn
11:13 moritz_ erm, jonasbn
11:13 jonasbn hehe
11:13 moritz_ moritztabfail
11:13 jonasbn been pretty busy all morning, are you guys up for lunch?
11:14 masak do you mean 'are you hungry?' or 'would you like to join me for lunch?' ? :)
11:14 masak because the answers are different... :)
11:14 * moritz_ is slowly becoming hungry
11:14 masak (in the good sense)
11:14 masak jonasbn: where and when do we meet?
11:15 moritz_ masak: http://maps.google.com/maps?f=q&amp;source​=s_q&amp;hl=en&amp;geocode=&amp;q=kalvebod​+brygge+43&amp;sll=55.620526,12.649457&amp​;sspn=0.184172,0.240326&amp;ie=UTF8&amp;hq​=&amp;hnear=Kalvebod+Brygge+43,+1560,+København,+Denmark&ll=55.666585,12.5​7117&spn=0.011497,0.01502&t=h&z=16
11:15 vamped so is ~15 minutes to "git pull" and recompile near average?
11:15 moritz_ vamped: don't think so
11:15 masak vamped: the 'git pull' should be almost instantaneous.
11:15 moritz_ unless you need to recompile parrot too, on a single core machine
11:15 jonasbn masak: if you could come by DK Hostmaster?
11:16 jonasbn that is down the street as I pointed out in the map yesterday
11:16 vamped did "git pull"; perl Configure.pl --gen-parrot; make; sudo make install;
11:16 vamped any shortcuts?
11:16 masak jonasbn: sure, no prob.
11:16 jonasbn I think we just have to be there before 13:00
11:17 moritz_ then we should break up here pretty soon :-)
11:17 jonasbn I am sorry about the short notice, but I was busy and I guessed lunch is a universal concept
11:17 jonasbn if you would prefer hacking it is fine by me :)
11:18 masak no, lunch is fine.
11:18 jonasbn I just don't want you to leave .dk on an empty stomach and all skinny
11:18 * masak hugs jonasbn :)
11:19 jnthn lunch is want
11:19 moritz_ rakudo: say *.defined
11:20 p6eval rakudo 16efb6: OUTPUT«1␤»
11:21 moritz_ jonasbn: we're going now (which means first bringing the luggage into my room, so we'll actually leave in ~10min
11:22 jonasbn moritz_: no problem
11:34 untaken joined #perl6
11:50 meteorjay joined #perl6
11:58 lichtkind joined #perl6
11:58 lichtkind dukeleto: ping
12:05 payload joined #perl6
12:11 rob___ joined #perl6
12:19 mathw rakudo: multi foo(@a where {.length == 0}) { say 'woo'; }; my @b; foo(@b);
12:19 p6eval rakudo 16efb6: OUTPUT«Method 'length' not found for invocant of class 'Array'␤current instr.: '_block55' pc 491 (EVAL_1:188)␤»
12:19 mathw doh
12:19 mathw wake up
12:19 mathw rakudo: multi foo(@a where {.elems == 0}) { say 'woo'; }; my @b; foo(@b);
12:19 p6eval rakudo 16efb6: OUTPUT«woo␤»
12:20 mathw rakudo: multi foo(@a where {.elems == 0}) { say 'woo'; }; my @b = 1, 2, 3; foo(@b);
12:20 p6eval rakudo 16efb6: OUTPUT«No applicable candidates found to dispatch to for 'foo'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
12:20 mathw rakudo: multi foo(@a where {.[1] == 2}) { say 'woo'; }; my @b = 1, 2, 3; foo(@b);
12:20 p6eval rakudo 16efb6: OUTPUT«woo␤»
12:20 mathw \o/
12:22 ruoso joined #perl6
12:25 colomon moritz_: you're passing @chunks[$i] to &replacement as an argument -- shouldn't it actually be passed as $/ instead?
12:25 colomon (in subst, that is.)
12:31 * colomon will feel rather sheepish if it turns out the thing stopping him from implementing that version of subst was just a misunderstanding of how the method is supposed to work....
12:31 colomon afk # breakfast
12:32 hejki rakudo: my %h; say %h.WHAT;
12:32 p6eval rakudo 16efb6: OUTPUT«Hash()␤»
12:32 hejki rakudo: my %h; say "foo" if %h.WHAT eq "Hash"
12:32 p6eval rakudo 16efb6:  ( no output )
12:32 hejki rakudo: my %h; say "foo" if %h.WHAT eq "Hash()"
12:32 p6eval rakudo 16efb6: OUTPUT«foo␤»
12:33 hejki rakudo: multi foo($h where {.WHAT eq "Hash()"}) { say "i has hash" }; my $x = {}; foo($x);
12:33 p6eval rakudo 16efb6: OUTPUT«i has hash␤»
12:33 hejki \o/
12:35 Baggio joined #perl6
12:37 masak joined #perl6
12:39 moritz_ colomon: I think assigning to $/ doesn't work, because $/ is searched in outer scopes first, not in the caller's scope
12:40 moritz_ rakudo: { 'a' ~~ /a/; sub f { say $/ };  }; 'b' ~~ /./; f() # if it says a, it won't work
12:40 p6eval rakudo 16efb6: OUTPUT«Could not find non-existent sub &f␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
12:40 moritz_ rakudo: { 'a' ~~ /a/; our sub f { say $/ };  }; 'b' ~~ /./; f() # if it says a, it won't work
12:40 p6eval rakudo 16efb6: OUTPUT«b␤»
12:40 moritz_ rakudo: { 'a' ~~ /a/; say $/; our sub f { say $/ };  }; 'b' ~~ /./; f() # if it says a, it won't work
12:40 p6eval rakudo 16efb6: OUTPUT«a␤b␤»
12:43 moritz_ rakudo: my $a = 'a' ~~ /a/; 'b' ~~ /b/; $/ := $a; say $/
12:43 p6eval rakudo 16efb6: OUTPUT«:= binding of variables not yet implemented␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
12:43 moritz_ rakudo: my $a = 'a' ~~ /a/; 'b' ~~ /b/; $/ = $a; say $/
12:43 p6eval rakudo 16efb6: OUTPUT«a␤»
12:44 hanekomu joined #perl6
12:46 colomon moritz_: I certainly don't know how to assign to $/.
12:47 jnthn Maybe see implementation of match.
12:47 moritz_ colomon: it seems to just work when assigning to $/ :-)
12:47 colomon moritz_: wait, seriously!?
12:48 * colomon looks carefully at example.
12:48 colomon dang.
12:53 colomon I've been trying to find examples in the spec of how this should work.
12:53 colomon there's this: s:g/(\w+)/{ucfirst $1}/
12:54 colomon If that's supposed to also be subst(/(\w+)/, {ucfirst $1}, :g), then we've got a model.
12:55 * moritz_ has a better implementation of subst locally; need to wait for a spectest run...
12:55 colomon jnthn: looks like match might return the match object rather than setting $/ ?
12:55 jnthn ah
12:55 jnthn hmm
12:56 jnthn maybe it's Regex.ACCEPTS or some such that sets it.
12:58 colomon I'm willing to accept that match might be wrong.  :)
12:59 moritz_ colomon: it might be not very specced, but it would be *very* nice
13:00 ignacio_ joined #perl6
13:00 * moritz_ tries the pir::store_dynamic_lex__vSP('$/', $match);
13:01 moritz_ now
13:02 mssm joined #perl6
13:06 moritz_ doesn't seem to have any impact
13:07 colomon looks like there aren't any .match tests in S05-match?
13:08 moritz_ colomon: correct
13:08 moritz_ (and as always, patches welcome)
13:08 takadonet morning all
13:09 colomon of course, I was looking at S05-match to see what it thought .match should do, so the lack of actual .match examples is a big drawback.
13:09 pugssvn r30007 | moritz++ | [t/spec] fudge subst.t for rakudo
13:09 moritz_ S05-substitution/match.t maybe?
13:10 colomon hmmm, looks like yes.
13:10 moritz_ rakudo: say ('a' ~~ /a/).WHAT
13:10 p6eval rakudo 16efb6: OUTPUT«Regex::Match()␤»
13:10 moritz_ rakudo: say ('a' ~~ /a/) ~~ Match
13:10 p6eval rakudo 16efb6: OUTPUT«Could not find non-existent sub &Match␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
13:11 colomon doesn't tell us anything about $/, though.
13:11 * masak submits rakudobug
13:11 colomon I'm inclined to think .match should set $/.
13:12 moritz_ I'm inclinde to think it shouldn't
13:12 moritz_ you have ~~ $regex for syntactic sugar and magic
13:12 moritz_ the method forms should stay mostly straight forward, IMHO
13:15 pugssvn r30008 | moritz++ | [t/spec] fudge match.t for rakudo
13:15 pugssvn r30009 | moritz++ | [t/spec] test Str.subst(..., :global)
13:15 quester joined #perl6
13:16 dalek rakudo: 3fba2c3 | moritz++ |  (2 files):
13:16 dalek rakudo: implement :x in Str.subst; implement :all in Str.split(Str)
13:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​fba2c3a343806885b983c624c4c1aeb7389c009
13:18 quester left #perl6
13:20 moritz_ std: 3,
13:20 p6eval std 30006: OUTPUT«ok 00:01 107m␤»
13:20 moritz_ rakudo: 3,
13:20 p6eval rakudo 16efb6: OUTPUT«Confused at line 11, near "3,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
13:22 masak std: 3 ,
13:22 p6eval std 30006: OUTPUT«ok 00:01 105m␤»
13:22 masak rakudo: 3 ,
13:22 p6eval rakudo 16efb6: OUTPUT«Confused at line 11, near "3 ,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
13:26 moritz_ rakudo: 'try { die "Goodbye cruel world!" }; say $!.^isa("Exception")
13:26 p6eval rakudo 16efb6: OUTPUT«Confused at line 11, near "'try { die"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
13:26 moritz_ rakudo: try { die "Goodbye cruel world!" }; say $!.^isa("Exception")
13:26 p6eval rakudo 16efb6: OUTPUT«1␤»
13:29 moritz_ rakudo: class Boo does Snorkable { };
13:29 p6eval rakudo 16efb6: OUTPUT«Null PMC access in type()␤current instr.: 'perl6;Boo;!class_init_11' pc 353 (EVAL_1:161)␤»
13:36 moritz_ rakudo: say (0,1).grep: {!($^x%2)}
13:36 p6eval rakudo 16efb6: OUTPUT«0␤»
13:36 moritz_ rakudo: say (0,1).grep: !(*%2)
13:36 p6eval rakudo 16efb6: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
13:36 moritz_ rakudo: say (0,1).grep: 0==(*%2)
13:36 p6eval rakudo 16efb6: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
13:40 moritz_ std: /( )/
13:40 p6eval std 30009: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/sklz92aAea line 1:␤------> [32m/( [33m⏏[31m)/[0m␤FAILED 00:01 107m␤»
13:40 moritz_ rakudo: /( )/
13:40 p6eval rakudo 16efb6:  ( no output )
13:40 masak alpha: /( )/
13:40 p6eval alpha 30e0ed: OUTPUT«Null PMC access in find_method('reduce')␤in Main (file <unknown>, line <unknown>)␤»
13:40 jnthn rakudo: say "" ~~ /( )/
13:41 p6eval rakudo 16efb6: OUTPUT«␤»
13:42 pugssvn r30010 | colomon++ | [t/spec] Fudge two tests for Rakudo.
13:43 moritz_ rakudo: multi f(Num $x) { say "Num" }; multi f(Int $x) { callsame; say "Int" }; f(42)
13:43 p6eval rakudo 16efb6: OUTPUT«Null PMC access in clone()␤current instr.: '&callsame' pc 17316 (src/builtins/assign.pir:21)␤»
13:43 moritz_ rakudo: class A { class A::B {} }; A::B.new
13:43 p6eval rakudo 16efb6: OUTPUT«Null PMC access in invoke()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
13:45 dalek rakudo: 85ef035 | (Solomon Foster)++ | t/spectest.data:
13:45 dalek rakudo: Turn on S05-match/blocks.t.
13:45 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​5ef035ff8c461a9ed45af0ee8e37bcf37c4554b
13:46 moritz_ rakudo: say (grep { $^a == $^b }, 1, 1, 2, 3, 4, 4).perl
13:46 p6eval rakudo 16efb6: OUTPUT«Too many positional parameters passed; got 7 but expected 2␤current instr.: 'grep' pc 249925 (src/gen/core.pir:6503)␤»
13:55 moritz_ std: when 42 { say "This should fail" }
13:55 p6eval std 30009: OUTPUT«ok 00:01 105m␤»
13:55 moritz_ rakudo: when 42 { say "This should fail" }
13:56 p6eval rakudo 3fba2c: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14421 (src/builtins/Seq.pir:77)␤»
13:57 moritz_ rakudo: say (11/10).Rat
13:57 p6eval rakudo 3fba2c: OUTPUT«1.1␤»
13:59 masak moritz_: S04:905
14:00 moritz_ rakudo: class A { method Str() { for ^1 {} } }; say ~A.new
14:00 p6eval rakudo 3fba2c: OUTPUT«get_string() not implemented in class 'ArrayIterator'␤current instr.: 'perl6;A;Str' pc 394 (EVAL_1:168)␤»
14:00 moritz_ masak: THX
14:00 masak NP
14:01 moritz_ rakudo: class A {}; class B does A {}
14:01 p6eval rakudo 3fba2c: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤current instr.: 'perl6;ClassHOW;add_composable' pc 3928 (src/metamodel/ClassHOW.pir:186)␤»
14:01 moritz_ rakudo: class A::B {}; A.foo
14:01 p6eval rakudo 3fba2c: OUTPUT«Could not find non-existent sub &A␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:02 moritz_ rakudo: sub self() { say "OH HAI" }; self
14:02 p6eval rakudo 3fba2c: OUTPUT«OH HAI␤»
14:02 moritz_ rakudo: sub foo { @_[0] = "bah" }; my $a = "!"; foo($a); say $a
14:02 p6eval rakudo 3fba2c: OUTPUT«!␤»
14:03 rob___ left #perl6
14:03 moritz_ rakudo: sub foo($a = 1, $b) { say $a }; foo(3)
14:03 p6eval rakudo 3fba2c: OUTPUT«Not enough positional parameters passed; got 1 but expected between 1 and 2␤current instr.: 'foo' pc 180 (EVAL_1:77)␤»
14:03 moritz_ rakudo: "".subst(/x/, "").trans()
14:03 p6eval rakudo 3fba2c: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:04 moritz_ rakudo: say ''.trans()
14:04 p6eval rakudo 3fba2c: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:04 SmokeMachine joined #perl6
14:04 payload joined #perl6
14:05 moritz_ rakudo: augment class List { { method d { for self.kv { .say } }; <a b c>.d
14:05 p6eval rakudo 3fba2c: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
14:05 moritz_ rakudo: augment class List { { method d { for self.kv { .say } } }; <a b c>.d
14:05 p6eval rakudo 3fba2c: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
14:05 moritz_ rakudo: augment class List {  method d { for self.kv { .say } } }; <a b c>.d
14:05 p6eval rakudo 3fba2c: OUTPUT«Method 'd' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:05 moritz_ rakudo: augment class Parcel {  method d { for self.kv { .say } } }; <a b c>.d
14:05 p6eval rakudo 3fba2c: OUTPUT«0␤a␤1␤b␤2␤c␤»
14:09 masak rakudo: grammar G { regex TOP { <ls> }; regex ls { <l>+ }; regex l { l } }
14:09 p6eval rakudo 3fba2c:  ( no output )
14:09 moritz_ rakudo: my Int $i = Mu; say $i.WHAT
14:09 p6eval rakudo 3fba2c: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
14:09 masak rakudo: grammar G { regex TOP { <ls> }; regex ls { <l>+ }; regex l { l } }; G.parse('llll') or die 'aie!'
14:09 p6eval rakudo 3fba2c:  ( no output )
14:09 masak rakudo: grammar G { regex TOP { <ls> }; regex ls { <l>+ }; regex l { l } }; G.parse('llll') or die 'aie!'; say $/<ls>.WHAT
14:09 p6eval rakudo 3fba2c: OUTPUT«Method 'postcircumfix:<{ }>' not found for invocant of class ''␤current instr.: '!postcircumfix:<{ }>' pc 13479 (src/builtins/Code.pir:119)␤»
14:09 masak awww.
14:11 moritz_ std: List
14:11 p6eval std 30010: OUTPUT«ok 00:01 106m␤»
14:11 moritz_ rakudo: say Array ~~ List
14:11 p6eval rakudo 3fba2c: OUTPUT«0␤»
14:12 masak rakudo: say Franz ~~ Liszt
14:12 p6eval rakudo 3fba2c: OUTPUT«Could not find non-existent sub &Liszt␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:13 colomon Huh.  I just got a big batch of failures testing using test_summary.pl on my 64-bit platform.
14:13 ruoso std: sub foo {}; foo(:bar</bla/$ble>);
14:13 p6eval std 30010: OUTPUT«ok 00:01 105m␤»
14:14 lisppaste3 colomon pasted "Failures on 64-bit platform, 85ef035ff8c461a9ed45af0ee8e37bcf37c4554b" at http://paste.lisp.org/display/96160
14:15 pugssvn r30011 | moritz++ | [t/spec] fudge and update type.t
14:16 jnthn colomon: ouch.
14:16 jnthn colomon: I did bump PARROT_REVISION yesterday.
14:16 jnthn Wonder if a 64-bit Parrot bug sneaked in... :-/
14:17 moritz_ colomon: do you get lots of non-zero return values if you run 'make spectest'?
14:17 * Guest44442 wonders if any of those are parrot rel....
14:17 dalek rakudo: 2302b7c | moritz++ | t/spectest.data:
14:17 dalek rakudo: enable type.t
14:17 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​302b7c9ea8ae9858ce118e7142d4b28f23399a5
14:17 Guest44442 jnthn: that is possible. might be helpful to make sure smolder is getting 64-bit reports.
14:17 colomon I dunno, I had similar huge failures running make spectest on 32-bit OS X yesterday.
14:17 moritz_ rakudo: my $a = 1, 2, 3; my @a = |$a; say @a.perl
14:17 p6eval rakudo 3fba2c: OUTPUT«[Capture.new()]␤»
14:18 moritz_ rakudo: my $a = 1, 2, 3; my @a = |$a; .say for @a
14:18 p6eval rakudo 3fba2c: OUTPUT«Capture()<0x47592129055552.000000>␤»
14:18 colomon Makes me wonder if there is an uninitialized return case somewhere in our testing procedures....
14:19 colomon (running make spectest on 64-bit platform now.)
14:20 masak alpha: say :16(0x47592129055552)
14:20 p6eval alpha 30e0ed: OUTPUT«unrecognized character: .␤in Main (file <unknown>, line <unknown>)␤»
14:20 moritz_ rakudo: my Int $a = Inf
14:20 p6eval rakudo 85ef03: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
14:23 masak std: class multi {}
14:23 p6eval std 30010: OUTPUT«ok 00:01 104m␤»
14:23 masak std: class multi {}; class A { our multi method foo() {} }
14:24 p6eval std 30010: OUTPUT«ok 00:01 106m␤»
14:24 * CokeHatesFreenod wonders how much of the traffic in #perl6 is folks testing the bots. =-)
14:24 masak hm. guess there's nothing illegal about being deliberately confusing.
14:24 CokeHatesFreenod masak: perhaps not in YOUR jurisdiction.
14:24 masak CokeHatesFreenod: why do you hate Freenod? :(
14:25 * masak .oO( Freenod fries )
14:25 bluescreen joined #perl6
14:25 k23z__ joined #perl6
14:25 colomon make spectest works perfectly on my 64-bit Linux platform
14:26 m6locks works pretty ok here on OS X 10.6.2
14:26 colomon (That is to say, the one that failed all the tests using test_summary a couple of minutes ago.)
14:27 CokeHatesFreenod masak: it's an extension of my dislike of irc. =-)
14:27 CokeHatesFreenod the nick registration.
14:28 masak here on #perl6 we're more into Freehug anyways.
14:28 * CokeHatesFreenod backs away, slowly.
14:28 masak CokeHatesFreenod: I've never experienced problems with nick registration.
14:28 [particle] masak: you're not named after the most popular beverage on earth
14:29 * CokeHatesFreenod prefers lily over irc, and xmpp over lily. (but no one has heard of lily.)
14:29 [particle] and no, i don't mean water.
14:29 masak :)
14:29 CokeGod there, I'll go with the slightly longer version of my nick for now.
14:30 masak CokeHatesFreenod: one of the finest moments of #perl6 was when mst came in here, immediately adapted our customs, and hugged a troll happening to pass by.
14:30 CokeGod mst?
14:30 masak Matt S Trout.
14:30 CokeGod ... that story sounds fishy to me.
14:30 masak he usually takes another approach to trolls.
14:30 moritz_ rakudo: "b" ~~ /b| /
14:30 p6eval rakudo 85ef03:  ( no output )
14:31 masak CokeGod: want me to find the backlog for you?
14:31 CokeGod masak - i have no idea who matt S trout is, so the story probably lacks some impact for me.
14:31 masak CokeGod: wow.
14:31 * CokeGod doesn't dislike the community. Just the technology.
14:31 masak well, I didn't either a year or so ago...
14:31 CokeGod I mean, I know he's "someone involved with perl"
14:32 masak CokeGod: mst is this guy: http://www.shadowcat.co.uk/bl​og/matt-s-trout/f_ck-perl-6/
14:32 masak "So fuck Perl 6. Fuck python. Fuck ruby. Fuck PHP in the eye with a rusty nail."
14:32 mathw my highlighting is going crazy
14:33 CokeGod me would say "mathw?" but has by now learned that there is no infobot here.
14:33 moritz_ rakudo: my &*x
14:33 p6eval rakudo 85ef03:  ( no output )
14:34 mathw Hi CokeGod
14:34 CokeGod ~~
14:35 krr joined #perl6
14:35 colomon CokeGod++ # for getting me working on for.t last night.  :)
14:35 masak that's a smart wave.
14:36 moritz_ rakudo: (Block.new)();
14:36 p6eval rakudo 85ef03: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: 'perl6;Code;new' pc 12561 (src/builtins/Num.pir:45)␤»
14:36 payload joined #perl6
14:37 CokeGod colomon: I am glad that I was able to inadvertently inspire you.
14:37 jnthn Time to go hoooome!
14:37 colomon BTW, masak...
14:37 CokeGod masak good read, danke.
14:37 colomon rakudo: .say for "hello";
14:37 p6eval rakudo 85ef03: OUTPUT«h␤e␤l␤l␤o␤»
14:38 moritz_ rakudo: /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/
14:38 p6eval rakudo 85ef03: OUTPUT«:: not yet implemented at line 11, near "a/ /::a/ /"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
14:38 jnthn o/
14:38 colomon hey, I actually duplicated my back test result this time, instead of getting a different bad result...
14:38 colomon \o
14:39 moritz_ rakudo: my Int $a = 74; Int.WHAT = Str; say $a.WHAT
14:39 p6eval rakudo 85ef03: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
14:40 dalek book: 30f69d7 | masak++ | src/grammars.pod:
14:40 dalek book: [grammars.pod] Various editorial changes
14:40 dalek book: review: http://github.com/perl6/book/commit/30​f69d7aa1d2678ab67dffe179cb59acc2a799af
14:41 m6locks imma build my book now, got it working after a long and hard messing around with CPAN modules
14:41 lisppaste3 colomon pasted "Weirdness with 32-bit OS X make spectest" at http://paste.lisp.org/display/96163
14:49 pugssvn r30012 | moritz++ | [t/spec] (un)fudge what.t for rakudo
14:51 moritz_ rakudo: my $x; ($x = 'hi').HOW = Block; say $x.WHAT
14:51 p6eval rakudo 2302b7: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
14:51 moritz_ colomon: that's bad
14:52 colomon my paste?
14:52 dalek rakudo: 24faa67 | moritz++ | t/spectest.data:
14:52 dalek rakudo: enable what.t
14:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​4faa670da1654dea74adc999f41d4c2affc0b9b
14:52 moritz_ colomon: yes
14:52 colomon yeah, it's definitely worrisome.
14:52 moritz_ we crossed the line of 700 open tickets. Downwards.
14:53 colomon \o/
14:53 mathw \o/
14:53 moritz_ rakudo: sub x (:@args) { say @args.perl }; x :args(3, 4)
14:53 p6eval rakudo 2302b7: OUTPUT«(3, 4)␤»
14:54 moritz_ rakudo: say 'aa' ~~ /(.)$1/; say $0.to
14:55 p6eval rakudo 2302b7: OUTPUT«a␤1␤»
14:55 moritz_ rakudo: say 'aa' ~~ /(.)$1/; say ?$0
14:55 p6eval rakudo 2302b7: OUTPUT«a␤1␤»
14:55 moritz_ it shouldn't match, since $1 is undefined
14:56 CokeGod er, at a quick glance, isn't $1 == 'a' ?
14:56 moritz_ no, that's $0
14:56 colomon moritz_: Are you sure?  I thought $1 would be defined after the capture finished, which is before the reference to $1....
14:56 colomon oh, right.
14:56 moritz_ the capture numbers start at 0 in Perl 6
14:56 CokeGod mrfl.
14:57 moritz_ (re tickets: plus 9 tickets that are fixed but are waiting for tests)
14:57 CokeGod ok. then doesn't undef stringify to '' ?
14:57 moritz_ CokeGod: undefined variables don't stringify in regexes; they make the match fail
14:57 moritz_ at least they should
14:57 moritz_ rakudo: 'a' ~~ /a/; say ($/.orig).rindex('a', 1)
14:57 p6eval rakudo 2302b7: OUTPUT«Method 'rindex' not found for invocant of class 'CodeString'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:58 moritz_ rakudo: class A::B { }; say A::B.new.isa('A::B')
14:58 p6eval rakudo 2302b7: OUTPUT«0␤»
15:00 CokeGod moritz_: http://rt.perl.org/rt3/Tic​ket/Display.html?id=67790 no longer fails and haza test.
15:00 moritz_ CokeGod: will you close it, or shall I?
15:01 CokeGod I don't know if the test is actually being run.
15:01 CokeGod it's one of those "here's an automated test" thingee.
15:01 CokeGod just verified that evalbot liked it, is all.
15:01 moritz_ it is actually run
15:02 moritz_ FYI you can see that in http://github.com/rakudo/rakud​o/blob/master/t/spectest.data
15:03 CokeGod moritz_: the file is run. I haven't bothered to figure out the todo syntax for the spectest files.
15:03 colomon moritz_: So, test_summary.pl runs completely clean on my 32-bit OS X box.   :\
15:06 pugssvn r30013 | moritz++ | [t/spec] another test for .perl no HOW
15:09 alester joined #perl6
15:13 Psyche^ joined #perl6
15:14 payload joined #perl6
15:21 CokeGod no WAY
15:22 colomon ?
15:22 CokeGod 10:05 < pugssvn> r30013 | moritz++ | [t/spec] another test for .perl no HOW
15:22 moritz_ what's wrong with that?
15:23 CokeGod "no way, no how". english idiom meaning "under no circumstances."
15:23 moritz_ oh
15:24 colomon ah.
15:24 TimToady knowhow++
15:24 CokeGod knowhow+=battle/2
15:25 CokeGod ... that /really/ won't translate well.
15:25 colomon TimToady: so, about .match -- should it set $/ ?
15:25 CokeGod TimToady: ... I actually did something on perl6 this week.
15:25 CokeGod ... and nothing exploded.
15:31 moritz_ rakudo: say Mu.notdef
15:31 p6eval rakudo 24faa6: OUTPUT«1␤»
15:33 moritz_ rakudo: say NaN ~~ NaN
15:33 p6eval rakudo 24faa6: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Num'␤current instr.: 'infix:<~~>' pc 226340 (src/gen/perl6-actions.pir:17196)␤»
15:33 moritz_ rakudo: say NaN == NaN
15:33 p6eval rakudo 24faa6: OUTPUT«0␤»
15:34 moritz_ rakudo: say 1.2e0 ~~ 1.2e0
15:34 p6eval rakudo 24faa6: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Num'␤current instr.: 'infix:<~~>' pc 226340 (src/gen/perl6-actions.pir:17196)␤»
15:35 nihiliad joined #perl6
15:36 pugssvn r30014 | moritz++ | [t/spec] smart match fudges
15:38 dalek rakudo: ad6b5d8 | moritz++ | t/spectest.data:
15:38 dalek rakudo: turn on more smartmatch tests
15:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​d6b5d838092c86fa2e45a082f4ddb504d27087b
15:47 uniejo joined #perl6
15:55 payload joined #perl6
16:01 mberends left #perl6
16:05 TimToady hmm, a displacement operator...
16:07 [particle] hey, nice, an rtfm response to the mailing list from TimToady :)
16:08 TimToady :)
16:08 moritz_ I've actually written a verbose response earlier, but it seems to hang in the moderation filter
16:09 moritz_ the hotel wifi wouldn't let me conntect to my usual smtp server, so I had to use a different From email address
16:09 TimToady I hope it wasn't too rtfmy
16:09 [particle] no, you weren't at all
16:10 [particle] it was quite friendly
16:11 TimToady well, I really should have attached the reply to Matthew's article to avoid the appearance of trying to scare off a newbie
16:12 cdarroch joined #perl6
16:12 cdarroch joined #perl6
16:13 TimToady in the reddit discusion on http://www.reddit.com/r/programming/comments​/bazgw/perl6_journal_the_ghost_of_algol_68/ there's mention of Algol 68's 'displacement' operator
16:13 TimToady does this have any use case in Real Life™
16:14 abra joined #perl6
16:15 jaldhar joined #perl6
16:15 TimToady we probably handle it in Perl 6 with ($a,$b,$c) = ($b,$c,$d) or some such
16:16 moritz_ looks like it can be done with list assignment much more readable
16:16 moritz_ aye
16:16 TimToady except that it's not obvious what's happening unless you look at the two sides cross-eyed
16:17 TimToady just trying to think if there's any primitive that can turn a single item into an rvalue for its left side and an lvalue for its right side
16:18 TimToady something similar is going on for $a < $b < $c, with respect to $b
16:18 TimToady but it's still a single value
16:19 hanekomu so the :=:= means having various assignment with different precendences?
16:19 TimToady $a++ splits into lvalue/rvalue but only makes the old value available
16:19 CokeGod $a = $b = $c = $d !
16:19 TimToady I read it as a shift operator
16:19 CokeGod (if you're trying to be evil. =-)
16:19 TimToady it means $a = $b; $b = $c; $c = $d
16:20 TimToady maybe I reddit rong
16:20 CokeGod if you're trolling through old languages, I suggest Modula-3, also. =-)
16:20 CokeGod (not to distract you, but I really liked M3)
16:21 TimToady well, it was masak that was trolling :)
16:21 CokeGod heh.
16:21 spinclad rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH - %h-which; say $h.WHICH }; foo(%h); say %h.WHICH
16:21 p6eval rakudo ad6b5d: OUTPUT«Symbol '%h-which' not predeclared in foo␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
16:21 TimToady .oO(troll the ancient yuletide Algol)
16:22 spinclad rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH - $h-which; say %h.WHICH }; foo(%h); say %h.WHICH
16:22 p6eval rakudo ad6b5d: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤current instr.: 'foo' pc 267 (EVAL_1:91)␤»
16:22 spinclad rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH - $h-which; say %h.WHICH }; foo(%h, %h.WHICH); say %h.WHICH
16:22 p6eval rakudo ad6b5d: OUTPUT«-188040␤47417180367824␤47417180555864␤»
16:22 spinclad rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH <=> $h-which; say %h.WHICH }; foo(%h, %h.WHICH); say %h.WHICH
16:22 p6eval rakudo ad6b5d: OUTPUT«-1␤47072668625776␤47072668813816␤»
16:23 spinclad (dunspamming)
16:23 TimToady spinclad: you shouldn't really be assuming UMA
16:24 spinclad UMA?
16:24 TimToady !NUMA
16:24 TimToady there's no guarantee that memory addresses are orderable
16:26 TimToady mostly I was speculating on dispacement operators in case masak wanted to answer the question on reddit of whether Perl 6 has the operator yet.
16:26 spinclad so the best one can rightly ask is === (and if one can get the objects into the same scope, one can do === on them directly)
16:26 TimToady the answer is 'no', but that's one of hard things that should be possible, not one of the easy things that should be easy
16:28 TimToady I think of eqv as more basic than ===, actually
16:28 TimToady since === is defined as $x.WHICH eqv $y.WHICH
16:28 TimToady the only requirement here is that .WHICH return a value type, not an object type
16:29 TimToady maybe we should represent NUMA addresses as Complex  :)
16:30 spinclad (but who needs more than 640K, anyway?)
16:30 TimToady that was already non-uniform in its way  :)
16:31 TimToady though memory models went through a rather more non-uniform period shortly after that, due to the 640K limitation and other limitations
16:32 hejki rakudo: my $sand; say "my {$sand.WHICH} is tasty"
16:32 p6eval rakudo ad6b5d: OUTPUT«my 47585366335592 is tasty␤»
16:33 TimToady maybe .WHICH should encrypt memory addresses so people aren't tempted to subtract them...
16:33 TimToady :) * 0.5
16:34 TimToady makes it a little harder to write peek() and poke() too
16:34 spinclad just don't make them Numeric
16:35 TimToady I know, we'll return the decimal number as a string with 0x on the front--that'll confuse 'em
16:35 breinbaas joined #perl6
16:36 iblechbot joined #perl6
16:36 TimToady or how 'bout hex with the digits reversed
16:36 hejki rakudo: say .WHAT, .WHO ~ " am i?";
16:36 p6eval rakudo ad6b5d: OUTPUT«No applicable candidates found to dispatch to for 'infix:<~>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
16:36 spinclad but should they canonicalize before eqv'ing, or should they allow ineqv .WHICHes to the same object?
16:37 TimToady biab &
16:39 spinclad class WHICH { has IO $.file; has Seek $.seek; has Int $.offset; }   # comparing .file names is hard
16:40 hejki rakudo: say "jermu", " on" ~ " pantteri!"
16:40 p6eval rakudo ad6b5d: OUTPUT«jermu on pantteri!␤»
16:40 * spinclad back to backlogging
16:45 mantovani joined #perl6
16:47 justatheory joined #perl6
16:52 colomon joined #perl6
16:57 TimToady moritz_: the default iffy setting would come in with the prec and associativity under 'is equiv'
16:58 * moritz_ doesn't really understand
16:58 TimToady all those things are really just keys in a hash
16:59 TimToady and 'is equiv' just copies the hash into the new operator
16:59 dukeleto lichtkind: pong
16:59 moritz_ TimToady: and what about operators that aren't defined with 'is equiv' but 'is tighter'?
17:00 TimToady those get more generic defaults
17:01 moritz_ I don't quite see how that answers my question
17:02 moritz_ multi sub infix:<yikes> is :tighter(&infix:<*>) { ... }; # is !yikes allowed or not?
17:02 TimToady by default, unlikely
17:02 TimToady iffy is pretty exclusive
17:02 moritz_ so how would I signal that I want to allow !yikes?
17:02 moritz_ with a trait?
17:03 TimToady in current parse rules, that is supplied via <O(:iffy, ...)
17:03 TimToady we need to think about whether we'll require 'is parsed' to change those values, or whether it can be done with traits
17:04 TimToady arguably, 'is assoc' could go away if we required 'is parsed' to set <O> to other the the default
17:05 TimToady since the assoc comes through O too
17:05 TimToady see line 128 or so of STD.pm
17:05 TimToady %chain is all those things for the chaining prec level
17:05 TimToady %chaining rather
17:06 moritz_ wouldn't 'is parsed' make it harder to write multiple such operators that can peacefully coexist?
17:06 TimToady coexist?
17:06 TimToady it's all still subject to LTM
17:07 TimToady not sure what you're asking, I guess
17:08 moritz_ let's try it differently... how would an 'is parsed' infix op with a non-default assoc look like?
17:09 ruoso joined #perl6
17:11 TimToady ah, okay, you'd have to rely on it picking one named arg over another in the list, if you said <O(|%multiplication, :assoc<non>)> or some such
17:11 TimToady *multiplicative
17:11 TimToady it would probably be better to have a trait specifically for overriding defaults
17:12 TimToady or sneak a 'but' sort of thing in there somehow
17:14 TimToady that might imply that iffy, diffy, etc are really some kind of roles, long term
17:14 TimToady otoh, we don't really have a mechanism for un-mixing-in
17:14 TimToady and :!iffy is handier for that
17:17 TimToady almost makes one want a 'but' variant that overrides keys in a hash:  %stuff but :this(42) :!that
17:18 colomon pmichaud: ping?
17:18 TimToady std: %_ but :this(42) :!that
17:18 p6eval std 30014: OUTPUT«[31m===[0mSORRY![31m===[0m␤Placeholder variable %_ cannot be used in this kind of block at /tmp/A9IcKvJ3qU line 1:␤------> [32m%_[33m⏏[31m but :this(42) :!that[0m␤    expecting any of:␤      POST␤   postfix␤  postfix_prefix_meta_operator␤FAILED 00:01 107m␤»
17:18 TimToady heh
17:18 TimToady std: my %stuff but :this(42) :!that
17:18 p6eval std 30014: OUTPUT«ok 00:01 105m␤»
17:18 TimToady well, it's syntactically valid...
17:19 TimToady do we already have a decent way to write that, other than the (%stuff, :this(42), :!that) semantics, which are kinda sucky?
17:20 * moritz_ no idea
17:21 TimToady well, seems like multi dispatch could easily sort out infix:<but>(Associative, List[Pair]) or whatever the type of the right side is
17:22 moritz_ should be Parcel or so
17:22 TimToady ja
17:23 payload joined #perl6
17:24 TimToady anyway, for the moment, anything you like can be done inside <O()>, so we're not under much pressure to invent trait sugar
17:24 TimToady unless we're writing a book.  :)
17:24 TimToady well, back to backlogging...
17:24 moritz_ that's not why I asked for
17:25 TimToady didn't think it was.  :)
17:27 rv2733 joined #perl6
17:29 TimToady it is kinda weird that, since 'is parsed' already assumes the <sym> on the front, the 'is parsed' would typically contain *only* the <O()>
17:30 TimToady more like 'is reduced' :)
17:30 TimToady so maybe any equiv overrides should just be 'is reduced(:iffy,:!diffy)' or some such
17:31 TimToady I dunno, that's still kinda opaque from a user perspective
17:31 TimToady sorry, just thinking out loud
17:32 moritz_ no problem; I'm listening :-)
17:34 TimToady there are also some polymorphism issues here, since the language we're modifying might be known only at the last minute, and that might include polymorphic precedence tables
17:34 TimToady currently they're hardwired to hashes, but it's possible such information should also come down through inheritance
17:35 ruoso joined #perl6
17:35 TimToady that tends to push things more in the traits direction, and away from explict mention of hashes
17:37 TimToady but that argues that we're really doing equiv more on infix:sym<+> (the rule) rather than infix:<+> (the operator)
17:37 TimToady though perhaps the latter tracks the former
17:38 * TimToady collapses in a pile of paulis and heisenbergs
17:38 [particle] now that the wave function has collapsed, we can view the answer!
17:39 TimToady sure, just pick the right universe
17:39 [particle] details, details...
17:40 TimToady well, it's not like we can't retarget equiv later based on type
17:40 TimToady equiv could even take a list, where the extra arguments are overrides
17:41 spinclad makes some sense that <O()>ish things apply to the rule parsing the operator more than to the operator
17:41 pugssvn r30015 | moritz++ | fudge comb.t for rakudo
17:41 TimToady yeah, esp considering things like assignment
17:41 TimToady which actually choose an O based on the left argument!
17:42 TimToady see STD:3803
17:42 TimToady oh wait, my lines will be different
17:43 TimToady guts of '=':
17:43 TimToady || <?{ $*LEFTSIGIL eq '$' }>
17:43 TimToady <O(|%item_assignment)>
17:43 TimToady ||  <O(|%list_assignment)>
17:44 moritz_ rakudo: class Dog {}; say Dog.defined; Dog .= new; say Dog.defined
17:44 p6eval rakudo ad6b5d: OUTPUT«0␤Cannot assign to readonly value␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
17:47 meppl joined #perl6
17:47 pugssvn r30016 | moritz++ | [t/spec] fudge S12-construction/new.t for rakudo
17:48 xomas joined #perl6
17:50 dalek rakudo: 62d70b7 | moritz++ | t/spectest.data:
17:50 dalek rakudo: enable two more test files
17:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​2d70b7beee3a596b83a59df5d845902b23e66d0
17:50 * jnthn back from hackathon at Home.new
17:50 cdarroch joined #perl6
17:50 cdarroch joined #perl6
17:51 alester Great, jnthn, you just instantiated a new Home, and then destroyed it by not keeping a reference to it.
17:51 moritz_ \o/
17:51 alester How wasteful.
17:51 jnthn :-P
17:51 moritz_ alester: it's still accessible through OUTER:: for jnthn :-)
17:52 jnthn Yeah, the constructor is...a little impure. :-)
17:57 * jnthn is glad the mmobile broadband worked straight away anyways...and eagerly awaits his hopefully faster DSL.
18:01 breinbaas joined #perl6
18:05 TimToady the problem with not setting $/ in .subst is that a replacement closure's $/ defaults to OUTER::<$/>, not CALLER::<$/>
18:09 lichtkind dukeleto: then i was away, stillthere
18:17 breinbaas joined #perl6
18:21 TimToady sure would be nice if any messages involving types would actually tell you what the types involved are...
18:22 TimToady SWN messages are LTA
18:22 TimToady (Something's Wrong Near...)
18:23 TimToady well, SWNs are better than SWs, I suppose
18:24 PerlJam better than "error.  please fix" for sure  ;)
18:24 dukeleto lichtkind: which channel are we going to settle on? ;)
18:25 TimToady which, in turn, is better than simply Not Halting
18:25 jnthn Rakudo has multiple "XXX Awesomize this error" comments.
18:25 TimToady is that LHF?
18:25 mberends joined #perl6
18:25 jnthn It's probably fairly often LHF if anyone wants to grep thorugh for them.
18:25 jnthn mberends!
18:25 mberends welcome home jnthn
18:26 TimToady maybe one of the lurquers would like to take a crack at those
18:26 jnthn mberends: Thanks. It feels weird to think of it as home so far. :-)
18:26 mberends :)
18:26 jnthn But I'll probably settle in quickly.
18:26 arnsholt jnthn: Did you make those round tuits yourself?
18:26 mberends it's a nice place
18:26 jnthn arnsholt: No, I was given them at the Dutch Perl Workshop and encouraged to spread them. :-)
18:27 jnthn mberends: Yes, it is.
18:27 arnsholt Right
18:27 * jnthn has a hungry and needs to nom
18:27 jnthn bbl
18:33 stephenlb joined #perl6
18:34 TimToady std: "b" ~~ /b| /
18:34 p6eval std 30016: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/k2pxHSGrN1 line 1:␤------> [32m"b" ~~ /b| [33m⏏[31m/[0m␤FAILED 00:02 107m␤»
18:35 TimToady std: /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/
18:35 p6eval std 30016: OUTPUT«ok 00:01 106m␤»
18:36 TimToady how...diakopterian++ian
18:36 TimToady s/ian/
18:36 diakopter yar
18:37 TimToady you can kinda tell where I am in backlogging by what I'm feeding to std :)
18:39 diakopter rakudo: my Hash $hash; $hash{"hi"} = "foo";
18:39 p6eval rakudo 62d70b: OUTPUT«Type objects do not have state, but you tried to access attribute $!storage␤current instr.: 'perl6;Hash[];postcircumfix:<{ }>' pc 362032 (src/gen/core.pir:48887)␤»
18:40 diakopter nice way of saying "Null Reference Exception" or "Null Pointer Exception"
18:41 TimToady 'do not have state' is perhaps confusing to people who think it's referring to the state declarator
18:42 moritz_ would you prefer "do not have attributes"?
18:42 TimToady 'are abstract and have no attributes, but you tried to access $!storage
18:44 * moritz_ will change after nom
18:46 k23z__ joined #perl6
18:46 uniejo joined #perl6
18:50 b_jonas joined #perl6
18:53 Su-Shee joined #perl6
19:01 TimToady perhaps even "Type objects like Hash are abstract....
19:02 TimToady otoh, that particular example should have autovivified a hash, I suspect
19:03 moritz_ that particular example should have been a type check failures
19:03 moritz_ s/s$//
19:04 japhb joined #perl6
19:04 TimToady p5 will autovivify if you say $variable->{"hi"} = "foo"
19:05 Chillance joined #perl6
19:05 * moritz_ was a bit confused
19:05 moritz_ you're right
19:06 moritz_ I somehow thought that diakopter++ had used the % sigil
19:06 TimToady np
19:13 pmurias joined #perl6
19:25 fglock joined #perl6
19:31 ShaneC joined #perl6
19:32 Su-Shee joined #perl6
19:32 fglock re Timeline - I think v6.pm could be added
19:34 eternaleye joined #perl6
19:36 fglock v6-pugs-0.001.tar.gz - 26-Jun-2006 in backpan
19:37 mberends thanks fglock, that's a good idea. will edit it in soon :-)
19:38 fglock also lrep, the original bootstrap used for building Pugs::Compiler::Rule
19:39 dalek rakudo: e42042c | moritz++ | src/pmc/p6opaque.pmc:
19:39 dalek rakudo: awesome error message when you try to access attributes of type objects, as suggested by TimToady++
19:39 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​42042c4a2bfde3e7b3981ded1e8b2f3c9a0b22b
19:39 mberends lrep, that's a cute anagram. btw, what sort of content would you like to see in the Perlito wiki
19:39 fglock lrep was announced in march 2009
19:39 fglock http://www.mail-archive.com/perl6​-compiler@perl.org/msg01326.html
19:39 fglock I mean, 2006 :)
19:42 fglock mberends: looking...
19:43 cj hiya fglock
19:45 fglock another nice project was http://svn.openfoundry.org/pug​s/misc/old_pugs_perl5_backend/ - I think Moose.pm started there
19:45 fglock cj: hi
19:48 moritz_ rakudo: (\(1,2),\(3,4)).perl.say
19:48 p6eval rakudo 62d70b: OUTPUT«(Capture.new(), Capture.new())␤»
19:49 hudnix joined #perl6
19:54 TiMBuS joined #perl6
19:56 moritz_ rakudo: multi sub a { }; say &a ~~ Callable
19:56 p6eval rakudo 62d70b: OUTPUT«1␤»
19:56 moritz_ rakudo: multi sub a() { 1; }; multi sub a($x) { $x; }; sub b(&x) { &x() }; b(&a);
19:56 p6eval rakudo 62d70b:  ( no output )
19:58 fglock mberends: I can't explain Perlito easily - I think some quotes from the docs could be useful
19:58 fglock "The VM is responsible to provide coroutines, threads, sockets, etc etc;
19:58 fglock if it's missing in the VM, it's _not_ our job to emulate them by drastically
19:58 fglock change the emitting strategy to e.g. CPS.  All Value/Container classes do is
19:58 fglock to bridge the native VM API with Perl 6 class/method API."
19:59 fglock (audreyt wrote this)
20:00 lichtkind fglock: perlito is basis of kp6?
20:00 zostay joined #perl6
20:00 mberends fglock: is that the sort of content you would like to see in the Wiki? Or is it feasible to encourage users to write small scale applications for Perlito?
20:01 fglock yes - kp6 is a Perl6 implementation that uses miniperl6 as a "VM"
20:02 fglock mberends: nferraz is working on making Perlito "usable" - he created the site and suggests features
20:02 mberends ah, thanks :)
20:03 fglock I think it can be used for apps
20:03 fglock I'm mostly using it to (re)write itself
20:04 masak joined #perl6
20:04 masak oh hai from a train, #perl6.
20:05 fglock masak: hi from a couch
20:05 PerlJam masak: how fast are you traveling?
20:06 ShaneC1 joined #perl6
20:07 masak PerlJam: hard to estimate,but looks like more than 100 km/h.
20:08 * moritz_ has now 40 tickets owned in the perl6 RT queue that just need a test but are actually fixed in Rakudo
20:09 CokeGod that sounds like LHF.
20:09 mantovani why Perl 6 has various implementations not one like Perl 5(I think)?
20:09 PerlJam mantovani: variety is the spice of life  :)
20:09 mberends mantovani: natural selection, survival of the fittest
20:09 b_jonas perl 5 has only one implementation becasue of the weight of historical features stuck to it
20:10 PerlJam mantovani: because perl 6 is being defined by a series of specifications rather than by an implementation (as perl 5)
20:11 PerlJam mantovani: also, multiple implementations focus on different areas and the lessons learned help the other implementations.
20:12 PerlJam mantovani: pugs focused on getting most of the perl 6 syntax implemented, Rakudo focused on getting the regex engine going so that the syntax could be implemented in terms of perl 6, SMOP focuses on the underlying object model, etc.
20:12 mantovani thanks, I want to join in Google Summer 2010 and I chose Perl 6
20:13 fglock and Perlito... runs everywhere it can
20:13 b_jonas runs everywhere... isn't that perl 5?
20:13 moritz_ mantovani: that's great... do you have any particular topic of interest?
20:14 moritz_ Perl 6 is a large field :-)
20:14 mantovani I'm thinking about it
20:14 mberends mantovani: excellent, we're here to help you help us :)
20:14 mantovani thanks
20:15 fglock b_jonas: runs everywhere in a transfinite way
20:16 PerlJam has anyone updated the perl 6 stuff on http://www.perlfoundation.org/pe​rl5/index.cgi?gsoc_2010_projects ?
20:16 moritz_ PerlJam: I've added a few ideas that immediately came to mind
20:16 moritz_ but it could use more work actually
20:17 mantovani the fglock told to me to see the see the difference between the compilers
20:17 mantovani the fglock told to me to see the the difference between the compilers*
20:18 rv2733 joined #perl6
20:18 PerlJam Apparently I don't get to edit that page as I can't seem to get registered.
20:18 ShaneC joined #perl6
20:18 moritz_ PerlJam: using openid works just fine for me
20:18 PerlJam It didn't for me when I tried it the other day :(
20:19 masak joined #perl6
20:19 * PerlJam tries again.
20:19 b_jonas I hope perl 6 will get strings and character encodings right (or rather, the way I like them). that synopsis isn't written yet so there's hope.
20:20 PerlJam yep ... when I login using openid, it looks like it succeeds, but then I'm not logged in.
20:20 moritz_ b_jonas: there's also hope because I'll break havoc if there's no good model
20:20 moritz_ b_jonas: and I occasionally work on them
20:21 moritz_ b_jonas: the underlying idea is just to store byte streams in Buf types and text strings in Str objects
20:21 moritz_ and there are .encode and .decode methods
20:21 moritz_ but trying to concatenate a Buf and Str must die
20:21 rv2733 joined #perl6
20:22 pmurias_ joined #perl6
20:23 * jnthn back
20:23 [particle] b_jonas: there's a better chance perl 6 will get strings and character encodings they way you like them if you write the spec.
20:23 pmurias_ fglock: hi
20:23 fglock pmurias: hi :)
20:25 b_jonas [particle]: the problem is, I'm not really sure how exactly it should work, I only have some particular properties in mind that I need (and hope they're not contradictory), but not a full spec.
20:26 fglock b_jonas: writing a prototype impl might help
20:26 moritz_ b_jonas: then a start would be to share these ideas with us
20:26 [particle] in p6, of course
20:29 ruoso joined #perl6
20:35 moritz_ rakudo: regex foo-bar { foobar }; say "foobar" ~~ /<foo-bar>
20:35 p6eval rakudo e42042: OUTPUT«You can not add a method to a module; use a class or role␤current instr.: 'perl6;Perl6;Compiler;Module;methods' pc 28491 (src/gen/package_pm.pir:369)␤»
20:35 * moritz_ doesn't like that error message
20:35 b_jonas the real error is that a slash is missing?
20:36 * mberends doesn't understand that error message at all
20:36 moritz_ b_jonas: yes, but it doesn't even get that far
20:36 moritz_ b_jonas: it tries to install the regex as a method, and fails because it's not inside a class, grammar or role
20:37 b_jonas rakudo: regex foo-bar { foobar }; say "foobar" ~~ /<foo-bar>/
20:37 p6eval rakudo e42042: OUTPUT«You can not add a method to a module; use a class or role␤current instr.: 'perl6;Perl6;Compiler;Module;methods' pc 28491 (src/gen/package_pm.pir:369)␤»
20:37 spinclad rakudo: regex foo-bar { foobar }
20:37 p6eval rakudo e42042: OUTPUT«You can not add a method to a module; use a class or role␤current instr.: 'perl6;Perl6;Compiler;Module;methods' pc 28491 (src/gen/package_pm.pir:369)␤»
20:41 mberends would it be easy to quote the identifier 'foo-bar' in the above error message?
20:42 jnthn yes
20:44 moritz_ the error message is thrown from src/Perl6/Compiler/Package.pm
20:45 bkeeler_ Last time that was brought up the concensus seemed to be that regexes/rules/tokens were strictly just methods and thus didn't belong outside of a class
20:46 bkeeler_ And good afternoon, #p6 by the way :)
20:46 moritz_ that would be sad; even then the error message sucks in many ways
20:46 moritz_ it says method, not regex
20:46 moritz_ it doesn't say which regex, and which package
20:46 bkeeler_ Yeah, I wrote a better error message, but it gets preempted
20:46 jnthn You can get it to say regex probably by outputting $*METHODTYPE
20:47 moritz_ b_jonas: preemted? how?
20:48 moritz_ erm, I meant bkeeler_, sorry
20:49 bkeeler_ Well, I copied the logic from method_def, but I think the check that it does to see if it's in a class or not is wrong
20:50 bkeeler_ And therefore it hits the die in Package.pm when it tries to call methods on it
20:50 bkeeler_ I'll take another look and see what I can come up with, patch-wise
20:52 colomon joined #perl6
20:53 dukeleto can some people send an email to the parrot-dev list with the most important Parrot bugs that need fixin' before Rakudo* ? we have set aside this week as "Rakudo bug week"
20:54 * moritz_ hilights jnthn++ and pmichaud++ for that
20:54 bkeeler_ Can you make it like two orders of magnitude faster? kthnxbai
20:54 ignacio_ joined #perl6
20:55 * moritz_ now has a patch that at least says "regex" instead of "method"
20:55 xabbu42 joined #perl6
21:05 * bkeeler_ also has a patch :)
21:05 moritz_ "show me yours I'll show you mine"
21:05 bkeeler_ Oooh
21:05 bkeeler_ I haven't tested mine
21:06 bkeeler_ I gotsta rebuild everything cos you've bumpted parrot_revision
21:06 lisppaste3 moritz_ pasted "improved error message" at http://paste.lisp.org/display/96179
21:07 moritz_ my spectest is still running
21:07 bkeeler_ Now that I think about it mine is still wrong
21:08 bkeeler_ Though you could have yours say 'rule' and 'token' instead of regex
21:08 bkeeler_ where appropriate
21:08 masak joined #perl6
21:09 moritz_ I've noticed that, and changed locally already
21:09 jnthn lolitsmasak
21:09 moritz_ and now starting over the spectest
21:09 bkeeler_ And perhaps have the error message say 'use a class, role or grammar'
21:10 masak lolonatrain
21:10 chromatic joined #perl6
21:10 jnthn masak: choooochooo!
21:10 jnthn :-)
21:10 jnthn masak: My first shop in Sweden included Bilar!
21:11 spinclad ohaiitschromatic!
21:11 chromatic jnthn, pmichaud, how much value is there to Rakudo * of Parrot allowing non-PMC lexicals?
21:11 bkeeler_ I'm thinking we can ditch the action code that looks like:
21:11 masak I just came in here to say that if you decide that regex/token/rule declarations don't belong outside of a grammar just because the latest and greatest data model seems to claim that, I'll be very disappointed in you. :)
21:11 bkeeler_ our @PACKAGE;         unless +@PACKAGE { $/.CURSOR.panic("Can not declare method outside of a package"); }
21:11 masak jnthn: :)
21:11 bkeeler_ Since that logic is wrong (there's always something in @PACKAGE)
21:11 masak jnthn: Det finns bara ett sätt att stoppa dem!
21:12 jnthn chromatic: pre-Rakudo *, I don't expect we'll do native types. There's just too many other things to do.
21:12 bkeeler_ And the real error is thrown from Module.methods
21:12 jnthn chromatic: They are *very* much wanted for post-R* development though.
21:12 colomon Did y'all break 27,000 passing tests while I was out having adventures?
21:12 chromatic I have a very good idea of how to make them work.  If I thought they'd give a measurable performance improvement, I could probably get them in the next couple of weeks.
21:12 * moritz_ tried hard not to break tests
21:13 colomon chromatic: How hard would bigints be?
21:13 masak moritz_: twice now I've been trying to say on IRC that I've liked seeing you hammer on RT... twice I've been cut off by a crappy IRC connection.
21:13 masak moritz_: anyway, when the inbox vibrates from incoming RT mails, someone is doing something right. :) moritz_++
21:13 chromatic colomon, more difficult, depending on what you want.
21:14 bkeeler_ masak: I think TimToady declared that regex/rule/token don't belong outside a class.  I'll see if I can find the irclog...
21:14 bkeeler_ masak: You can still use anonymous ones anywhere though
21:14 jnthn chromatic: Most likely gains would be in nqp-rx, if they'll be anywhere, pre-R*.
21:14 masak I am not amused.
21:15 masak bkeeler_: though I must admit that I do see the surface reason for that restriction.
21:15 colomon chromatic: I was just curious.  Mostly at the moment I'm chaffing under the difficulties of getting long numbers working at all in Rakudo -- things like pi to 30 digits break the system completely.
21:15 bkeeler_ And I can certainly see why one would want to delcare them elsewhere
21:15 chromatic jnthn, that sounds like what I remember pmichaud saying.  Do you think there's any improvement in R* from nqp-rx improvements?
21:15 PerlJam colomon: pi works just fine if you define it to be 3.14  ;)
21:15 [particle] isn't there a list of things rakudo needs from parrot, and a list of rakudo features with a timetable?
21:15 bkeeler_ masak: I was dissappointed with how few S05-grammar/*.t I could turn on
21:16 masak bkeeler_: patience :)
21:16 moritz_ [particle]: pmichaud sent such a list to parrot-dev some time ago
21:16 bkeeler_ but...but...
21:16 moritz_ [particle]: it included things like LEAVE handlers for subroutines/blocks
21:16 [particle] http://github.com/rakudo/rak​udo/blob/master/docs/ROADMAP
21:17 jnthn chromatic: Only if someone has chance to make said improvements.
21:17 [particle] is the roadmap up-to-date?
21:17 * masak looks around for snarkyboojum, not finding same
21:17 moritz_ [particle]: afaict yes
21:17 bkeeler_ masak: Actually the majority didn't pass because they want to call subrules with :: in them, like <Foo::Bar::baz>
21:17 chromatic That requires someone who understands nqp-rx, or who can fake it sufficiently.
21:17 bkeeler_ And nqp-rx doesnt suppose that
21:17 bkeeler_ *suupport
21:17 jnthn chromatic: Resources are scarce in the face of a Lot To Do. I'd hate to commit to us being able to use something fruitfully pre-R* and then fail to. I can say they'll likely be useful post-R*.
21:18 chromatic jnthn, I'm asking because I'm looking for things I can fix in or add to Parrot that I know how to do with relative ease that will improve performance or unblock features.
21:18 chromatic (methods in namespaces is still a priority)
21:18 jnthn chromatic: Block exit handlers would, as moritz_ mentioned, help us.
21:19 masak that surface-tension fellow on reddit is saying plenty of sensible things about creating a better Perl 6 image, on http://www.reddit.com/r/programming/comments​/bazgw/perl6_journal_the_ghost_of_algol_68/
21:19 chromatic I'll twist Tene's arm on that again.
21:19 Tene eh?
21:19 * Tene reads scrollback
21:19 Tene oh, those.
21:20 jnthn chromatic: One thing I'm hearing increasingly is that memory consumption while compiling certain large spectests and gen_core.pm is *huge*.
21:20 masak I can attest to that.
21:20 chromatic I think there's something in compact_pools.
21:20 jnthn chromatic: Any analysis on that would likely be welcome.
21:20 chromatic Will do.
21:20 jnthn Thanks.
21:20 masak ++chromatic
21:20 PerlJam jnthn:  indeed!
21:21 PerlJam chromatic++
21:21 jnthn Over the last couple of days at the hackathon I've heard that one a lot - even more so than before.
21:21 jnthn chromatic++
21:21 masak it's definitely changed as of branch formerly known as ng.
21:21 masak s/branch/the branch/
21:22 jnthn chromatic: One problem I'm seeing that's at PIR level...runtime errors give as a line-number the top line in the sub.
21:23 jnthn Not the line the error actually happened one.
21:23 jnthn *on
21:23 chromatic jnthn, I'll look at that too.
21:23 jnthn This makes debugging a bit tricky, but also I think is why annotations can sometimes we so far off the mark too.
21:23 spinclad chromatic: while unsure of use INS lexicals before R*, they would be tremendously useful shortly after for sure.
21:24 spinclad *making use of
21:24 jnthn spinclad: Aye, that's what I was trying to convey. :-)
21:24 jnthn chromatic: Basically, after R*, one focus is on native types and compact structs and so forth.
21:25 masak put it like this: (1) why does a regex need to be in a grammar? (2) how come it worked before?
21:25 mberends chromatic: it may not be specifically for yourself to do, but some move to replace http://trac.parrot.org/parrot/brow​ser/trunk/src/nci/extra_thunks.nci with a more general or dynamic replacement would allow Rakudo to act a bit more like duct tape.
21:25 jnthn mberends: Ah, yes, that to.
21:25 chromatic mberends, there's some work on that.
21:26 jnthn chromatic: Do you know what the latest is, or what approach has been chosen?
21:26 jnthn Last I saw, there were quite a few options (libffi/libjit/write our own...)
21:26 chromatic plobsing is working on that.
21:27 chromatic Assume that "write our own" is unlikely.
21:27 TimToady except that every external dependency tends to cut down on portability
21:28 TimToady masak: methods/regexen are allowed to be declared anywhere, but if the pointer to the code is being thrown away, the compiler is allowed to warn.
21:28 TimToady otoh, our regex ... is fine
21:29 chromatic TimToady, an external dependency that exists and works somewhere tends to work more places than an internal dependency that doesn't exist and doesn't work anywhere.
21:29 TimToady for the moment :)
21:29 bkeeler_ What about "our method foo..."
21:29 TimToady is fine
21:29 TimToady you can then poke &foo into someplace where it can funtion as a method
21:30 chromatic If someone showed up with a patch for a working thunk builder that I thought we could maintain over the long term, I would not look askance at external dependencies.
21:30 bkeeler_ So it would be installed in the package namespace with a & sigil?
21:30 TimToady yes
21:30 masak TimToady: thanks, that's what I was hoping for.
21:30 TimToady it's just code
21:30 PerlJam bkeeler_: binding is your friend
21:30 TimToady that happens to know that its first arg is an invocant
21:31 masak (regexes being allowed to be declared anywhere, that is)
21:31 masak jnthn: all 10 tests in Tardis pass! \o/
21:31 TimToady a rule just happens to know that its invocant is a Cursor of some sort
21:31 PerlJam though I wonder if there's any utility to an anonymous class/grammar that houses methods/regex declared outside of classes/grammars ?
21:31 PerlJam (anonymous, but with a handle you can get at)
21:32 TimToady one could envision a system where you import methods from a module
21:32 TimToady it's not the default, of course
21:32 masak phenny: tell snarkyboojum that all tests in Tardis pass now. \o/ -- time for the next iteration of spec/test/implementation... :)
21:32 phenny masak: I'll pass that on when snarkyboojum is around.
21:33 TimToady but it allows people to come up with other systems to handle generic code besides the ones we provide
21:33 [particle] masak: check if those 10 tardis tests passed yesterday.
21:33 jnthn masak: Nice!
21:33 masak [particle]: I expect to hear a lot more of that kind of autopun. :)
21:34 [particle] :)
21:34 jnthn .oO( can we switch them to manual? )
21:34 masak [particle]: in fact, I just came back from the near future... turns out there will be lots more of them.
21:35 masak jnthn: a more fitting term than 'autopun' is very much welcome.
21:35 b_jonas autopun?
21:35 spinclad (the pun that makes itself)
21:35 masak jnthn: the term should describe the thing that creates humour just by exhibiting the same thing as the one under discussion.
21:36 b_jonas TimToady: import methods from a module -- isn't that called a trait?
21:36 TimToady more like a mixin
21:36 [particle] tautopun?
21:37 CokeGod The first rule about Perl 6 is...
21:37 masak [particle]: yes, but it has relatively little to do with tautologies as such...
21:37 jnthn masak: I wasn't complaining about the term. :-)
21:37 b_jonas well, what ruby calls Modules are stuff you can't instantiate but you can still mix in (methods and other stuff from them) to classes
21:37 spinclad (the ineluctable pun, it forces itself on you)
21:37 masak jnthn: no, just deliberately misreading it, I know. :)
21:37 TimToady most of our modules of that sort we call "roles"
21:38 jnthn It's not like I'm want to do such things. :-)
21:38 masak spinclad: sure, except it is often done quite willingly.
21:38 TimToady but if you think about, it doesn't make sense to install a method in a role either, only in the class to which it is composed
21:38 b_jonas anyway, I think the ruby way doesn't make sense:
21:38 masak example: "Are there productive suffixes in English." -- "Yes. Well, yes-ish..."
21:38 PerlJam masak: heh
21:38 TimToady let's have a yesathon!
21:39 TimToady Yes!
21:39 masak Ish!
21:39 spinclad masak: then the pun rides a willing vehicle
21:39 b_jonas but I'm not exactly sure what the right thing is
21:39 PerlJam tar!
21:39 TimToady we're aiming to make the right thing available with roles
21:39 moritz_ rakudo: say ('abc'.match(/./, :g)).elems
21:39 p6eval rakudo e42042: OUTPUT«3␤»
21:40 PerlJam spinclad: sounds more symbiotic.
21:40 TimToady but we don't claim that we're gonna get it perfect
21:40 [particle] mimetic pun?
21:40 masak rakudo: say ('a'.match(/./, :g)).WHAT
21:40 p6eval rakudo e42042: OUTPUT«GatherIterator()␤»
21:40 masak [particle]: now we're talking.
21:40 Chillance joined #perl6
21:40 masak rakudo: say ('a'.match(/./, :g)).elems
21:40 p6eval rakudo e42042: OUTPUT«1␤»
21:40 [particle] actually, we're typing.
21:40 spinclad memetic pun
21:40 [particle] :)
21:40 spinclad (or are they all?)
21:41 masak think so.
21:41 * masak liked 'mimetic'
21:41 spinclad +1
21:41 TimToady well, it's all a charade
21:41 masak actually, 'metacircular pun' sorta-kinda captures it, too.
21:41 * TimToady wonders what a metacircle looks like...
21:41 masak at least in the cases I can think of.
21:41 [particle] a pun walks into a bar...
21:42 masak TimToady: it's a bit bent...
21:42 masak [particle]: *lol*
21:42 b_jonas I think there should be at least three levels: classes you can instantiate; abstract classes that you can't instantiate but can still be both subclass or superclass of real classes; and traits or whatever that are such that they can be mixed in but you never want to declare a variable or parameter with such a type.
21:42 masak [particle]: that's a higher-order pun...
21:42 TimToady [particle]: ... and says ouch
21:42 b_jonas I'm not sure though.
21:42 PerlJam b_jonas: Perl 6 allows all of that.
21:43 TimToady b_jonas: sure, but we call those roles, not traits
21:43 TimToady traits are something else in p6
21:43 TimToady traits are used only on declarations in p6
21:43 moritz_ perl6 rt queue: closed about 80 tickets in the last 36 hours, 40 more pending spectests
21:43 masak moritz_++
21:43 b_jonas I see
21:44 CokeGod moritz_: ah, excellent. now I don't have to do anythign!
21:44 Tene TimToady: dunno, I never meta circle that was sufficiently meta.
21:44 masak CokeGod: and I have to work harder... :)
21:44 masak Tene: clearly you need to do more Smalltalk.
21:45 TimToady "Anything you can do, I can do meta!  I can do anything meta than you!"  --Ada Oakley
21:45 b_jonas what I'm not sure is whether it might make sense to have modules (or singletons) that aren't class-like in that they or their subclasses can never be instantiated but they can still be mixed in or even inherited by other modules
21:45 mberends TimToady++
21:45 b_jonas (or maybe if the classless guys are right)
21:46 b_jonas (I think they aren't but I'm not sure)
21:46 spinclad singleton means one instance, no?
21:46 b_jonas spinclad: I'm not sure
21:46 CokeGod hai.
21:46 CokeGod (in general, no clue on this context =-)
21:46 PerlJam b_jonas: Perl 6 doesn't preclude those possibilities either.  :)
21:46 masak TimToady: Doug Hofstadter recounts that a very similar quote was pinned on him, and that he couldn't convince people that he hadn't actually originated it.
21:46 b_jonas PerlJam: sure, but I still want to know if those are actually useful
21:47 TimToady I believe I made it up at one point, but it could have been independent discovery.
21:47 TimToady when did he say this?
21:47 PerlJam b_jonas: the only way anyone would know is by trying to use them.
21:47 chromatic I never metamodel not obsessed with reflection.
21:47 masak TimToady: in the notes section of "I am a strange loop".
21:47 masak TimToady: unless you mean the quote, which he says he didn't actually say. :)
21:47 Tene I've got that book at home.  I've been too busy to read it yet, though.
21:48 b_jonas probably this thing is timtowtdi, there's no one right oo model
21:48 * PerlJam bets TimToady read the book and subconciously absorbed the quote
21:48 masak Tene: it transformed me a bit. those that do that are the good books.
21:48 bluescreen joined #perl6
21:48 masak time to detrain.
21:48 masak o/
21:48 TimToady \o
21:48 Tene So I've heard.  I haven't finished GEB yet either, though.
21:48 Tene bye, masak!
21:49 * TimToady wonders if masak can be retrained...
21:49 quester joined #perl6
21:49 moritz_ and then redetrained...
21:49 * Tene issues moritz a pope card.
21:49 TimToady I don't want him deprogrammed just yet...
21:50 frettled Tene: he doesn't need a pope card to be a pope.  Everybody is a pope.
21:50 Tene frettled: he reminded me of "To excommunicate, de-ex-communicate, re-ex-communicate, and de-re-ex-communicate (no backsies!) both his-/her-/it-/them-/your-/our-/His-/​Her-/It-/Them-/Your-/Our-self/selves and others (if any)."
21:51 dalek rakudo: 5b81dfe | moritz++ | src/Perl6/ (2 files):
21:51 dalek rakudo: awesomize error message for regexes in packages a bit (though allowing them would really be preferrable)
21:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​b81dfe3bd08497b1b277d9713c7a5bdf9b24228
21:51 diakopter well, everybody is a vicar
21:51 frettled that's a vicarious argument
21:51 moritz_ Q: is there a cardinal higher than the pope? A: sure, two to the pope
21:51 * diakopter feels like a spur
21:51 jnthn moritz_++ # awesomization
21:54 b_jonas moritz_++
21:54 TimToady moritz_: not if the pope is 0 or 1
21:55 colomon TimToady++
21:55 colomon And isn't the pope frequently negative?  ;)
21:55 b_jonas TimToady: what? even in that case 2^pope is greater
21:56 b_jonas 2^0 is 1, and 2^1 is 2
21:56 colomon b_jonas++
21:56 b_jonas 2^k is always greater than k for any cardinal k
21:56 TimToady ah, yes
21:56 TimToady I was comparing two to the pope
21:56 b_jonas by the diagonalization thing
21:56 TimToady and there's only one of him
21:57 TimToady I was think of square popes
21:57 TimToady *thinking
21:57 [particle] your son would tell you, like any good physicist, that you should assume all popes are round.
21:57 chromatic What about the reptilian space pope?
21:58 [particle] any good *theoretical* physicist, anyway
21:58 bkeeler_ I've always found the pope to be rather hyperbolical
21:58 b_jonas a square pope would be convenient, for it would fit on the tv screen
21:58 [particle] and the popemobile
21:58 b_jonas I mean it's a communications role anyway
21:58 Tene Assuming we have a spherically-symmetric cow, radiating milk uniformly in all directions...
21:58 b_jonas though that only applies to normal tellies, not these stupid widescreen ones
21:58 jnthn Imagine a spherical cow!
21:59 TimToady I don't have to imagine one
21:59 Tene Hmm, I think I read that lovecraft novel...
21:59 diakopter Q:"didn't Someone say not to let people call you teacher, master, father?" A:"Good thing Pope didn't mean father... oh wait..."
21:59 diakopter A:"Good thing Mister didn't mean master... oh wait..."
22:00 diakopter A:"Good thing Doctor didn't mean teacher... oh wait..."
22:00 TimToady good thing Mrs doesn't mean...ahem
22:01 [particle] i think a curtsie is appropriate here
22:01 m6locks lol
22:02 TimToady in any case, my son is not much interested in spherical cows unless they have an event horizon
22:02 Tene http://www.gizmag.com/first-comme​rcially-available-jetpack/14423/ -- jetpack!
22:03 [particle] utter darkness...
22:03 PerlJam TimToady: There are no black cows.  Those are just a myth
22:03 TimToady well, they aren't exactly naked cows...
22:03 diakopter only naked emperors
22:03 moritz_ they are actually black sheep beaten into a diferent shape to appear as cows
22:03 PerlJam moritz++
22:04 TimToady if they're large enough, they don't have to be beaten; gravity will do it for you
22:04 TimToady see dwarf planets
22:04 TimToady not to be confused with Planet of the Dwarfs
22:04 * [particle] goes bowling
22:04 frettled better than bawling
22:04 [particle] oh, i guess i got confused.
22:04 TimToady watch out for spherical bowling balls
22:05 TimToady esp if they moo
22:05 [particle] it'd be easier with spherical pins!
22:05 diakopter and bawling bowels
22:05 PerlJam ouch
22:05 TimToady if it walks like a duckpin, and quacks like a duckpin
22:05 spinclad avoid bowling balls with a large gravitational constant
22:06 [particle] thank goodness this kind of creative energy isn't being unleashed on something useful.
22:06 diakopter oh, you mean those in the future :P
22:06 TimToady most bowling balls with a large gravitational constant suck, and therefore aren't constant
22:06 moritz_ more like, avoid universes with a large gravitational constant :-)
22:07 [particle] constant is a relative term.
22:07 TimToady that too, but if the ball is large enough, it makes a new universe inside
22:07 araujo hehe
22:07 TimToady we just have to find the holes
22:07 snarkyboojum joined #perl6
22:08 PerlJam There's a sphincter pun in there somewhere
22:08 TimToady I wasn't going to mention that about the cow balls
22:08 TimToady *cow bells
22:08 diakopter I thought only bulls...
22:09 [particle] MOAR COWBALL!
22:09 TimToady oh when those cow bolls get a rotton, you can't pick very much carton
22:09 TimToady *rotten
22:10 PerlJam TimToady: the boll/cotton pull was just too strong
22:10 TimToady my son particularly dislikes string theory
22:10 * justatheory is integer theory
22:10 moritz_ TimToady: how very understandable
22:11 justatheory or rather, just a theory
22:11 TimToady at least you're that, unlike string theory
22:11 PerlJam If the string theorists ever get around to making testable predictions, it may not matter if string theory is likable or not  :)
22:11 moritz_ s/string theory/string formalism/ # I wouldn't qualify these stringy thingies as a "theory"
22:11 TimToady which is more like a religion
22:12 spinclad Maybe a Theory = Just a Theory | Nothing
22:12 justatheory string theory more like string idea
22:12 * justatheory cries
22:12 * spinclad hugs justatheory
22:12 moritz_ spinclad: that would be justamonad
22:12 TimToady string notion, which is why you buy yarn at a notions store
22:12 PerlJam look back 2000 years or so to when these indivisible components of everything called "atoms" were proposed.
22:13 diakopter or quanta
22:13 frettled non-atomic atoms
22:13 moritz_ quanta is a HTML editor.
22:13 PerlJam (string theory may just need another millenia or two to get into a good groove)
22:13 frettled Quantas is an airline.
22:13 justatheory quants, meanwhile, destroyed our economy. http://www.huffingtonpost.com/2010/01/23​/the-quants-book-review-ho_n_434309.html
22:13 frettled or, in Br.English: Quantas are …
22:13 TimToady yeah, but we'll need to schedule another Dark Ages first.
22:14 frettled TimToady: we're working on it
22:14 diakopter Oracle is working on it
22:14 b_jonas heh
22:14 frettled Microsoft is, too.
22:14 diakopter bah
22:14 frettled I heard they got Apple and Google on the team.
22:14 TimToady is that why they consumed Sun?
22:14 araujo there is no spoon
22:14 frettled TimToady: exactly!
22:15 TimToady I get most of the jokes, eventually...
22:15 frettled you're a collector?
22:15 TimToady I even get myself from time to time.
22:15 PerlJam schizophrenia notwithstanding?
22:15 TimToady Solaris collector?
22:16 moritz_ I thought that was the job of the Eclipse foundation
22:16 frettled does that have any basis in truth?
22:16 diakopter btw, solaris x86 is going away, effectively, apparently
22:17 TimToady the absense of smoke proves the globe is not warming
22:17 moritz_ diakopter: don't even try to get half ways on topic
22:18 [particle] i've often wondered if we can make perl 6 an entropy-neutral programming language.
22:18 TimToady the only thing we have to sphere is sphere itself.  --Plato
22:18 diakopter the earth isn't rising, either
22:18 spinclad (when the Dragon eats the Sun, there will be darkness at noon)
22:19 b_jonas [particle]: it's multiparadigm so perhaps you could program it in an entropy neutral style, but it can't be always entropy-neutral.
22:19 TimToady one of my sons published papers is about proving the generalized 2nd law
22:19 PerlJam [particle]: the universe would hate perl 6 if it were entropy neutral
22:19 TimToady it would be kinda like a superflid
22:19 TimToady fluid
22:19 diakopter would it take more energy than in existence to prove it?
22:20 [particle] gaelic is almost entropy-neutral
22:20 TimToady hmm, heisenberg tells us we can't know if it's Christmas yet, but Pauli says it can't be Christmas as long as PHP exists
22:21 [particle] talk about a vacuum....
22:21 TimToady I was talking about negative energy
22:21 PerlJam You heard ... er saw him!  TimToady just encouraged us to kill PHP!   :)
22:21 [particle] that's dark.
22:22 frettled PerlJam: they're working on it themselves
22:22 TimToady .oO(Will no one rid me of this language...)
22:22 spinclad those who don't observe Christmas will never know
22:22 diakopter TimToady: usually people want tongues...
22:22 spinclad (ref: xkcd++)
22:23 TimToady PHP isn't a tongue, it's a finger
22:24 TimToady yes, that one
22:24 b_jonas TimToady: as in http://xkcd.com/679/ ?
22:24 [particle] an impudent finger.
22:25 jmarti joined #perl6
22:25 [particle] which means the supreme court is now deciding whether or not it's protected free-speech.
22:26 TimToady I will check my mailbox for rattlesnakes now.
22:26 spinclad b_jonas: yes, that one
22:26 TimToady there's this spherical object, with fangs...should I be worried?
22:27 b_jonas TimToady: does it have eyes? or is it an eye?
22:28 TimToady .oO(an eye for an eye, and a fang for a fang...)
22:29 [particle] the economic meltdown has led to sale prices for eyes and fangs
22:29 PerlJam not an aye for an aye?
22:29 TimToady and a truth for a truth?
22:30 PerlJam sooth for sooth
22:30 TimToady use Mooth;
22:30 [particle] an oy for an oy.
22:30 TimToady there oughta be a law...
22:32 * spinclad goes have chicken soup for lunch^Wdinner
22:32 [particle] the second law?
22:32 bkeeler_ joined #perl6
22:43 wallberg joined #perl6
22:44 cotto_work joined #perl6
22:45 lichtkind is slurp an alias to open("").get(); ?
22:46 alester joined #perl6
22:47 TimToady well, it has to close it too
22:48 TimToady I doubt slurp calls get in any case
22:48 TimToady there's nothing to iterate
23:03 japhb Is there a Perl 6 idiom for unflattening a hash from a list of alternating key and value?
23:03 colomon %hash.kv
23:03 * japhb working around an NQP-rx limitation, and might as well make it look like Perl 6.
23:03 colomon oh, wait, you want the other way around?
23:03 japhb colomon, that flattens, the opposite ... yeah
23:03 colomon isn't that just $hash = kv-list ?
23:04 colomon %hash = kv-list, I mean
23:04 PerlJam NQP doesn't have assignment.
23:04 colomon rakudo: say %hash = 1, 2, 3, 4; say %hash.perl
23:04 p6eval rakudo 5b81df: OUTPUT«Symbol '%hash' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
23:04 colomon rakudo: my %hash = 1, 2, 3, 4; say %hash.perl
23:04 p6eval rakudo 5b81df: OUTPUT«{"1" => 2, "3" => 4}␤»
23:05 PerlJam (but, if it did, that would work  :)
23:05 japhb yeah, I wish I could do that ....
23:05 PerlJam japhb: does nqp grok hash literals ?   my %hash := { 1,2,3,4 }  #  ?
23:06 japhb PerlJam, nope.
23:06 japhb Or at least, not last I looked.
23:06 japhb Have to fake it with:
23:06 japhb sub hash(*%hash) { %hash }
23:06 PerlJam It didn't the last time I looked either, but I thought it was slated to be added "soon"
23:06 * colomon is very confused by this conversation....
23:06 japhb Which is fine and all, but that assumes you already have pairs.
23:07 japhb My core problem is that NQP-rx doesn't understand a fat-arrow unless the LHS is ident-ish
23:07 colomon rakudo: say (1, 2, 3, 4).Hash.perl
23:07 p6eval rakudo 5b81df: OUTPUT«Method 'Hash' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
23:08 japhb So I was going to make a hash with these nasty string keys by making a little helper function that unflattened a list.  But I just wanted to know if there was already an idiom.  Of course the idiom in Perl 6, as colomon pointed out, is 'assignment, not binding'.
23:08 Tene japhb: when you had me implement that for you, I asked you "is simple idents only on the LHS sufficient?", and you told me that it would be.  Are you now trying to tell me that you're not completely precognitive?
23:09 PerlJam heh
23:09 japhb Tene, it was sufficient for *me*.  Just apparently not sufficient for fperrad++.  ;-)
23:09 japhb I maintain my record is spotless.
23:09 Tene Heh.
23:09 rgrau joined #perl6
23:12 lisppaste3 japhb pasted "It's all fperrad++'s fault ..." at http://paste.lisp.org/display/96186
23:13 japhb NQP-rx barfs on that at line 28 (the building of the pir_nqprx hash).
23:13 japhb Heh.  Looks like I pasted my editor state while typing in unflatten ....
23:14 PerlJam so you want to change the grammar to grok quoted strings on the LHS of => ?
23:15 PerlJam (as long as you're not doing full expression parsing, that seems fairly simple)
23:15 PerlJam (maybe even then, but I haven't given it but 2 seconds though)
23:15 PerlJam er, thought
23:15 japhb PerlJam, Heck yeah, that would be fantastic.
23:16 japhb I had gotten the feeling from Tene way back when that that would be non-trivial ... easier now?
23:16 PerlJam oops, gotta go.  See you guys later.  japhb if someone hasn't beaten me to the punch, i'll look at it later tonight.  :)
23:16 japhb PerlJam, thanks!
23:19 wknight8111 joined #perl6
23:34 colomon oh, heh, looks like the test failures I'm getting on my 64-bit linux box from test_summary may be ICU related?
23:34 colomon S32-str/words.rakudo...............................no ICU lib loaded
23:34 colomon current instr.: 'perl6;HLL;Actions;charname' pc 17178 (ext/nqp-rx/src/stage0/HLL-s0.pir:5367)
23:35 colomon for instance.
23:36 TimToady .oO(external dependencies...mutter...mutter...)
23:42 diakopter sputter, sputter...
23:44 arthur-_ joined #perl6
23:50 nadim joined #perl6
23:51 synth joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs