Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-03-23

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:02 bkeeler__ joined #perl6
00:03 lue hello!
00:03 bkeeler__ Just trying out chatzilla
00:04 bkeeler bkeeler__: foo
00:04 lue oh, is it cool?
00:04 bkeeler__ Dunno, it seems much like any other client
00:05 bkeeler__ std: feoin
00:05 p6eval std 30172: OUTPUT«Undeclared routine:␤   'feoin' used at line 1␤ok 00:01 107m␤»
00:05 jnthn std: be { colorful } { }
00:05 p6eval std 30172: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/7wLOYIW4wJ line 1:␤------> [32mbe { colorful } [33m⏏[31m{ }[0m␤    expecting any of:␤     bracketed infix␤  infix or meta-infix␤Undeclared
00:05 p6eval ..routine…
00:05 bkeeler__ Hey, I see colors!
00:06 jnthn :-)
00:07 lue CHATZILLA GIVES YOU TEH COLOR!? quick, running o'er to chatzilla
00:07 bkeeler It does
00:08 bkeeler Someone say something to me by name, let's see if it makes noise
00:08 jnthn bkeeler: lol hai
00:08 bkeeler Yep, cool
00:08 lue bkeeler: aw, but now konversation shows your nick as pink instead of red :(
00:09 bkeeler I don't want to be Mr. Pink!  Why can't lue be Mr. Pink?  I wanna be Mr. Black!
00:09 lue I am Mr. Black (in Konversation)
00:10 lue In Konversation, TimToady & pmichaud are green, colomon and cognominal are light-blue, and jnthn and bkeeler red
00:11 Chillance joined #perl6
00:12 lue From what I can tell, it's random, and can't be changed (thru settings menu at least. The choices obviously stick)
00:16 vamped i've read (i think) that the colors can be customized in irssi - but I haven't felt the need to try.
00:17 lue irssi is windows, correct?
00:17 vamped um, i'm using linux. don't know if it's available for windows too.
00:18 jnthn lue: Dunno whether it runs there too; I'm running it on Linux.
00:18 jnthn (through screen)
00:20 eternaleye joined #perl6
00:21 Chillance_ joined #perl6
00:22 lue thru screen is remotely to another comp I'm guessing.
00:22 lue (the IETF love April Fool's Day)
00:22 vamped lue: no - an addon
00:22 jnthn lue: screen lets you keep a persistent terminal session and reconnect to it.
00:23 jnthn I run screen on my linux server that's sat in some data center somewhere, and just ssh into that.
00:23 jnthn In the past I did it with feather
00:23 jnthn Same arrangement.
00:23 jnthn Works nicely.
00:23 jnthn :-)
00:23 astrojp left #perl6
00:24 lue2 joined #perl6
00:24 lue2 std: fail miserably
00:24 p6eval std 30172: OUTPUT«Undeclared routine:␤   'miserably' used at line 1␤ok 00:01 105m␤»
00:24 lue2 std: !!*$823592&#!%~
00:24 p6eval std 30172: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/UsLNAq51kh line 1:␤------> [32m!!*[33m⏏[31m$823592&#!%~[0m␤    expecting any of:␤        POST␤   bracketed infix␤    infix or meta-infix␤      postfix␤        postfix_prefix_meta_operator␤       statement modifier
00:24 p6eval ..loop␤FAILED 00:01 107m␤»
00:24 lue2 yay for color :)
00:25 lue2 ooh! Smileys are pictures! :D
00:25 lue and I'm pink now in Konversation
00:25 lue2 nothing special in Chatzilla though.
00:27 lue hello?
00:28 lue goodbye time-traveling self!
00:29 lue2 well, I ought to head back to the year 20XX. A Phoenix Wright trial is about to start, and I'm going to be late to court!
00:29 lue2 Oh, you mind reader!
00:29 lue that was fun :)
00:30 bkeeler So are you going to stick with Chatzilla?
00:31 vamped_ joined #perl6
00:31 bkeeler Of course, I would have thought you'd primarily communicate through "luetooth"
00:32 * jnthn would never go back to anything else after irssi. :-)
00:32 jnthn I expect it wouldn't be to everyone's tastes though.
00:32 vamped am I still here?
00:32 jnthn vamped: Seems so.
00:32 jnthn :-)
00:32 bkeeler vamped: t'would seem so
00:36 payload joined #perl6
00:37 ash_ joined #perl6
00:38 yinyin joined #perl6
00:42 lue I'll more likely use ChatZilla as a standalone application, mainly because the synopses at perlcabal tend to crash firefox :/
00:44 vamped lue: the synopses crash firefox for me only when I search for some word that's not there -- but eventually comes out of the coma (lasts 30 seconds for each letter searched for)
00:45 lue me too, but i'm too impatient to wait for the incorrectness to be done :)
00:46 vamped lue: lol & frustrating, so I do my searches locally with grep, but the reading online
00:46 lue (lue is going to try irssi, despite it being text-based)
00:47 lue vamped: I always wait until the page is done loading and the favicon stop being the loading wheel. It seems to help a bit.
00:47 meppl joined #perl6
00:48 * jnthn just reads the POD. ;-)
00:48 jnthn But it is missing the nice test linkup
00:49 vamped the html is much more readable i think - but whatever floats your boat is fine with me
00:50 vamped ... help too to use the pod reader rather than plain text :))
00:51 jnthn vamped: Yeah, different people have different preferences. I generally don't go out of my way to have syntax highlighting either, though it certainly doesn't annoy me when I do have it. Some people find it more of a must-have though. :-)
00:52 lue the test linkup is a bunch of iframes, that's the problem :(
00:52 jnthn OTOH, I really, really like to have a good graphical debugger.
00:52 jnthn :-)
00:52 lue jnthn: can you see this in irssi?
00:52 bkeeler syntax highlighting catches enough typos that I find it hard to live without
00:52 lue .u 6083
00:52 phenny U+6083 CJK UNIFIED IDEOGRAPH-6083 (悃)
00:53 lue ooh, CJK (not a great choice)
00:53 jnthn I can see it's a unicode char. :-)
00:53 lue .u 0683
00:53 phenny U+0683 ARABIC LETTER NYEH (ڃ)
00:53 bkeeler I like the default chatzilla font for that stuff way better than whatever colloquy was using
00:53 lue .u 2063
00:53 phenny U+2063 INVISIBLE SEPARATOR (⁣)
00:54 lue lolcat abuse!
00:54 bkeeler What were those weird bag characters from last night?
00:54 lue .u s-shaped
00:54 phenny U+27C5 LEFT S-SHAPED BAG DELIMITER (⟅)
00:54 lue .u right s-shaped
00:54 phenny U+27C6 RIGHT S-SHAPED BAG DELIMITER (⟆)
00:54 bkeeler That shows up nicely
00:54 jnthn Invisible seperator!!!
00:54 ash_ that shows up as the box (i guess my font doesn't support that one)
00:54 jnthn That's officially my favorite character. :-)
00:55 lue .u 0042
00:55 phenny U+0042 LATIN CAPITAL LETTER B (B)
00:55 lue .u 002A
00:55 phenny U+002A ASTERISK (*)
00:55 lue (lessee... I now have (that I know of :P) Konversation, XChat, erc (emacs irc) and irssi)
00:55 lue (and chatzilla)
00:56 bkeeler BitchX seems to have a loyal following
00:59 lue .u l-shaped
00:59 phenny U+2CD1 COPTIC SMALL LETTER L-SHAPED HA (ⳑ)
01:00 lue .u i-shaped
01:00 phenny lue: Sorry, no results for 'i-shaped'.
01:00 lue .u o-shaped
01:00 phenny lue: Sorry, no results for 'o-shaped'.
01:00 lue .u warning
01:00 phenny U+26A0 WARNING SIGN (⚠)
01:00 jnthn .u coffee
01:00 phenny jnthn: Sorry, no results for 'coffee'.
01:00 jnthn aww!
01:00 lue .u cup
01:00 phenny U+2294 SQUARE CUP (⊔)
01:01 jnthn .u hot beverage
01:01 phenny U+2615 HOT BEVERAGE (☕)
01:01 jnthn \o/
01:01 jnthn .u beer
01:01 phenny jnthn: Sorry, no results for 'beer'.
01:01 jnthn :-(
01:01 lue .u mug
01:01 phenny U+BB35 HANGUL SYLLABLE MUG (묵)
01:01 jnthn lol
01:01 jnthn Korean win.
01:02 bkeeler Bah, what do Koreans know about beer?
01:02 jnthn I didn't realize all of the different combinations had unicode chars, I thought they were all done out of combinding ones for Korean.
01:02 lue ☕ break!
01:02 lue .u drink
01:02 phenny lue: Sorry, no results for 'drink'.
01:02 lue .u beverage
01:02 phenny U+2615 HOT BEVERAGE (☕)
01:02 jnthn bkeeler: Seoul.pm certainly knew about beer. :-D
01:03 jnthn And soju. :-)
01:03 jnthn Korea++ # happy memories :-)
01:03 bkeeler They had good beer there?  Nice
01:03 snarkyboojum joined #perl6
01:03 jnthn bkeeler: Well, a lot was imported, akshually.
01:03 lue .u paradise
01:03 phenny lue: Sorry, no results for 'paradise'.
01:04 lue .u camel
01:04 phenny lue: Sorry, no results for 'camel'.
01:04 jnthn .u tube
01:04 phenny jnthn: Sorry, no results for 'tube'.
01:04 lue that's bogus :(
01:04 bkeeler Did they try to get you to eat dog?
01:04 lue .u dumb
01:04 phenny lue: Sorry, no results for 'dumb'.
01:04 jnthn bkeeler: No! :-P But actually the Korean food was overall excellent. But then, I really love spicy stuff. :-)
01:04 lue .u you
01:04 phenny U+4DC3 HEXAGRAM FOR YOUTHFUL FOLLY (䷃)
01:04 bkeeler Yeah, I like what Korean food I've had
01:04 lue (raocow moment)
01:05 jnthn Yeah, I need to take another, longer, vacation in Korea some day.
01:05 lue .u me
01:05 phenny U+A0C2 YI SYLLABLE ME (ꃂ)
01:05 lue .u man
01:05 phenny U+2F08 KANGXI RADICAL MAN (⼈)
01:05 lue (raocow)
01:05 lue "radical man" :)
01:05 jnthn How do you find these? :-)
01:06 bkeeler .u ace
01:06 phenny bkeeler: Sorry, no results for 'ace'.
01:06 bkeeler .u for
01:06 phenny U+2200 FOR ALL (∀)
01:06 bkeeler Just try random words?
01:06 bkeeler .u po
01:06 phenny U+0E9B LAO LETTER PO (ປ)
01:06 bkeeler Oooh, fishing hook
01:07 bkeeler .u re
01:07 phenny U+A3D2 YI SYLLABLE RE (ꏒ)
01:07 lue .u so
01:07 phenny U+A319 YI SYLLABLE SO (ꌙ)
01:07 lue .u loop
01:07 phenny U+21AB LEFTWARDS ARROW WITH LOOP (↫)
01:07 bkeeler .u do
01:07 phenny U+0E94 LAO LETTER DO (ດ)
01:07 bkeeler .u plane
01:07 phenny bkeeler: Sorry, no results for 'plane'.
01:07 bkeeler .u chao
01:07 phenny bkeeler: Sorry, no results for 'chao'.
01:08 lue rakudo: ↫(my $i=0; $i<10; $i++;){say $i;};
01:08 bkeeler No sacred chao
01:08 p6eval rakudo db0f85: OUTPUT«Confused at line 11, near "\u21ab(my $i=0;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
01:08 lue .u cow
01:08 phenny U+2EA7 CJK RADICAL COW (⺧)
01:08 lue .u moo
01:08 phenny U+14A8 CANADIAN SYLLABICS MOO (ᒨ)
01:08 jnthn .u U+FBF9
01:08 phenny jnthn: Sorry, no results
01:08 lue (you don't need the U+)
01:08 bkeeler The canadians have their own silly symbols?  Who knew?
01:09 jnthn .u FBF9
01:09 phenny U+FBF9 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM (ﯹ)
01:09 jnthn Longest name win!
01:09 lue woah!
01:09 lue (canadian) I did. It's the only way I found a Waluigi symbol :)
01:09 lue .u die
01:09 phenny U+2680 DIE FACE-1 (⚀)
01:09 lue .u live
01:09 phenny lue: Sorry, no results for 'live'.
01:09 lue .u life
01:09 phenny U+2F63 KANGXI RADICAL LIFE (⽣)
01:09 phenny U+2F63 KANGXI RADICAL LIFE (⽣)
01:09 lue .u everything
01:09 phenny lue: Sorry, no results for 'everything'.
01:10 lue .u universe
01:10 phenny lue: Sorry, no results for 'universe'.
01:10 lue .u therefore
01:10 phenny U+2234 THEREFORE (∴)
01:10 bkeeler .u rice
01:10 phenny U+2F76 KANGXI RADICAL RICE (⽶)
01:10 jnthn Does a radical man eat radical rice?
01:11 bkeeler radical rice is the key to radical life
01:11 lue .u wood
01:11 phenny U+328D CIRCLED IDEOGRAPH WOOD (㊍)
01:12 lue .u steel
01:12 phenny lue: Sorry, no results for 'steel'.
01:12 phenny lue: Sorry, no results for 'steel'.
01:12 lue .u tim
01:12 phenny U+D300 HANGUL SYLLABLE TIM (팀)
01:12 lue .u toa
01:12 phenny U+2D86 ETHIOPIC SYLLABLE TOA (ⶆ)
01:12 lue .u dy
01:12 phenny U+0684 ARABIC LETTER DYEH (ڄ)
01:12 lue (found that last night)
01:12 jnthn lol
01:12 jnthn OK, sleeps!
01:12 jnthn o/
01:12 lue o/
01:12 bkeeler \o
01:13 agentzh joined #perl6
01:21 matthew_ joined #perl6
01:22 Coke joined #perl6
01:23 Coke I'm looking for a short way to write "$a ?? $b !! $c", except with a definedness check on $a instead of a $boolean. any suggestions?
01:23 Coke s/$boolean/truth/
01:24 colomon $a.defined ?? $b !! $c
01:24 colomon don't know if that counts as short.
01:25 Coke nqp: my $a; $a.defined ?? say "ok" !! say "not"
01:25 p6eval nqp: OUTPUT«Confused at line 1, near "$a.defined"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
01:25 Coke rakudo: my $a; $a.defined ?? say "ok" !! say "not"
01:25 p6eval rakudo db0f85: OUTPUT«not␤»
01:25 Coke so, yes, but not for nqp. ah well.
01:25 Coke thanks. =-)
01:25 lue_ joined #perl6
01:26 Coke nqp: my $a; pir::defined($a) ?? say "ok" !! say "not"
01:26 p6eval nqp: OUTPUT«Confused at line 1, near "pir::defin"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
01:26 Coke nqp-rx: my $a; pir::defined($a) ?? say "ok" !! say "not"
01:27 lue2 (checking some things in irssi)
01:27 lue2 std: f4!1
01:27 sjohnson nqp: my $a; pir::defined($a) ?? say "ok" || say "not"
01:27 p6eval std 30172: OUTPUT«[31m===[0mSORRY![31m===[0m␤Negation metaoperator not followed by valid infix at /tmp/cqZvXA205b line 1:␤------> [32mf4![33m⏏[31m1[0m␤    expecting any of:␤    bracketed infix␤  infix or meta-infix␤Undeclared routine:␤    'f4' used at line 1␤FAILED 00:01 108m␤»
01:27 p6eval nqp: OUTPUT«Confused at line 1, near "pir::defin"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
01:28 Coke sjohnson: seems to work in my local copy of parrot, so, good enough. =-)
01:28 lue2 .u dy
01:28 phenny U+0684 ARABIC LETTER DYEH (ڄ)
01:28 sjohnson Coke: at least the compiler is nice and says SORRY
01:29 colomon rakudo: say :40<FRED>
01:29 p6eval rakudo db0f85: OUTPUT«DON'T PANIC! The radix is out of range (2..36 only)␤current instr.: '&radcalc' pc 11974 (src/builtins/Parcel.pir:78)␤»
01:31 lue YES! you kept my errors :)
01:33 lue (can you hear me?)
01:34 colomon yes.
01:34 colomon trying to do three things at once here.
01:34 lue good, just checking (not used to irssi)
01:41 justatheory joined #perl6
01:43 sjohnson any git masters here for a quick question?
01:44 lue what is it, maybe I'm enough of a master.
01:45 sjohnson how to easily change a commit message from a few commits ago
01:45 sjohnson simple question, but seems to be like pulling teeth
01:45 lue (I'm not enough of a master. (I'm not allowed to commit to Rakudo yet, so I wouldn't know))
01:46 colomon sjohnson: woah, I have not the foggiest clue.  I don't even know how to change the most recent (though I do know it can be done).
01:48 * lue wonders if #git exists...
01:48 * vamped remembers reading about that command a few weeks ago
01:48 vamped try git --amend
01:49 sjohnson yeah.  that is something along the lines
01:49 sjohnson but it looks like have to be super careful about doing it
01:50 colomon http://stackoverflow.com/questions/179123/how-do-i-edit-an-incorrect-commit-message-in-git
01:50 colomon look at the hint that starts git rebase --interactive $parent_of_flawed_commit
01:50 vamped git -a --amend
01:50 colomon that sounds like what you want.
01:51 lue .u 0027
01:51 phenny U+0027 APOSTROPHE (')
01:51 vamped oops. git commit -a --amend
01:51 sjohnson vamped: i think that only does the previous one
01:51 sjohnson not one that's like.. 4 commits ago
01:52 vamped that may be true - so if that's the case - then what colomon said
01:52 lue rakudo: say 27.%x
01:52 p6eval rakudo db0f85: OUTPUT«Confused at line 11, near "say 27.%x"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
01:52 lue bah! Convert to hex goes...
01:52 sjohnson thanks guys
01:52 sjohnson will do some research
01:53 lue rakudo: "27".%x
01:53 p6eval rakudo db0f85: OUTPUT«Confused at line 11, near "\"27\".%x"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
01:55 lue how to you convert TO hex? I keep forgetting...
01:59 lue Earth: ping
01:59 lue goodbye irssi
02:00 colomon rakudo: printf("%x", 27)
02:00 p6eval rakudo db0f85: OUTPUT«1b»
02:00 colomon rakudo: say sprintf("%x", 27)
02:00 p6eval rakudo db0f85: OUTPUT«1b␤»
02:04 lue joined #perl6
02:05 lue hello! How do I convert to hex?
02:06 TimToady rakudo: say 27.fmt('%x')
02:06 p6eval rakudo db0f85: OUTPUT«1b␤»
02:06 TimToady rakudo: say 7.fmt('%02x')
02:06 p6eval rakudo db0f85: OUTPUT«07␤»
02:08 lue thank you (apparently the response time to my questions is directly affected by the IRC client I use :) )
02:08 lue .u 1B
02:08 phenny lue: Sorry, no results for '1B'.
02:09 lue .u 001B
02:09 phenny U+001B (No name found)
02:09 lue ]33m
02:09 lue rakudo: say "\x001B"
02:09 p6eval rakudo db0f85: OUTPUT«␤»
02:10 lue [7mHello!
02:10 TimToady well, you got an answer from colomon while you were out
02:10 TimToady rakudo: say ord("\e")
02:10 p6eval rakudo db0f85: OUTPUT«92101␤»
02:11 colomon d'oh!  I should have looked a bit more carefully at the notices...
02:11 TimToady huh
02:11 TimToady rakudo: say ord("A")
02:11 p6eval rakudo db0f85: OUTPUT«65␤»
02:11 lue of course :)
02:11 TimToady I guess rakudo doesn't do \e, but why 92101?
02:12 lue rakudo: say ord("\")
02:12 p6eval rakudo db0f85: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
02:12 lue ah!
02:12 jaldhar joined #perl6
02:12 lue rakudo: say ord('\')
02:12 p6eval rakudo db0f85: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
02:12 TimToady same problem
02:12 lue Ah!
02:13 TimToady rakudo: say ord('\\')
02:13 p6eval rakudo db0f85: OUTPUT«92␤»
02:13 TimToady funny definition of ord
02:13 TimToady rakudo: say ord("\t")
02:13 p6eval rakudo db0f85: OUTPUT«9␤»
02:13 TimToady yeah, \e is NYI
02:13 lue rakudo: say ord('e')
02:13 p6eval rakudo db0f85: OUTPUT«101␤»
02:13 lue apparently, it takes the \ and the e
02:14 TimToady std: "\y"
02:14 p6eval std 30172: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized backslash sequence: '\y' at /tmp/2xckrpJnNB line 1:␤------> [32m"\y[33m⏏[31m"[0m␤FAILED 00:01 107m␤»
02:14 TimToady it should at least do that
02:14 TimToady std: "\e"
02:14 p6eval std 30172: OUTPUT«ok 00:01 105m␤»
02:15 lue or quietly assume you mean a \ and a y (or a warning)
02:15 TimToady \e is mentioned 3 times in S02
02:15 TimToady that's probably LHF for someone...
02:16 TimToady alpha: say ord("\e")
02:16 p6eval alpha 30e0ed: OUTPUT«27␤»
02:16 lue is that quick to implement?
02:16 TimToady hah, it got busticated in ng
02:17 vamped TimToady - what is to be done with \e in S02? I'm missing something.
02:17 lue either I go and implement it (the jnthn method) or submit a rakudobug (the masak method). I just don't want to be wasting valuable ticket paper :)
02:18 lue .u nyi
02:18 phenny U+A44C YI SYLLABLE NYI (ꑌ)
02:18 lue :D
02:18 lue HTTP status code 501 is also appropriate
02:20 lue where are the backslash sequences defined?
02:20 lue er, implemented
02:22 lue (geez, every scriptable irc client I've come into contact with (XChat and irssi) has a script on the official site for XMMS)
02:23 vamped lue: S02 states: \b \t \n \f \r \c \x \o and \e
02:24 quietfanatic joined #perl6
02:24 lue (what bugs me is that whenever I ask where something is defined, I get an answer pointing to the spec :( )
02:24 lue (no offense to you, vamped)
02:24 quietfanatic How disappointing one can't have a unicode nick.
02:24 vamped lol. sorry I mis-understood the question.
02:25 lue vamped: seems everyone does :)
02:25 lue quietfanatic: I know, it's annoying. (not even something like lue++)
02:25 TimToady I am officially ignorant of any implementation details.
02:26 lue I would love to masquerade as Camelia once (»ö«)
02:28 astrojp joined #perl6
02:28 lue colomon! I choose you!
02:29 lue .oO(colomon is a spirit Pokèmon. He is weak against water.)
02:31 lue s/Pokèmon/Pokémon/
02:34 justatheory joined #perl6
02:39 lue would you consider Konversation not parsing ANSI control sequences a "wishlist" (feature request) or a "bug" (bug, no crashes)?
02:39 lue I'm inclined to say bug, but...
02:40 Tene the former
02:40 lue dankon!
02:41 zostay joined #perl6
02:44 lue .u 009B
02:44 phenny U+009B (No name found)
02:45 lue rakudo: say "\x009B"
02:45 p6eval rakudo db0f85: OUTPUT«›␤»
02:46 cls_bsd joined #perl6
02:55 dj_goku joined #perl6
03:02 lue hello?
03:05 lue alpha: say "\e[33m"
03:05 p6eval alpha 30e0ed: OUTPUT«[33m␤»
03:05 lue rakudo: say "\e[33m"
03:05 p6eval rakudo db0f85: OUTPUT«\e[33m␤»
03:05 lue alpha: say '\e[33m'
03:05 p6eval alpha 30e0ed: OUTPUT«\e[33m␤»
03:08 lue rakudo: Q:PIR{say "\e[33m"}
03:08 p6eval rakudo db0f85: OUTPUT«[33m␤»
03:10 sorear hello.
03:11 lue hello
03:16 lue rakudo: say ⎱hello⎰
03:16 p6eval rakudo db0f85: OUTPUT«Confused at line 11, near "say \u23b1hello"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
03:24 envi^home joined #perl6
03:24 lue rakudo: class Foo { use Test; }
03:25 p6eval rakudo db0f85:  ( no output )
03:34 wormwood joined #perl6
03:55 lue #64688 resolved!
03:58 bkeeler lue++
03:58 lue rakudo: my $a = "a"; say "a" ~~ /$a/
03:58 p6eval rakudo db0f85: OUTPUT«␤»
03:58 lue so far #61960 looks resolved as well...
03:59 lue jnthn --action="unjinx"
03:59 lue rakudo: my $a = /a/; say "a" ~~ /$a/
03:59 p6eval rakudo db0f85: OUTPUT«␤»
03:59 lue rakudo: my $a = "foo"; $a ~~ /$a/; say "alive"
03:59 p6eval rakudo db0f85: OUTPUT«alive␤»
04:00 lue rakudo: my $a=":"; my $b="aa:a:ag.:f"; $b.subst( /$a/, "-"); say $b;
04:00 p6eval rakudo db0f85: OUTPUT«aa:a:ag.:f␤»
04:02 bkeeler Well, variable interpolation into regexes is what I'm working on
04:02 bkeeler It's not merged yet ;)
04:02 bkeeler But at least it doesn't null PMC
04:06 lue the stated problems no longer generate a null PMC access, and the test for the bug passes, so it's resolved!
04:07 lue (both of these bugs I've had to run the tests manually because the test files happened to be screwy somewhere else :( )
04:07 lue (maybe running make on the individual tests causes that)
04:07 bkeeler Which test file is that?
04:08 lue t/spec/S05-interpolation/regex-in-variable.t
04:09 bkeeler Yah, pretty sure we're not running that test yet
04:09 lue has a problem with the hash variable %var
04:09 bkeeler Like I say, I'm working on making that pass
04:09 lue so I enter in the tests related to that problem into perl6, and it wins/fails
04:09 bkeeler Feel free to assign the bug to me and move on if you'd like
04:10 lue *cough* just resolved it :|
04:11 pmichaud-ph joined #perl6
04:11 lue hello pmichaud-ph o/
04:11 pmichaud-ph Good evening perl6
04:11 bkeeler heyas pmichaud-ph
04:12 * bkeeler prepares the inevitable barrage of questions for pmichaud...
04:13 pmichaud-ph Actually I'm connected via my phone
04:13 lue bkeeler: should I unresolve it? According to the parameters of the bug report, it is resolved :) (#61960)
04:13 lue I guess that's where the ph comes from
04:13 bkeeler pmichaud-ph: Ah, well I can save them for another time
04:13 pmichaud-ph And prob not able to answer many questions
04:14 bkeeler pmichaud-ph: are you likely to be around tomorrow?
04:15 pmichaud-ph Don't know.  We're back at the hospital again. :-(
04:16 bkeeler Oh noes :(
04:16 lue there's a unicode symbol for the hospital!
04:16 lue But seriously, aw :(
04:16 pmichaud-ph There is?
04:16 pmichaud-ph What is it?
04:17 lue I found it last night! I called it defense armor
04:17 * pmichaud-ph wonders if his phone client displays Unicode
04:19 pmichaud-ph AFL
04:19 pmichaud-ph Afk
04:20 lue .u 26E8
04:20 phenny U+26E8 (No name found)
04:20 phenny U+26E8 (No name found)
04:20 lue rakudo: say "\x26E8"
04:20 p6eval rakudo db0f85: OUTPUT«⛨␤»
04:20 lue that's the sign for hospital (looks more like defense armor to me :) )
04:21 pmichaud-ph Just squares on my phone.
04:21 lue me as well (darn lack of fonts). At least the PDF says it is :)
04:21 pmichaud-ph Really gone.
04:21 bkeeler No glyph here either
04:22 lue Where is a good font covering the whole of unicode?
04:23 bkeeler I came across one last night called code2000
04:23 * lue running
04:23 bkeeler Supposedly huge coverage, but it looked really crappy
04:24 lue ow! I ran into some shareware :) Guess I won't be using code2000
04:29 lue rakudo: my @a := 1; say @a.WHAT
04:29 p6eval rakudo db0f85: OUTPUT«:= binding of variables not yet implemented␤current instr.: '&die' pc 17257 (src/builtins/Junction.pir:399)␤»
04:30 lue boo. stupid 501 :(
04:30 bkeeler There's gnu unifont, but it's a bitmap font
04:30 lue bkeeler: can you guess to what 501 is :)
04:31 bkeeler HTTP not implemented
04:32 lue correct. My favorite is 418
04:32 lue earlier I motioned to add HTTP status codes as an official part of the #perl6 terminology
04:32 bkeeler I used to know all those codes.  I implemented HTTP/1.1 both client and server in a previous $job
04:33 bkeeler I confess, I didn't implement 418
04:35 lue I just found a list on wikipedia, saw 501, and motioned :)
04:38 lue (i do wish to create the subetha-net protocol, based entirely on P6 :) )
04:39 bkeeler http://www.subethaedit.net/
04:39 lue no way!
04:39 mantovani joined #perl6
04:40 bkeeler I know folks that use it for pair-programming at a distance
04:40 lue too bad it's for OS X, and it costs money, and the demo is limiting :(
04:40 bkeeler Yeah.  Its fans swear by it though
04:41 lue *cough*suckers*cough*
04:42 lue for free, you have Bespin (mozilla), svn, cvs, mercurial, git (pref.), etc.
04:46 lue are domain names part of IPv(4&6)? If so, then I know exactly what senp:// has to conform to in terms of what to type after senp://
04:47 bkeeler Well, you can certainly use IP without DNS
04:47 justatheory joined #perl6
04:49 * lue really ought to read up the Internet Protocol Suite.
04:49 * lue doesn't know the difference between IP and DNS
04:53 * lue feels he needs to know this stuff before creating a protocol
05:00 bkeeler Well, I'm done for the evening.  Glass of scotch and a little TV, then bed
05:00 bkeeler \o
05:00 lue gnight o/
05:36 jrockway joined #perl6
05:50 lue goodnight moon
05:55 sorear lue: is it like termcast?
05:55 cognominal joined #perl6
06:15 moritz_ \o/ http://news.perlfoundation.org/2010/03/hague-grant-acceptance-numeric.html colomon++
06:17 gfx joined #perl6
06:31 moritz_ sorear++ # blizkost's 'make test' works again - \o/
06:34 moritz_ just in t/spec/bse/term.t i get a "Option -l not known" and a usage message from parrot
06:43 sorear I ... haven't done anything with make test.
06:46 moritz_ no, but afaict you fixed stuff[tm]
06:52 cognominal I get that when trying to compile blizkost : /Users/stef/git/rakudo/parrot_install/bin/parrot  -o perl5.pbc perl5.pir
06:52 cognominal error:imcc:The opcode 'loadlib_p_sc_p' (loadlib<3>) was not found. Check the type and number of the arguments
06:52 cognominal in file 'perl5.pir' line 26
06:54 moritz_ cognominal: you need to svn up your parrot
06:55 moritz_ I've bumped build/PARROT_REVISION now
06:56 cognominal happy to see things move so fast :)
06:58 cognominal Robin Milner is dead :(
07:05 uniejo joined #perl6
07:11 moritz_ rakudo: use Test; is_deeply { a => 1}, { "a" => 1 }
07:11 p6eval rakudo db0f85: OUTPUT«ok 1 - ␤»
07:12 kaare joined #perl6
07:16 Su-Shee joined #perl6
07:16 * sorear blinks
07:21 IllvilJa joined #perl6
07:42 iblechbot joined #perl6
07:43 moritz_ rakudo: 'a' ~~ /./; say $/.ast.perl
07:43 p6eval rakudo db0f85: OUTPUT«Method 'perl' not found for invocant of class 'Undef'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
07:47 moritz_ rakudo: 'abc' ~~ /(.)(.)/; say $/.list
07:47 p6eval rakudo db0f85: OUTPUT«ab␤»
07:47 moritz_ rakudo: 'abc' ~~ /(.)(.)/; say $/.hash
07:47 p6eval rakudo db0f85: OUTPUT«Hash[0x65d1d938]␤»
07:47 moritz_ rakudo: 'abc' ~~ /(.)(.)/; say $/.hash.pairs
07:47 p6eval rakudo db0f85: OUTPUT«Method 'pairs' not found for invocant of class 'Hash'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
07:47 moritz_ rakudo: 'abc' ~~ /(.)(.)/; say $($/).pairs
07:47 p6eval rakudo db0f85: OUTPUT«Method 'item' not found for invocant of class 'Regex;Match'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
07:47 moritz_ rakudo: 'abc' ~~ /(.)(.)/; say %($/).pairs
07:47 p6eval rakudo db0f85: OUTPUT«Method 'pairs' not found for invocant of class 'Hash'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
07:49 moritz_ rakudo: 'abc' ~~ /(.)(.)/; say $/.list.WHAT
07:49 p6eval rakudo db0f85: OUTPUT«Method 'WHAT' not found for invocant of class 'ResizablePMCArray'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
07:49 moritz_ rakudo: 'abc' ~~ /(.)(.)/; say $/.list ~~ Positional
07:49 p6eval rakudo db0f85: OUTPUT«Method 'HOW' not found for invocant of class 'ResizablePMCArray'␤current instr.: 'perl6;Perl6Role;ACCEPTS' pc 10010 (src/gen/RoleToClassApplier.pir:611)␤»
07:51 moritz_ ok, too much of the match objects are not yet functional in Rakudo to implement Match.caps and Match.chunks
07:52 hejki Match.chunks must be either wood or sulphur :)
07:53 vamped then Match.caps must be just sulphur
07:53 hejki ofc :)
07:53 * moritz_ is depressed. No Match.chunks => no JSON::Tiny working
07:54 moritz_ no JSON::Tiny working => no book updating on the grammar chapter
08:02 moritz_ lue++ # closing tickets
08:15 yinyin joined #perl6
08:35 mathw Morning
08:36 vamped o/
08:37 [particle] joined #perl6
09:03 felipe joined #perl6
09:03 jnthn morning o/
09:03 vamped o/
09:04 xomas joined #perl6
09:08 bkeeler joined #perl6
09:10 moritz_ \o
09:10 moritz_ jnthn: I found a nasty bug: RT #73760
09:10 moritz_ loading a class or grammar from withing a module fails
09:10 moritz_ rakudo: module FOo { use Test }
09:10 p6eval rakudo db0f85: 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)␤»
09:10 moritz_ rakudo: module FOo { use Test; }
09:11 p6eval rakudo db0f85:  ( no output )
09:11 moritz_ Test is not a class :-)
09:11 moritz_ or maybe it's related to the :: in the file names
09:11 moritz_ no idea
09:13 lollan joined #perl6
09:13 jnthn Not sure what it's related to, off hand.
09:13 jnthn Weird.
09:13 jnthn Anyway, test case is minimal, so should be able to track it down later on today.
09:15 sorear jnthn: I fixed a segfault in blizkost today \o/
09:17 jnthn sorear: yay!
09:17 jnthn sorear++
09:18 dakkar joined #perl6
09:28 mathw yay! my favourite segfaults are fixed segfaults
09:31 cosimo joined #perl6
09:47 bkeeler joined #perl6
09:54 payload joined #perl6
09:57 pausenclown someone familiar with "Can't handle scope declarator  on modules yet"?
09:57 moritz_ pausenclown: yes, reported that bug yesterday night
09:58 moritz_ pausenclown: it happens when you try to load a class or a grammar from inside a module
09:58 moritz_ pausenclown: jnthn++ promised to take a look at it today
09:59 pausenclown its not only grammars.
10:00 pausenclown it also happens when you use a class from within a class.
10:00 moritz_ confirmed
10:02 pausenclown _moritz, are there any significant changes to your book since dec. last year?
10:03 moritz_ aye; a new (unfinishe) chapter on operators, for example
10:03 pausenclown cool. i'll have a look.
10:03 vamped yeah, *wink* why don't you write some more about JSON::Tiny
10:03 * moritz_ should make a release some day
10:04 moritz_ vamped: I'm about to (re-working it to use proto regexes), but some rakudo bugs prevent me from running the code
10:04 vamped moritz: yes, i was there (above) when you voiced your frustration. -- trying to be funny
10:04 moritz_ oh. :-)
10:05 moritz_ but the code does look neat with proto regexes
10:05 vamped i look forward to reading the revision
10:06 masak joined #perl6
10:06 masak oh hai, #perl6
10:06 vamped \o
10:07 jnthn o/
10:07 pausenclown talking about it, looking at the example at the perl6.de frontpage... i think its too perl5 ish. The probem could be solved in three lines using a grammer =)
10:08 pausenclown *grammar
10:08 masak TimToady: [backlogging] please don't change the semantics of .say :/
10:08 moritz_ vamped: if you're curious about the code, that is already in the json repo
10:08 moritz_ pausenclown: you're welcome to contribute a better example
10:09 vamped moritz: k
10:10 masak lue: [backlogging] it warmed my heart to see you submit a rakudobug. :)
10:17 moritz_ masak: lue also closed tickets. Even  better :-)
10:17 moritz_ rakudo: say (1,2,3).map: { $_ }
10:17 p6eval rakudo db0f85: OUTPUT«123␤»
10:17 masak moritz_: yes, that's awesome too. but he's done that before, so it's not news. :)
10:18 moritz_ rakudo: moduel Foo { say (1,2,3).map: { $_ } }
10:18 p6eval rakudo db0f85: OUTPUT«Could not find non-existent sub &Foo␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
10:18 moritz_ masak: ORLY? I thought he only gained RT admin privs in the last 24 hours
10:18 moritz_ rakudo: module Foo { say (1,2,3).map: { $_ } }
10:18 p6eval rakudo db0f85: OUTPUT«123␤»
10:20 masak moritz_: true, but he was already doing the movements before that.
10:21 masak moritz_: I closed a few tickets for him before he got the priv bit.
10:21 * jnthn wonders how many tickets we're at now
10:21 moritz_ 637
10:22 masak \o/
10:22 moritz_ minus about 30 or so that can be closed once they have tests
10:22 moritz_ 20 actually
10:22 * vamped is interested in learning how to write tests.
10:23 jnthn Nice
10:23 masak this is just getting better and better. ++vamped
10:23 vamped moritz: of those 20, any vhlf I could tackle?
10:23 jnthn That's way down from the > 700 peak.
10:23 moritz_ vamped: shall we walk through one?
10:23 vamped yes
10:24 moritz_ vamped: let's start with http://rt.perl.org/rt3/Ticket/Display.html?id=62478
10:24 moritz_ std: for (my $i = 1; $i <= 3; $i++) { say $i; }
10:24 p6eval std 30172: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at /tmp/ayrt9OWVkd line 1:␤------> [32mfor [33m⏏[31m(my $i = 1; $i <= 3; $i++) { say $i; }[0m␤FAILED 00:01 108m␤»
10:24 moritz_ so, we know this thing should be an error
10:25 vamped following...
10:25 moritz_ we have to chose a file where we put the tests
10:25 moritz_ so, where are tests for 'for'-loops?
10:25 moritz_ cd t/spec/
10:25 moritz_ find -type f| grep for
10:26 moritz_ best fit is probably S04-statements/for.t
10:26 vamped wait. t/spec - what comes before t?
10:26 moritz_ vamped: you have a rakudo checkout, right?
10:26 moritz_ if you did a 'make spectest', you have a t/spec/ dir in your rakudo dir
10:26 vamped yes. but is where we want to be in the pugs repo?
10:27 moritz_ it's part of the pugs repo - you can work in there
10:27 moritz_ that's easiest for testing
10:27 masak rakudo: my $a; say +$a; say ~$a; say ?$a
10:27 p6eval rakudo db0f85: OUTPUT«Use of type object as value in numeric context␤current instr.: 'perl6;Perl6Exception;throw' pc 14812 (src/builtins/Seq.pir:77)␤»
10:27 masak rakudo: my $a; say ~$a; say ?$a
10:27 p6eval rakudo db0f85: OUTPUT«Any()␤0␤»
10:28 moritz_ vamped: is has the big advantage that from within your rakudo dir, you can do a 'make t/spec/S04-statements/for.t' and test it locally
10:28 masak the gentletwitterer @uasi wonders why + throws an exception but ~ and ? are alright.
10:28 jnthn rakudo: for (my $i = 1; $i <= 3; $i++) { say $i; }
10:28 p6eval rakudo db0f85: 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)␤»
10:28 moritz_ masak: there's no good reason. ? should be alright, ~ and + should warn
10:28 vamped ok. so how to I get it into the rakudo directory? "make spectest" ?
10:28 moritz_ cd rakudo
10:29 vamped there
10:29 moritz_ then you go  cd t/spec/
10:29 vamped cd t
10:29 vamped oops
10:29 vamped the spec directory is not in rakudo/t for me
10:30 moritz_ ok, then you do have to run 'make spectest' in the rakudo dir
10:30 moritz_ that will checkout out parts of the pugs repo for you
10:31 vamped ok. i've the test now in rakudo/t/spec
10:31 moritz_ actually you can abort after the first test has run (the lines with ...ok at the end)
10:31 moritz_ ok, then cd t/spec/
10:32 vamped there
10:32 moritz_ then look for files which contain 'for' in the name:
10:32 moritz_ find|grep -w for
10:32 moritz_ or if you have 'ack' installed, ack -g for
10:32 masak moritz_: thanks.
10:33 vamped ok. i grep'ped a list
10:33 moritz_ vamped: you'll get some hits in S04-statement-modifiers - those are what one writes at the end of a statement
10:33 moritz_ like .say for @list;
10:33 moritz_ not what we want
10:33 moritz_ S04-statements/ is more interesting
10:33 moritz_ for-scope.t is about for + scoping
10:34 moritz_ for.t is correct - that's where 'for' is tested in all generality
10:34 moritz_ so, open that file in your favorite editor
10:34 vamped k
10:35 moritz_ near the start of the file, there's a line 'plan *;'
10:35 moritz_ it means that we don't have to count tests ourselves
10:35 moritz_ so let's go to the end of the file
10:35 moritz_ before the done_testing; line
10:36 moritz_ and insert a new block {  }
10:36 moritz_ and there we start testing
10:36 vamped k
10:36 moritz_ std: for (my $i = 1; $i <= 3; $i++) { say $i; }
10:36 p6eval std 30172: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at /tmp/EtuyUnIQEu line 1:␤------> [32mfor [33m⏏[31m(my $i = 1; $i <= 3; $i++) { say $i; }[0m␤FAILED 00:01 108m␤»
10:36 moritz_ the error happens at compile time
10:37 moritz_ the right test function for that is eval_dies_ok
10:37 moritz_ so just write
10:37 moritz_ eval_dies_ok 'for (my $i = 1; $i <= 3; $i++) { say $i; }', 'some test description'
10:37 moritz_ of course the description could be better
10:38 moritz_ like 'C-style for-loop is caught by the parser'
10:38 vamped can we copy part of std's error above?
10:38 clintongormley joined #perl6
10:38 moritz_ we just need a one-line description of the error - if the error message is from STD.pm is good, that's fine
10:39 moritz_ then save the file
10:39 moritz_ go back to the rakudo dir
10:39 moritz_ type
10:39 moritz_ make t/spec/S04-statements/for.t
10:39 moritz_ see what happens
10:40 vamped result: Fail
10:40 vamped let me recheck my test
10:40 moritz_ yes, it failed
10:41 moritz_ but on my machine, test 49 failed
10:41 moritz_ which is completely unrelated
10:42 vamped I'm seeing different output I think...
10:43 moritz_ just a sec...
10:44 moritz_ vamped: http://nopaste.snit.ch/20049
10:44 moritz_ what do you get?
10:45 vamped http://nopaste.snit.ch/20050
10:45 moritz_ so you also have to paste the code near line 491
10:46 moritz_ (or at least at the end of the file)
10:47 vamped just had to fix some typos -- now it's running
10:48 moritz_ great
10:48 moritz_ does it run?
10:48 moritz_ erm
10:48 moritz_ does it pass?
10:48 vamped yes. got ok 63 - Unsupported ...
10:49 moritz_ ok, let's write one more test for it
10:49 moritz_ STD.pm's error messages are quasi standard
10:49 moritz_ so let's test that least parts of it appear in rakudo's error message
10:50 moritz_ so we have to execute the code once again, in an eval
10:50 moritz_ and then test if $! (the error variable) contains what it should
10:50 moritz_ eval 'for (my $i = 1; $i <= 3; $i++) { $i; }';
10:50 moritz_ ok $! ~~ / 'C-style' /, 'Sensible error message';
10:50 moritz_ this uses a regex to test for the constant string C-style
10:50 moritz_ save again; run again
10:52 moritz_ vamped: still there? :-)
10:52 vamped got "not ok" - I'm looking ...
10:52 moritz_ oh, me too
10:52 moritz_ rakudo: for (my $i = 1; $i <= 3; $i++) { $i; }
10:52 p6eval rakudo db0f85: 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)␤»
10:53 moritz_ rakudo: eval 'for (my $i = 1; $i <= 3; $i++) { $i; }'; say $!
10:53 p6eval rakudo db0f85: OUTPUT«Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at line 1, near "(my $i = 1"␤»
10:54 hejki is that SUPPOSED to work? :P
10:54 vamped eval 'for (my $i; $i <=3; $i++) { $i; }';
10:54 vamped ok $! ~~ / 'C-style' /, 'Sensible error message';
10:54 vamped }
10:54 hejki or am i just missing something :P
10:54 moritz_ hejki: we are testing that it should give an error message
10:54 hejki ahh
10:55 hejki oki :>
10:55 moritz_ vamped: ah, I see the problem
10:55 moritz_ add a diag($!) after the eval
10:55 moritz_ # Redeclaration of symbol $i at line 1, near " = 1; $i <"
10:56 moritz_ so somehow we already have an $in scope
10:56 moritz_ so we get a wrong error message
10:56 moritz_ so let's just change $i to $j in the second eval
10:57 moritz_ hrmpf
10:57 moritz_ did not work
10:57 moritz_ because we already have a 'my $i' and 'my $j' in the same file somewhere
10:57 moritz_ bad luck
10:57 moritz_ so let's chose an identifier that's not yet taken
10:58 vamped k. i chose $x, and got ok 64 - Sensible error message !
10:58 pausenclown rakudo: my @a = 1, 2, 3; my Int $x = 4; @a[0] := $x; @a[0] = 99; say $x
10:58 p6eval rakudo db0f85: OUTPUT«:= binding of variables not yet implemented␤current instr.: '&die' pc 17257 (src/builtins/Junction.pir:399)␤»
10:58 moritz_ vamped: great
10:59 moritz_ vamped: so, we enough test coverage to close the ticket
10:59 moritz_ but first commit the changes
10:59 moritz_ do you have a pugs commit bit?
11:00 vamped yes
11:00 pausenclown would my code above output 99?
11:01 moritz_ pugs: my @a = 1, 2, 3; my Int $x = 4; @a[0] := $x; @a[0] = 99; say $x
11:01 p6eval pugs: OUTPUT«99␤»
11:01 moritz_ yes :-)
11:01 pausenclown =)
11:02 pugssvn r30173 | vamped++ | RT62478 Unsupported use of C-style "for (;;)" loop
11:02 moritz_ vamped: ok, then commit the changes... in t/spec/, type   svn ci '[t/spec] tests for RT #62478: throw an error on C-style for loops' t/spec/S04-statements/for.t
11:02 moritz_ oh, you were faster :-)
11:03 vamped and to close the ticker ?
11:03 moritz_ two small things: please add [t/spec] at the start of the commit message
11:03 moritz_ the pugs repo has many subsystems; that helps to easily identifiy the section
11:04 moritz_ secondly, if you add a # before the ticket number, the IRC logs will turn it into a link :-)
11:04 moritz_ both not all that important, but nice to do
11:04 vamped command to update commit message?
11:04 moritz_ there's no such thing
11:04 moritz_ you just have to do it better next time :-)
11:05 moritz_ vamped: do you have an RT account?
11:05 vamped :(( ok. I'll note the changes. I do not have an RT account.
11:06 moritz_ then I'll close the ticket for now
11:07 moritz_ iin the long run, we need to get you an account and admin privs on RT
11:08 moritz_ oh, one more thing
11:08 moritz_ the test we have just written...
11:08 moritz_ it's not all that good
11:08 moritz_ because these tests work by printing things to standard output
11:08 moritz_ now if the test fails and the for-loop runs, it prints 1\n2\n3\n to standard output
11:08 moritz_ and thus confuse the test parser
11:09 moritz_ so it's better to remove the say() from the eval_dies_ok
11:09 vamped ok. so I can still do that now?
11:10 vamped I created an rt account with same nick as here
11:11 moritz_ phenny: tell pmichaud please hand out an RT admin bit to vamp (RT nick vamped), I've walked him through writing tests and closing tickets
11:11 phenny moritz_: I'll pass that on when pmichaud is around.
11:11 moritz_ s/vamp\b/vamped/ sorry about that
11:12 pugssvn r30174 | moritz++ | [t/spec] remove a say() that would confuse the TAP parser when the test fails
11:12 * moritz_ closed the ticket
11:12 vamped Thank you for the walk through!
11:12 moritz_ you're very welcome
11:12 moritz_ if you want to practise a bit, http://rt.perl.org/rt3/Ticket/Display.html?id=63588 seems like a low-hanging fruit
11:13 vamped yes. i will aim for tomorrow for that one. it's getting late (um early) for me.
11:13 moritz_ sure
11:14 riffraff joined #perl6
11:14 vamped left #perl6
11:15 masak what's this twitterer saying? http://twitter.com/toshiabe/status/10901621607
11:15 masak something about parsing.
11:21 szbalint I can't parse it.
11:23 jnthn It's either "Somebody set up us the parse" or "All your parse are belong to us", I think.
11:23 jnthn ;-)
11:24 pausenclown rakudo: enum Day ('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'); my $day = Day::Tue; say $day;
11:24 p6eval rakudo db0f85: OUTPUT«Null PMC access in invoke()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
11:24 pausenclown pugs: enum Day ('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'); my $day = Day::Tue; say $day;
11:24 p6eval pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/u8DPXNfIE7 line 1, column 1-59␤»
11:25 mathw Unfortunately my friend who works as a Japanese-English translator is offline at the moment. Just when he'd be useful. Damn.
11:26 mathw Probably showing his parents around Nagasaki.
11:28 mathw Whatever it says, it looks pretty
11:28 mathw Google Translate think it says "can also parse it"
11:29 moritz_ "What can parse Perl 6 but also" is what my google translate says :-)
11:29 moritz_ sounds... wrong-ish
11:30 mathw yes
11:30 mathw Must ask Richard when he reappears
11:30 mathw why do his parents have to visit him now
11:30 mathw terribly inconvenient
11:31 mathw why doesn't the world organise itself to my whims
11:32 payload joined #perl6
11:39 qiuhw_ joined #perl6
11:58 takadonet morning all
12:02 envi^home joined #perl6
12:05 pausenclown how do i denote a char in a regex using a hex literal?
12:06 moritz_ rakudo: say "\x[42]"
12:06 p6eval rakudo db0f85: OUTPUT«B␤»
12:06 moritz_ rakudo: say "\c[42]"
12:06 p6eval rakudo db0f85: OUTPUT«*␤»
12:08 pausenclown rakudo: say "\x[42]" ~~ /\x[42]/
12:08 p6eval rakudo db0f85: OUTPUT«B␤»
12:08 pausenclown cool. tz
12:09 moritz_ note that in character classes the backslash notations are broken
12:09 pausenclown rakudo: say "\x[42]" ~~ /<[ \x[42] \x[43] ]>/
12:09 p6eval rakudo db0f85: OUTPUT«regex assertion not terminated by angle bracket at line 11, near "\\x[43] ]>/"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
12:09 moritz_ atm
12:09 moritz_ rakudo: say 't' ~~ / <[\t]> /
12:09 p6eval rakudo db0f85: OUTPUT«t␤»
12:09 pausenclown rakudo: say "\x[42]" ~~ /[ \x[42] | \x[43] ]/
12:09 p6eval rakudo db0f85: OUTPUT«B␤»
12:10 pausenclown what is more performant - a huge character class or a huge [|] construct?
12:11 moritz_ in theory a character class has more options for optimizations
12:15 meppl joined #perl6
12:20 colomon phenny: tell lue Pretty sure water is my strength -- I grew up on a major international shipping channel.  Given my hay fever, I suspect air is my weakness.
12:20 phenny colomon: I'll pass that on when lue is around.
12:20 colomon o/
12:21 jnthn oh hai colomon
12:21 colomon good morning!
12:23 moritz_ \o/
12:23 moritz_ colomon: congratulations to your grant acceptance
12:23 colomon Thank you!
12:28 rv2733 joined #perl6
12:30 colomon I'm really looking forward to digging into that.
12:31 jnthn :-)
12:31 * moritz_ is really looking forwards to the results :-)
12:33 takadonet man...
12:33 ruoso joined #perl6
12:34 qiuhw_ left #perl6
12:34 moritz_ rakudo: say :().WHAT
12:34 p6eval rakudo db0f85: OUTPUT«Parcel()␤»
12:34 takadonet I'm doing my perl 5 project and I just figure out an easy way to solve my problem.... using perl 6 technique...
12:35 takadonet but going to be hard to implement in perl 5!
12:38 bbkr release 27 announce post is duplicated on rakudo.org
12:38 moritz_ aye; before I wrote the second, the first one wouldn't appear
12:38 moritz_ so I fear that if I take down one of them, the other one will vanish too
12:39 bbkr :)
12:40 ascent_ joined #perl6
12:41 hanekomu joined #perl6
12:43 moritz_ rakudo: :input<>
12:43 p6eval rakudo db0f85: OUTPUT«Unsupported use of <>; in Perl 6 please use lines() or () at line 11, near "<>"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
12:43 moritz_ std: :input<>
12:43 p6eval std 30174: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of <>; in Perl 6 please use lines() or () at /tmp/CrezYffmvA line 1:␤------> [32m:input<[33m⏏[31m>[0m␤FAILED 00:01 107m␤»
12:43 moritz_ what's really weird
12:43 moritz_ why should it complain about an empty colonpair?
12:43 payload joined #perl6
12:45 krishnan joined #perl6
12:46 pugssvn r30175 | moritz++ | [t/spec] test for RT #68554 - say()ing stringification of $!.WHAT segfaults
12:47 dalek rakudo: 12e4767 | moritz++ | t/spectest.data:
12:47 dalek rakudo: run the test file for RT #68554
12:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/12e4767831f11ce126b232a01f3a2057d3051d58
12:52 pugssvn r30176 | moritz++ | [t/spec] fudge for.t, and add test description
12:52 colomon std: :bar<>
12:52 p6eval std 30174: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of <>; in Perl 6 please use lines() or () at /tmp/U4oKZkz8st line 1:␤------> [32m:bar<[33m⏏[31m>[0m␤FAILED 00:01 105m␤»
12:52 colomon std: :bar()
12:52 p6eval std 30174: OUTPUT«ok 00:01 105m␤»
12:52 colomon std: :bar<a>
12:53 p6eval std 30174: OUTPUT«ok 00:01 105m␤»
12:53 masak colomon got a grant? is there an URL?
12:54 colomon http://news.perlfoundation.org/2010/03/hague-grant-acceptance-numeric.html
12:54 moritz_ sure, there is :-)
12:54 masak \o/
12:54 masak colomon++
12:54 masak jnthn++
12:54 colomon jnthn++ indeed.
12:55 moritz_ :q
12:55 * hugme hugs moritz_, good vi(m) user!
12:56 masak :p
12:57 moritz_ rakudo: say <a b c d>.sort({ $_ }).sort({ $_ }).reverse
12:57 p6eval rakudo db0f85: OUTPUT«Too many positional parameters passed; got 2 but expected between 0 and 1␤current instr.: '_block48' pc -1 ((unknown file):-1)␤»
12:57 moritz_ rakudo: say <a b c d>.sort({ $_ }).sort({ $_ })
12:57 p6eval rakudo db0f85: OUTPUT«Too many positional parameters passed; got 2 but expected between 0 and 1␤current instr.: '_block48' pc -1 ((unknown file):-1)␤»
12:57 moritz_ rakudo: say <a b c d>.sort({ $_ })
12:57 p6eval rakudo db0f85: OUTPUT«Too many positional parameters passed; got 2 but expected between 0 and 1␤current instr.: '_block48' pc -1 ((unknown file):-1)␤»
12:57 moritz_ so...
12:58 moritz_ rakudo: say <a b c d>.sort(-> $x { $x })
12:58 masak is there a way to use phasers to delay the execution of a grammar action until after matching has completed successfully?
12:58 p6eval rakudo db0f85: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤current instr.: '_block48' pc -1 ((unknown file):-1)␤»
12:58 colomon rakudo: say <a b c d>.sort({ $^a <=> $^b })
12:58 p6eval rakudo db0f85: OUTPUT«adcb␤»
12:58 colomon :)
12:58 moritz_ so the unary sort is not yet implemented in master :(
12:58 masak right.
12:58 colomon actually, I don't think that's right
12:59 colomon rakudo: say (1, 3, -5, -42,  2).sort({.abs})
12:59 p6eval rakudo db0f85: OUTPUT«Too many positional parameters passed; got 2 but expected between 0 and 1␤current instr.: '_block50' pc -1 ((unknown file):-1)␤»
12:59 colomon rakudo: say (1, 3, -5, -42,  2).sort(&abs)
12:59 p6eval rakudo db0f85: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤current instr.: 'abs' pc -1 ((unknown file):-1)␤»
13:00 colomon Huh.  I would swear I had that working yesterday...
13:00 masak I like all the comments in http://news.perlfoundation.org/2010/02/2010_grant_proposal_enhancing.html -- they form a cloud of thoughts that I myself had when reading the proposal.
13:03 masak gentletwitterer @uasi provides the translation of the aforementioned tweet: "So Perl 6 can even do parsing." :)
13:04 colomon rakudo: my @a = -1, 4, -16, 3; @a.sort({.abs}).perl.say
13:04 p6eval rakudo db0f85: OUTPUT«(-1, 3, 4, -16)␤»
13:04 colomon there we go.  unary sort, working in master.
13:05 colomon rakudo: say <a b c d>.WHAT
13:05 moritz_ on arrays, but not on Seq's?
13:05 p6eval rakudo db0f85: OUTPUT«Parcel()␤»
13:05 masak sounds like a misplaced multi or something.
13:05 colomon On Seq but not on Parcel
13:06 moritz_ that explains why in Hongwen Qiu's post to p6l only the second sort complains
13:06 moritz_ rakudo: say Seq ~~ Positional
13:06 p6eval rakudo db0f85: OUTPUT«1␤»
13:06 moritz_ rakudo: say Parcel ~~ Positional
13:06 p6eval rakudo db0f85: OUTPUT«1␤»
13:06 colomon Looks like it's defined on Seq and Iterator.
13:06 colomon Parcel would be the Iterator version, I think.
13:06 moritz_ it should really be in Positional
13:08 ignacio_ joined #perl6
13:08 Teratogen i want Perl 6 NOW!
13:08 Teratogen I can't wait any longer!
13:09 moritz_ hugme: hug Teratogen
13:09 * hugme hugs Teratogen
13:09 moritz_ purl would not be that friendly: "put up or shut up"
13:09 colomon I don't get where sort actually happens.
13:10 colomon Seq.sort just handles the details of handling the comparison function and then forwards to another sort.
13:10 colomon Iterator.sort just transforms the Iterator to a Seq and forwards to that sort.
13:11 colomon I don't see any other sorts.
13:11 moritz_ did you read the comment in Seq.pm?
13:11 PerlJam colomon: the sort happens in the interstices of physics and magic  ;)
13:12 PerlJam good morning btw :)
13:12 masak Teratogen: I think you'll find that as long as you keep demanding things without helping, all you'll get is hugs. :)
13:13 moritz_ colomon: it seems that .eager returns an RPA, which has a low-level .sort method defined in parrot space
13:14 jnthn Oh, ouch.
13:14 colomon rakudo: say (-5...10).sort({.abs}).perl
13:14 p6eval rakudo db0f85: OUTPUT«(0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5, 6, 7, 8, 9, 10)␤»
13:14 colomon so is the Parcel version somehow calling the low-level sort instead of one of the smart ones?
13:15 masak Teratogen: is "Perl 6" something that you have been taught to want, or is there some particular feature that you're looking forward to?
13:15 jnthn colomon: Seems so.
13:15 moritz_ colomon: seems like
13:15 * PerlJam wonders if this is masak's first Teratogen experience.
13:15 Teratogen Larry Wall wrote Perl in six months
13:15 Teratogen hey PerlJam
13:15 Teratogen what's up?
13:16 PerlJam Teratogen: greetings.  nothing much.  :)
13:16 PerlJam Teratogen: Are you just here to stir things up or to contribute?
13:17 Teratogen stirring things up of course
13:17 colomon rakudo: say (-5...10).sort({.abs}).sort({.abs}).perl
13:17 p6eval rakudo db0f85: OUTPUT«Too many positional parameters passed; got 2 but expected between 0 and 1␤current instr.: '_block68' pc -1 ((unknown file):-1)␤»
13:17 colomon rakudo: say (-5...10).sort({.abs}).Seq.sort({.abs}).perl
13:17 p6eval rakudo db0f85: OUTPUT«(0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5, 6, 7, 8, 9, 10)␤»
13:17 masak Teratogen: Rome was built overnight. The pyramids were a weekend project.
13:18 PerlJam Teratogen: Well, you'll find #perl6 has too much good humor to be riled as easy as #perl  :)
13:18 Teratogen darn
13:18 masak Teratogen: that's right. :) I kinda like you, you're annoying in a funny way. :)
13:18 * masak hugs Teratogen
13:18 Teratogen what is all this . shit  .abs, .sort, .perl
13:18 Teratogen I don't like it
13:18 moritz_ then don't use it
13:18 masak :)
13:18 Teratogen that looks like Java
13:19 Teratogen or Ruby
13:19 PerlJam Teratogen: you'll have to do better than that.  We've all heard this before  :)
13:19 masak Teratogen: our secret plan is to make all Perl programmers use Java. and then to laugh at them.
13:20 Teratogen I don't like "sigil invariance" or whatever you call it
13:20 Teratogen I like the way Perl 5 does things
13:20 jnthn Teratogen: Then keep using Perl 5.
13:20 PerlJam Teratogen: feel free to continue to use Perl 5
13:20 jnthn It's not like it's going anywhere, or isn't very actively maintained and developed too. :-)
13:21 masak Teratogen: a lot of Perl 5 people don't like the sigil invariance. that's only natural, they've been brainwashed to think that way.
13:21 masak I mean that in a good way... :)
13:21 PerlJam Teratogen: try again.  Maybe you'll hit something that we need to hone our wits on a little more :)
13:22 justatheory joined #perl6
13:23 Teratogen Perl 6 is going to make a great academic language
13:23 hugme joined #perl6
13:23 moritz_ *yawn*
13:24 [particle] i believe that making a great academic language that's also a great general programming language will lead to wider acceptance and faster adoption.
13:25 PerlJam [particle]: Niklaus Wirth thought that too  ;>
13:25 hanekomu joined #perl6
13:26 Teratogen Pascal is a great language
13:27 PerlJam you mean delphi is a great language :)
13:27 PerlJam or maybe modula is a great language
13:27 PerlJam or maybe oberon is a great ... something
13:29 Teratogen ADA is a great language too
13:29 PerlJam I just realized that Wirth likes language names with 6 letters.  I wonder if that's because it's the arithmetic mean of the number of letters in Niklaus and Wirth
13:29 moritz_ how do you define a "great language"?
13:30 moritz_ is it a language you like to write in? or a a language in which great applications have been written? or where it's possible to write great application?
13:30 Teratogen moritz_ I am just trying to stir up shit
13:30 Teratogen don't mind me =)
13:30 moritz_ Teratogen: that doesn't mean you can't try to answer that question
13:31 moritz_ it's an interesting one, IMHO
13:31 Teratogen I think C is a great language
13:31 Teratogen especially when combined with the C preprocessor
13:31 PerlJam Teratogen: but you're defused too easily.  Are you getting soft?  Or were you sufficiently unprepared?
13:31 Teratogen preproccers are very powerful
13:31 Teratogen err
13:31 Teratogen preprocessors are very powerful
13:32 PerlJam that would make a good segue into talking about macros in Perl 6.   :)
13:34 Teratogen as long as they are text macros
13:35 Teratogen Perl 6 should have an integrated TEXT preprocessor
13:36 tlb joined #perl6
13:39 iblechbot joined #perl6
13:39 politichesky joined #perl6
13:41 Teratogen that sort of killed the conversation
13:46 alester joined #perl6
13:53 [particle] isn't that what you wanted?
13:53 was kicked by moritz_: trying to restore the conversation
13:53 politichesky joined #perl6
13:54 mathw Mmmmm... decongestants
13:54 moritz_ any ops are welcome to lift the ban whenever they like
13:56 mathw I have little patience for obvious trolling
13:57 * jnthn was...tempted to do that too. :-)
13:58 mathw I read that as 'was trying to remember how'
13:58 * moritz_ read that as 'didn't care enough to actually do it'
13:59 jnthn No, I know how. :-)
13:59 jnthn I just hadn't reached the annoyance threshold yet. :-)
13:59 [particle] /mode +kb HATERZ*@*
14:00 colomon He'd almost be amusing -- if his disses were a little more insightful...
14:00 [particle] perl? it's so ugly, it's more like an oyster!
14:01 [particle] take my sigils, please!
14:01 mathw Oysters taste nicer than pearls
14:01 mathw supposedly
14:01 mathw I've never tried eating either
14:01 SmokeMachine joined #perl6
14:03 [particle] larry gave perl 5 six months to live.  he couldn't finish perl 6, so he gave perl 5 another six months.
14:05 moritz_ then chuck norris extended the deadline to infinity
14:09 am0c p6eval: could you join other perl mongers channels to provide perl6 eval functionality?
14:09 dalek joined #perl6
14:09 * am0c there was a boy who was talking to the bot.
14:09 moritz_ am0c: just tell me which channels you want it to join
14:09 m6locks they have their own evalbots
14:09 m6locks oh, p6
14:09 am0c moritz_: #perl-kr it is.
14:09 m6locks sorry :)
14:09 moritz_ there's one instance running irc.perl.org, and another on on freenode
14:09 dalek rakudo: a16cde8 | moritz++ |  (2 files):
14:09 dalek rakudo: parrot r45125 removed Interp.current_object, so remove references to in Rakudo too; also bumps PARROT_REVISION
14:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a16cde8a64634b909e6e5cf35151e82f2ea83d8e
14:09 moritz_ am0c: on irc.perl.org?
14:10 jnthn o/ am0c :-)
14:10 ascent_ joined #perl6
14:10 am0c moritz_: ah, it's in freenode.
14:11 am0c jnthn: hi! \o
14:13 payload joined #perl6
14:14 moritz_ rakudo: say 'test'
14:14 p6eval rakudo db0f85: OUTPUT«test␤»
14:14 moritz_ I thought I'd killed it :/
14:14 p6eval joined #perl6
14:15 moritz_ am0c: should now be in #perl-kr - have fun!
14:15 am0c moritz_: thanks a lot!
14:37 riffraff joined #perl6
14:47 masak I'm really disappointed in Teratogen's efforts at trolling.
14:47 masak they were never really confrontational enough to be interesting.
14:48 mathw yes, not very imaginative
14:49 [particle] i didn't think they were even worth kicking
14:49 masak no, me neither.
14:49 masak but if Teratogen bothered moritz_ somehow, then I won't hold it against moritz_ :)
14:49 [particle] and there weren't even any misspellings....
14:49 masak exactly.
14:50 masak the trolls aren't what they used to be.
14:55 ive joined #perl6
14:56 ive left #perl6
15:01 * moritz_ even added a hugme function for him
15:01 moritz_ I want Perl 6 NOW!
15:01 moritz_ hurm
15:01 moritz_ that should trigger a hug
15:01 moritz_ not well tested, it seems :-)
15:01 masak moritz_++ # nice idea!
15:02 masak moritz_: might as well add 'when is Perl 6 gonna be released, dammit' as well.
15:04 masak wow, Teratogen goes as far back as 2006 on the channel.
15:04 masak he used to make more sense, at least slightly more.
15:05 nihiliad joined #perl6
15:05 masak rakudo: say ~(my $a)
15:05 p6eval rakudo db0f85: OUTPUT«Any()␤»
15:06 masak moritz_: were you saying this should generate a warning?
15:06 moritz_ masak: I think so... the specs are rather quiet on warnings
15:06 * masak submits rakudobug
15:06 masak Justin Case.
15:06 moritz_ rakudo: say +(my $a)
15:06 p6eval rakudo db0f85: OUTPUT«Use of type object as value in numeric context␤current instr.: 'perl6;Perl6Exception;throw' pc 14812 (src/builtins/Seq.pir:77)␤»
15:07 * moritz_ tries to remove that error altogether
15:08 masak I think it'd merit a warning, but not an error.
15:08 moritz_ the current implementation tries to be very clever
15:08 moritz_ it does a FAIL()
15:08 masak FAIL()? is that related to fail() somehow?
15:08 moritz_ but the coercion to Int on the failure object immediatly throws the exception that's supposed to remain unthrown for now
15:09 moritz_ aye
15:09 masak ok.
15:15 robbb joined #perl6
15:17 * jnthn back from a little stroll
15:17 jnthn The sun was out when I left. It quickly went in when I decided to go for a walk.
15:17 jnthn :-)
15:18 moritz_ :/
15:18 jnthn On the upside, the systemet still had some of the Slovak pivo in stock. \o/
15:19 masak 'the systemet' -- 'the hoi polloi' :)
15:19 jnthn :-P
15:20 masak not saying that it's just commoners who frequent Systemet. just pointing out the double definite markers in both cases.
15:20 jnthn I'll use "the systemka" if it makes your double-definite detector less alarmed. :-)
15:20 masak it does. :)
15:20 masak thanks. :)
15:20 jnthn That'll just trigger your "huh, you took a Swedish word and used a Slovak diminutive form on it" one. :-)
15:20 masak which is perfectly ok.
15:21 masak it's a nice trifecta of languages, too :)
15:21 moritz_ cross HLL-interop should be more widespread anyway
15:21 jnthn :-D
15:21 masak moritz_: oh by the way: http://languagelog.ldc.upenn.edu/nll/?p=881
15:21 masak never really got around to passing on that link until now. :)
15:22 masak I mentioned it during some hackathon breakfast, I think.
15:23 moritz_ you did :-)
15:24 jnthn breakfast?
15:24 jnthn <confused look>
15:25 masak *lol*
15:25 masak I don't know about complete outsiders, but even I can see that the text on the cover isn't "nice" Chinese, like a classic poem or something else to be proud of.
15:25 synth joined #perl6
15:25 moritz_ jnthn: in Copenhagen... you were probably sleeping :-)
15:25 masak he was.
15:28 pugssvn r30177 | moritz++ | [t/spec] unfudge a test for rakudo
15:28 jnthn masak: That blog looks quite interesting generally.
15:28 moritz_ masak: that was a ticket of yours :-)
15:28 masak jnthn: it is. I read it quite a lot. it has many bloggers.
15:28 moritz_ 64002 / 72048
15:29 * jnthn adds it to his "things to read now and then" collection :-)
15:29 masak jnthn: Victor Mair blogs a lot about China and Chinese.
15:29 masak jnthn: the only sad thing about Language Log is that it's quite high-volume. hard for me as a tabs packrat to cope.
15:29 masak moritz_: ok, nice!
15:30 masak oh, and today's autopun: http://typetees.threadless.com/product/623/Haikus_Are_Easy_But_Sometimes
15:31 jnthn lol
15:33 * moritz_ likes http://en.wikipedia.org/wiki/Limerick_(poetry)#Anti-limericks
15:35 masak :)
15:36 masak moritz_: I read those two to my office mate, and he seems to like them. :)
15:37 * masak finally learns about Dixon Lanier Merritt's famous limmerick about the pelican
15:40 wormwood_ joined #perl6
15:40 moritz_ http://www.physics.harvard.edu/academics/undergrad/limericks.html I like those too
15:45 wormwood joined #perl6
15:46 * moritz_ wishes our profs had used such limericks
15:48 pausenclown is there AUTOLOAD in Perl 6_
15:48 pausenclown ?
15:49 moritz_ something similar
15:49 moritz_ see CANDO in... S12? or S14?
15:49 moritz_ but NYI, of course :/
15:49 masak S10.
15:49 masak "Perl 5's C<AUTOLOAD> is being superseded by MMD autoloaders that distinguish declaration from definition, but are not restricted to declaring subs."
15:50 masak S13 also conjecturalizes over an AUTODEF submethod.
15:50 jnthn .oO( no CANDO )
15:50 moritz_ CANNOTDO
15:53 szbalint there is no such thing #perl6 CANNOTDO ;-)
15:54 TimToady yeah, it'd be CAN'TDO
15:54 masak yuck :)
15:54 pausenclown i dont get it. i want a class that catches all method invocations.
15:54 pausenclown how would i use cando then?
15:54 masak pausenclown: have you read S10 yet?
15:55 masak might be a good place to answer that question :)
15:55 pausenclown yes, but i dont grok it
15:55 moritz_ that might be possible with a proxy object in alpha already
15:55 * masak reads it to see if he groks it
15:56 moritz_ has $.proxy handles /.*/ => 'one_method'
15:56 moritz_ or something similar
15:56 masak ooh!
15:56 moritz_ has $.proxy handles (s/^.*/one_method/)
15:56 masak yeah, definitely some possibilities there.
15:57 moritz_ no idea if you get the called method name somehow, though
15:57 masak wonder how that interacts with the CANDO stuff...
15:57 jnthn ooh, now we parse s///...hmm...putting back handles will be fun.
15:58 jnthn If you want super super powers it may be possible to write a method ^dispatch($method_name, $capture) { ... } in the near future too.
15:58 jnthn But then you have to handle *every* method dispatched on the object.
15:58 moritz_ rakudo: my $x = 'foo'; $x ~~ s[(.)(.)] = uc $0; say $x
15:58 p6eval rakudo db0f85: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤current instr.: '!postcircumfix:<[ ]>' pc 10683 (src/builtins/Role.pir:90)␤»
15:59 moritz_ rakudo: my $x = 'foo'; $x ~~ s/(.)(.)/{uc $0}/; say $x
15:59 p6eval rakudo db0f85: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤current instr.: '!postcircumfix:<[ ]>' pc 10683 (src/builtins/Role.pir:90)␤»
15:59 moritz_ rakudo: my $x = 'foo'; $x ~~ s/(.)(.)/3/; say $x
15:59 jnthn moritz_: That's an underlying .subst issue
15:59 p6eval rakudo db0f85: OUTPUT«3o␤»
15:59 jnthn Also, that regex looks... erm. :-)
15:59 moritz_ jnthn: I suspect though - I haven't got it to propagate $/ into the closure
15:59 jnthn moritz_: Yes, that'll be it.
16:00 moritz_ what's wrong with the regex? :-)
16:00 jnthn Nothing. :-)
16:00 moritz_ rakudo: my $x = 'foo'; $x ~~ s[(.)(.)] = 'bar'; say $x
16:00 moritz_ oh
16:00 p6eval rakudo db0f85: OUTPUT«baro␤»
16:01 TimToady it's supposed to set $/ in the scope of the s/// so that it automatically propagates into the closure as its initial default
16:01 TimToady in the scope containing the s///
16:02 masak jnthn: it's an "artistic" regex. you can't complain about it, it's art. :P
16:02 TimToady the default $/ of the closure comes from its OUTER::, not from its CALLER::
16:03 masak which makes $/... lexical rather than dynamical?
16:03 masak did I get that right?
16:04 * moritz_ tried pir::store_dynamic_lex__vSP('$/', $match-object);  to no avail
16:04 TimToady until the closure does a match of its own, $0 will refer to your program's $/
16:05 moritz_ TimToady: is that valid for both the s/// and the method form?
16:05 TimToady I believe so
16:05 TimToady So glaube ich...  :)
16:05 moritz_ :-)
16:06 * jnthn hopes so, since s/a/b/ just desugars to .subst(/a/, { b }) at the moment :-)
16:06 jnthn Well, not on $_ but you get the idea. :-)
16:07 TimToady so subst sets its CALLER::<$/>, which is the OUTER::<$/> to the closure
16:08 lue o hello sun!
16:08 phenny lue: 12:20Z <colomon> tell lue Pretty sure water is my strength -- I grew up on a major international shipping channel.  Given my hay fever, I suspect air is my weakness.
16:08 masak lue! \o/
16:08 lue ha ha ha :)
16:09 TimToady the trick is to set up the binding right such that it breaks the default association of CALLER::<$/> with *its* OUTER::<$/>, while retaining the relationship of the closure's $/ with its OUTER::<$/>
16:10 TimToady so they can't all be aliases to the same container, or $/ is effectively a global
16:10 masak oh right.
16:11 TimToady otoh, if you set $/ in the outermost level, and never match internally, all of those somehow find the outermost $/ as their default values
16:11 moritz_ you lost me here. But that's ok, I'll just point pmichaud to this discussion when he asks about s/// and $/ :-)
16:12 TimToady that's the semantics we want; I don't profess to know the exact details of how a $/ defaults or delegates to its outer $/
16:12 lue masak: [backlogging] glad I warmed your heart. Even better, I warmed the heart of a bot :)
16:12 * masak bobs happily in the air :>
16:13 TimToady it seems to me that the defaulting can't be a mere binding to OUTER::<$/>, or anything we do when we match will either set too many $/s or too few
16:14 moritz_ I always had this mental model that scopes with no matches don't matter to $/
16:15 TimToady but we do know that the user wants $/ to point to their OUTER::<$/> until the first match, and then be its own $/, including for any subsequent closures
16:15 moritz_ so 'a' ~~ /./; { { { say $/ } } }  really just involves one $/
16:15 pausenclown rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token TOP { {*} foo {*} } }; G.parse('foo', action => A.new);
16:15 p6eval rakudo db0f85:  ( no output )
16:15 TimToady hmm, I guess it's related to the error you get when you say
16:16 TimToady std: my $x; { $x; my $x }
16:16 p6eval std 30177: OUTPUT«[31m===[0mSORRY![31m===[0m␤Lexical symbol '$x' is already bound to an outer symbol (see line 1);␤  the implicit outer binding at line 1 must be rewritten as OUTER::<$x>␤  before you can unambiguously declare a new '$x' in this scope at /tmp/WhujoKgDIN line 1:␤------> [32mmy
16:16 p6eval ..$x…
16:16 TimToady only in this case, instead of complaining, it silently replaces the meaning at match time
16:16 moritz_ rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token TOP { foo } }; G.parse('Foo', :actions(A.new))
16:16 p6eval rakudo db0f85:  ( no output )
16:17 masak that a bug?
16:17 masak prolly just NYI...
16:17 pausenclown yup
16:17 moritz_ rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token TOP { foo } }; say G.parse('Foo', :actions(A.new))
16:17 p6eval rakudo db0f85: OUTPUT«␤»
16:17 lue a good ol' 501
16:18 TimToady method TOP is unlikely to know how to implement itself correctly if it is not derived from Cursor (in STD-think)
16:19 TimToady and grammar makes sure it derives from Cursor, directly or indirectly
16:20 masak rakudo: say Cursor.WHAT
16:20 p6eval rakudo db0f85: OUTPUT«Could not find non-existent sub &Cursor␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
16:21 ive joined #perl6
16:21 masak std: say Cursor.WHAT
16:21 p6eval std 30177: OUTPUT«Undeclared name:␤      'Cursor' used at line 1␤ok 00:01 105m␤»
16:21 masak ENOTCIRCULARENOUGH
16:22 lue ENOGUI :)
16:22 masak lue: no, this is 'Cursor' in another sense. :)
16:22 masak lue: it has to do with parsing.
16:23 masak lue: basically, the Cursor keeps track of information as you go about parsing. PGE, the old parser doesn't use it, but STD.pm and the new nqp-rx do.
16:25 diakopter lerc
16:25 masak diakopter: fnuw
16:29 lue rakudo: role A {}; multi sub infix:<==>(A $a, A $b) {}; 42 == 42
16:29 p6eval rakudo db0f85:  ( no output )
16:30 lue rakudo: multi sub infix:<op> ($l,$r) { $l ~ $r }; say( 1 op 2 )
16:30 p6eval rakudo db0f85: OUTPUT«12␤»
16:31 lue rakudo: sub infix:<+> ($l,$r) { $l ~ $r }; say( 1 + 2 )
16:31 p6eval rakudo db0f85: OUTPUT«12␤»
16:31 lue rakudo: multi sub infix:<+> ($l,$r) { $l ~ $r }; say( 1 + 2 )
16:31 p6eval rakudo db0f85: OUTPUT«12␤»
16:33 robbb left #perl6
16:35 TimToady masak: I'd make it out to be more like a reference to NLP: "In that case, can Perl 6 even do sentence structure analysis?"
16:36 wormwood_ joined #perl6
16:36 TimToady since the Japanese do have "parse" as a technical term, and would probably have used it instead of the 構文解析, I suspect, if they meant parsing in the C.S. sense.
16:36 TimToady (just guessing, of course)
16:36 molaf joined #perl6
16:37 masak TimToady: I'll run that by @uasi.
16:38 masak (multi-medial communication)++
16:40 * masak .oO( 'parsing' in the C.S. Lewis sense... )
16:40 wolf2k_ubuntu joined #perl6
16:41 wormwood joined #perl6
16:41 * masak .oO( Parslan )
16:41 TimToady you think too much
16:41 masak :D
16:42 lue rakudo: role A { has $.v };multi sub infix:<==>(A $a, A $b) { $a.v == $b.v }; (A.new(v => 3) == A.new(v => 3))
16:43 p6eval rakudo db0f85:  ( no output )
16:43 lue so it works here (no error), but on my (potentially outdated) copy of rakudo fails it...
16:43 moritz_ then update your copy of rakudo
16:43 moritz_ p6eval is not always reliable
16:44 masak works here.
16:45 masak (and it yelds True)
16:45 lue OK, so mine is out of date :)
16:45 TimToady :input<> should probably say "<> doesn't mean null string there; please use [] if you mean an empty list"
16:45 TimToady or maybe ()
16:46 masak why doesn't it mean null string?
16:46 lue rakudo: role A { has $.v };multi sub infix:<==>(A $a, A $b) { $a.v == $b.v }; !(A.new(v => 3) == A.new(v => w))
16:46 p6eval rakudo db0f85: OUTPUT«Could not find non-existent sub &w␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
16:46 lue rakudo: role A { has $.v };multi sub infix:<==>(A $a, A $b) { $a.v == $b.v }; !(A.new(v => 3) == A.new(v => 2))
16:46 p6eval rakudo db0f85:  ( no output )
16:46 TimToady because it means Nil
16:46 masak oh, ok.
16:46 TimToady rakudo: say < >.elems
16:46 p6eval rakudo db0f85: OUTPUT«Method 'elems' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
16:47 TimToady hmm
16:47 moritz_ rakudo: say < >.perl
16:47 p6eval rakudo db0f85: OUTPUT«""␤»
16:47 * masak submits rakudobug
16:47 TimToady looks to me like rakudo is making an unwarranted assumption there
16:47 TimToady rakudo: say qw//.perl
16:47 p6eval rakudo db0f85: OUTPUT«Confused at line 11, near "say qw//.p"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:47 masak TimToady: why wouldn't that warning fall under the "we know what you're trying to do, but for some reason the language is structured differently, please do that instead" category?
16:48 PerlJam masak++ I was just about to ask that only less eloquently
16:48 TimToady thing is, :input<> desugars to input => <>
16:48 masak aye.
16:48 TimToady so nearly warrants the stronger message
16:49 masak I mean, how come <> doesn't just mean empty string?
16:49 TimToady but even if we didn't intercept <> for p5-think, it's still usually a braino on the null string end of things
16:49 lue closed #66552! (it had priority (5/0) as well)
16:49 masak it makes perfect sense in the context of :foo<>
16:49 masak lue++
16:50 TimToady rakudo: say ' '.comb.elems
16:50 p6eval rakudo db0f85: OUTPUT«1␤»
16:50 masak also bug?
16:50 moritz_ don't think so
16:50 TimToady rakudo: say ' '.words.elems
16:50 p6eval rakudo db0f85: OUTPUT«0␤»
16:50 TimToady that's why
16:50 masak right.
16:50 TimToady there are 0 words there
16:50 moritz_ ' ' has one char, after all
16:50 masak nod.
16:50 masak no bug.
16:51 dalek rakudo: f20f1e5 | moritz++ | src/core/Grammar.pm:
16:51 dalek rakudo: die on parse($str, :action()), which should be :action*s*
16:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f20f1e5c5109d404a748aa8f766f6b05404a74fc
16:51 dalek rakudo: 4c56ade | moritz++ | src/cheats/parrot/Protoobject.pir:
16:51 dalek rakudo: don't fail on converting type objects to Num or Int; I couldn't make it emit a warning, but I think just returning 0 is still more correct than a hard failure
16:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4c56ade5cd20e86e18877719883e0fc88be4beac
16:51 moritz_ masak: something you can report to your fellow twitterer :-)
16:51 TimToady so since <...> uses .words, basically, one with only whitespace should return (), not ('')
16:51 masak moritz_: thanks. I will.
16:52 TimToady which is Nil, not the null string
16:52 moritz_ except that :words does no magic literal parsing
16:52 moritz_ .words
16:52 lue rakudo: say `hello'
16:52 p6eval rakudo db0f85: OUTPUT«Confused at line 11, near "say `hello"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:53 moritz_ std: say `hello'
16:53 p6eval std 30177: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/7Dud5k6Ip1 line 1:␤------> [32msay [33m⏏[31m`hello'[0m␤    expecting any of:␤      bracketed infix␤  infix or meta-infix␤      statement modifier loop␤Other potential difficulties:␤  Unsupported use of bare 'say'; in Perl 6
16:53 p6eval ..please use .say i…
16:53 TimToady but I'd still probably give the p6-oriented message rather than the p5-oriented one on :input<>, since that's unlikely to be a p5-thinko
16:53 masak nod.
16:53 moritz_ +1
16:53 TimToady unfortunately my STD in little bits on the floor of my directory right now :)
16:54 lue rakudo: say `I should work! I work in LaTeX!'
16:54 p6eval rakudo db0f85: OUTPUT«Confused at line 11, near "say `I sho"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:54 TimToady because I'm in the middle of refactoring backtracking controls not to use exceptions
16:54 masak TimToady: that's why git branches are so nice. :)
16:54 holli joined #perl6
16:54 masak rakudo: say <>.perl
16:54 p6eval rakudo db0f85: OUTPUT«Unsupported use of <>; in Perl 6 please use lines() or () at line 11, near "<>.perl"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:54 lue they were hand-grown by Linus :)
16:55 masak std: say < >.perl
16:55 p6eval std 30177: OUTPUT«ok 00:01 105m␤»
16:57 PerlJam std: say < >.frob
16:57 p6eval std 30177: OUTPUT«ok 00:01 107m␤»
16:57 TimToady std doesn't care about late binding :)
16:59 lue afk (but not for that long)
16:59 holli rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token TOP { {*} foo {*} } }; G.parse('foo', actions => A.new);
16:59 p6eval rakudo db0f85: OUTPUT«TOP␤»
16:59 moritz_ btw {*} is deprecated
16:59 holli oh. so how can i get notified when a rule is entered?
17:00 PerlJam rakudo still has {*} doesn't it?
17:00 moritz_ holli: by explicitly adding a closure to the regex
17:00 TimToady or calling an exlicit subrule there
17:00 TimToady <iamhere>
17:00 moritz_ rakudo: 'a' ~~ / { say "foo" } (.) /; say $0
17:00 p6eval rakudo db0f85: OUTPUT«foo␤a␤»
17:00 TimToady exlicit sounds bad...
17:00 moritz_ <imahere> is also explicit, just by name :-)
17:02 cosimo joined #perl6
17:07 holli what does such a regex closure know about its environment_
17:07 holli ?
17:08 moritz_ it knows $/ and its lexical environment
17:11 stephenlb joined #perl6
17:12 pausenclown too bad, i was hoping i could access the parse tree somehow
17:13 masak pausenclown: that's essentially what $/ is, though.
17:18 pausenclown rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token HERE { { say $/ }; token TOP { { f<HERE>oo } }; G.parse('foo', actions => A.new);
17:18 p6eval rakudo db0f85: OUTPUT«Malformed regex at line 11, near "HERE { { s"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:19 pausenclown rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token HERE { { say $/ } }; token TOP { { f<HERE>oo } }; G.parse('foo', actions => A.new);
17:19 p6eval rakudo db0f85: 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)␤»
17:19 moritz_ { f<HERE>oo } is not a valid closure
17:20 moritz_ if you mean a a normal regex, don't use { { but just {
17:21 pausenclown class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token HERE { { say $/ } }; token TOP { f <HERE> oo }; G.parse('foo', actions => A.new);
17:22 pausenclown rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token HERE { { say $/ } }; token TOP { f <HERE> oo }; G.parse('foo', actions => A.new);
17:22 p6eval rakudo db0f85: 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)␤»
17:22 moritz_ you haven't closed the opening { of the grammar :-)
17:23 pausenclown <- decides to use editor
17:23 moritz_ I know that feeling :-)
17:24 pausenclown rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token HERE { { say $/ } }; token TOP { f <HERE> oo }; }; G.parse('foo', actions => A.new);
17:24 p6eval rakudo db0f85: OUTPUT«␤TOP␤»
17:24 pausenclown rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token HERE { { say "!", $/, "!" } }; token TOP { f <HERE> oo }; }; G.parse('foo', actions => A.new);
17:24 p6eval rakudo db0f85: OUTPUT«!!␤TOP␤»
17:24 moritz_ that's because token HERE hasn't matched anything yet
17:24 pausenclown mmh.
17:25 moritz_ and it only sees $/ of its own match, and that of its already executed submatches
17:25 moritz_ rakudo: grammar G { token HERE { (.) { say "!$/! }; token TOP { f <HERE> oo }; }; G.parse('faoo');
17:25 pausenclown rakudo: class A { method TOP ($/,$w?) { say "TOP" } }; grammar G { token HERE { { say "!", $/, "!" } }; token F { f }; token TOP { <F> <HERE> oo }; }; G.parse('foo', actions => A.new);
17:26 p6eval rakudo db0f85: 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)␤»
17:26 p6eval rakudo db0f85: OUTPUT«!!␤TOP␤»
17:26 moritz_ rakudo: grammar G { token HERE { (.) { say "!$/!" }; token TOP { f <HERE> oo }; }; G.parse('faoo');
17:26 p6eval rakudo db0f85: OUTPUT«Malformed regex at line 11, near "HERE { (.)"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:26 moritz_ rakudo: grammar G { token HERE { (.) { say "!$/!" } }; token TOP { f <HERE> oo }; }; G.parse('faoo');
17:26 p6eval rakudo db0f85: OUTPUT«!a!␤»
17:27 moritz_ so now token HERE has matched something
17:27 moritz_ and it has access to that something
17:27 masak TimToady: http://twitter.com/uasi/status/10935164597
17:27 moritz_ and if it's not a literal, but actually a rule, it has also access to its subtree
17:28 PerlJam colomon: btw, congrats on the grant.
17:31 pyrimidine joined #perl6
17:32 * moritz_ seem to write [ŧ/spec] quite often these days
17:33 pugssvn r30178 | moritz++ | [t/spec] various unfudges for rakudo
17:33 moritz_ luckily I could git commit --amend
17:33 pyrimidine does anyone know if this one has been reported:
17:33 pyrimidine rakudo: if 0 || 0 || 1 {say 'foo' } else {say 'bar'}
17:33 p6eval rakudo db0f85: OUTPUT«bar␤»
17:34 pyrimidine alpha: if 0 || 0 || 1 {say 'foo' } else {say 'bar'}
17:34 p6eval alpha 30e0ed: OUTPUT«foo␤»
17:34 colomon PerlJam: Thank you!
17:34 PerlJam colomon: now get to work!  ;)
17:36 masak pyrimidine: don't think so. want to report it?
17:36 masak rakudo: say 0 || 0 || 1
17:36 p6eval rakudo db0f85: OUTPUT«0␤»
17:36 masak rakudo: say 0 || 1
17:36 p6eval rakudo db0f85: OUTPUT«1␤»
17:36 masak o.O
17:37 pyrimidine masak: yes, I'll do that, using that last bit.
17:37 PerlJam rakudo: say 0 || 0 || 1
17:37 p6eval rakudo db0f85: OUTPUT«0␤»
17:37 masak pyrimidine++
17:37 PerlJam rakudo: say 0 || 0 || 0 || 1
17:37 p6eval rakudo db0f85: OUTPUT«0␤»
17:37 PerlJam rakudo: say 0 || 0 || 0 || 0 || 1
17:37 pyrimidine alpha: say 0 || 0 || 1;
17:37 p6eval rakudo db0f85: OUTPUT«0␤»
17:37 p6eval alpha 30e0ed: OUTPUT«1␤»
17:43 masak uncanny :) http://twitter.com/JoL1hAHN/status/10929074378
17:44 TimToady they obviously should have added more stuff that is impossible to backport :)
17:45 masak :D
17:47 PerlJam TimToady: it's a good thing you had that foresight
17:49 masak TimToady: I told the gentletwitterer that :P
17:49 cosimo_ joined #perl6
17:53 pmichaud good afternoon, #perl6
17:53 phenny pmichaud: 11:11Z <moritz_> tell pmichaud please hand out an RT admin bit to vamp (RT nick vamped), I've walked him through writing tests and closing tickets
17:54 pyrimidine masak: bug submitted.
17:54 masak pyrimidine: \o/
17:54 masak pmichaud: good afternoon.
17:56 lue (fun fact: the opposite of lue is dan)
17:57 pmichaud phenny: tell moritz_ rt admin bit for vamp added.
17:57 phenny pmichaud: I'll pass that on when moritz_ is around.
17:57 moritz_ thanks
17:57 phenny moritz_: 17:57Z <pmichaud> tell moritz_ rt admin bit for vamp added.
17:58 jnthn o/ pmichaud
17:59 pmichaud o/ jnthn
17:59 pmichaud we're now in the fourth hospital in 22 days.  :-)
17:59 moritz_ :/
17:59 * moritz_ hopes Paula gets well soon
18:00 jnthn pmichaud: Whoa.
18:00 pmichaud yes, me too.  I think we've got this one pretty well narrowed, though -- I've seen 250% improvement in the last 24 hours.
18:00 jnthn What moritz_ said.
18:00 pmichaud actually, in the last 12 hrs
18:00 * jnthn hopes it continues that way.
18:01 [particle] pmichaud: i hope she's 1000% better soon!
18:01 pmichaud I think it will -- think we've finally located the source of the various complications since surgery two weeks ago
18:02 pmichaud will likely know for sure tomorrow :)
18:02 PerlJam As long as they didn't leave some forceps inside her or something.
18:03 pmichaud if they did, it didn't show up on the ct scan this morning :)
18:03 lue ō\ phew :)
18:03 PerlJam (If I ever need major surgery I hope I have someone with some critical thinking skills watching the surgery and asking questions)
18:04 pmichaud PerlJam: that's helpful, yes, but I think it's more useful/important to have a really good surgeon.  :)
18:04 lue (If I ever need a blood transfusion, I would prefer synthetic blood (I don't care about the fact you heat-treat things))
18:04 lue (I has hemophilia B)
18:04 Psyche^ joined #perl6
18:05 lue rakudo: say pi("wtf")
18:05 p6eval rakudo db0f85: OUTPUT«Could not find non-existent sub &pi␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
18:05 lue rakudo: say pi
18:05 p6eval rakudo db0f85: OUTPUT«3.14159265358979␤»
18:05 pmichaud rakudo:  say pi or cake
18:05 p6eval rakudo db0f85: OUTPUT«3.14159265358979␤»
18:05 PerlJam pmichaud: surgeons probably follow the general population when it comes to how good they are.  I expect that a really good one will be out a couple of standard deviations.
18:05 TimToady std say pi or cake
18:05 TimToady std: say pi or cake
18:06 p6eval std 30178: OUTPUT«Undeclared routine:␤   'cake' used at line 1␤ok 00:01 108m␤»
18:06 TimToady so far I've had 6 units of other people's blood put into me...
18:07 [particle] i never thought to count that.
18:07 arnsholt That reminds me. I need to call the vampire people tomorrow
18:07 [particle] now i don't know how many multitudes i contain
18:07 lue rakudo: say e("twf")
18:07 p6eval rakudo db0f85: OUTPUT«Could not find non-existent sub &e␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
18:07 lue yes! pi and e no longer take arguments!
18:07 * PerlJam has only ever given blood; never received
18:08 lue std: say cake == True
18:08 p6eval std 30178: OUTPUT«[31m===[0mSORRY![31m===[0m␤Preceding context expects a term, but found infix == instead at /tmp/mR07VdGXKe line 1:␤------> [32msay cake [33m⏏[31m== True[0m␤FAILED 00:01 106m␤»
18:08 lue (I just found out Konversation supports mIRC color, but not ANSI)
18:09 lue 0,1Sorry for being a nuiscance with color :)
18:09 pmichaud /kick lue "No Problem!"
18:09 lue AAAAAAAAAAAAH!
18:09 lue left #perl6
18:09 lue joined #perl6
18:09 lue :(
18:10 lue :)
18:10 arnsholt Heh. #perl6 is so nice even the /kicks are self-enforced ^^
18:10 lue rakudo: my $cake=(True|False); say $cake==True
18:10 * PerlJam wonders if virtual bans work as well as virtual kicks
18:10 p6eval rakudo db0f85: OUTPUT«any(Bool::True, Bool::False)␤»
18:10 pmichaud colors are okay, just please don't SHOUT EVERYTHING AT US  or TrY To UsE StUdLy CaPs
18:11 moritz_ btw, 28509 passing and 1 failing test
18:11 lue rakudo: my $cake=(True|False); if True {$cake=False;};elsif False {$cake=True;}; say $cake
18:12 p6eval rakudo db0f85: OUTPUT«Confused at line 11, near "elsif Fals"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
18:12 lue rakudo: my $cake=(True|False); if True {$cake=False;} elsif False {$cake=True;}; say $cake
18:12 p6eval rakudo db0f85: OUTPUT«0␤»
18:12 lue It's a lie!
18:12 payload joined #perl6
18:12 jnthn moritz_: If only we could get a bunch of S05-mass/*.t to run again we probably could cross 30,000 :-)
18:13 pmichaud ...and make the test suite slower again :-|
18:14 jnthn True. :-/
18:14 jnthn We maybe need to differentiate make alltest/stresstest or something and make spectest
18:14 jnthn And make spectest doesn't run most of the trig and S05-mass
18:14 jnthn Or something.
18:14 jnthn :-)
18:14 lue hm... #56366 has no test, but the stated problems don't exist. I would write a test, but I don't know all of the problem terms (just pi, e, and rand)
18:15 lue OOPS don't exist *anymore*
18:16 moritz_ lue: you can test eval_dies_ok 'e("wtf")'
18:16 moritz_ and also test the underlying problem
18:16 moritz_ sub a () {  } # zero-arg sub;  dies_ok { a($x) };
18:17 moritz_ where you ned to define $x first, of course
18:17 moritz_ or just pass a literal
18:17 lue Yeah, I could _start_ the test, but I certainly won't know all the terms that would be affected.
18:17 lue Where would I put it? I'm guessing somewhere in... S02!
18:17 moritz_ no test suite can ever be all-encompassing
18:17 moritz_ subroutine calling is S06
18:17 moritz_ literals are S02
18:17 moritz_ or S32
18:18 lue .oO(darn, off by 4)
18:19 lue It seems a best fit in S06-other...
18:23 hercynium joined #perl6
18:24 SmokeMachine joined #perl6
18:25 molaf joined #perl6
18:27 ShaneC joined #perl6
18:30 cdarroch joined #perl6
18:30 cdarroch joined #perl6
18:30 lue hello?
18:32 moritz_ hello.
18:32 lue oi! o/
18:33 m6locks biggups to y'all
18:33 hanekomu joined #perl6
18:36 lue I plan on putting the test it S06-other/misc.t , considering it's not a big subject :)
18:36 moritz_ then JDFI
18:36 lue JDFI? I am not versed well in internet acronyms :)
18:37 moritz_ Just Ducking Foo it
18:37 moritz_ angram of Just Fucking Do It
18:37 moritz_ but a bit nicer in tone
18:42 * masak just sent off an airily philosophical post to p6l :)
18:42 masak moritz_: JDFI originated as a typo in one of my blog posts :P
18:43 masak moritz_: http://irclog.perlgeek.de/perl6/2009-03-06#i_961614 :)
18:43 moritz_ masak: it's actually based on a wrong assumption
18:43 moritz_ your p6l post
18:43 masak oh, it arrived already?
18:43 moritz_ private attributes *are* private in rakudo
18:43 moritz_ erm, in Perl 6
18:43 lue ISLS this acronym didn't mean InterStellar Languages Standard [ :) ]
18:43 masak clearly not in Rakudo :P
18:43 moritz_ just rakudo fails to protect them properly
18:43 jnthn masak: Rakudo gets it wrong there.
18:43 masak oh!
18:44 masak well, color me reassured.
18:44 jnthn :-)
18:44 masak that was fast!
18:44 masak Instant Reassurance(TM)
18:44 moritz_ there are no protected attributes though
18:44 jnthn Shame it's not an instance fix.
18:44 lue 4 masak 1 This is the color of a reassured masak
18:44 moritz_ I'll write a short reply to p6l
18:44 masak thanks.
18:45 masak heh, it took an hour to write that post... :)
18:45 masak I should have asked here first.
18:45 jnthn Aww!
18:45 * jnthn will read it in full later, just out of curiosity.
18:45 lue masak: it technically took ~ 1e9999999999999999 instants (probably more) :)
18:45 masak lue: I commend you on your accuracy, sir.
18:47 lue The shortest amount of time you could possibly play a game of Deal or no Deal is 26 instants (and then some for the celebration/mourning)
18:48 masak lue: I'd rather see a 26-instant version of Mornington Crescent.
18:48 ive joined #perl6
18:51 lue not that game! I don't know how to play it /o\
18:51 moritz_ lue: but you lost it.
18:51 Sarten-X joined #perl6
18:51 jnthn masak: Good question on protected. ;-)
18:52 * jnthn -> nomming nom
18:52 lue funfact: While it took 7 million years to figure out The Answer, each operation took 42 instants.
18:52 lue Deep Thought was programmed in Perl 6.1
18:52 lue jnthn o/
18:53 moritz_ perl 6 doesn't have "protected" attributes because it lowers the barrier for mis-use
18:54 masak would it be possible to emulate them?
18:55 lue jnthn --mode="simulate" --target="rakudo" --WHAT="\"protected\" attributes"
18:55 lue (wait a minute, it's coming...)
18:57 lue jnthn --changeWHAT --WHAT="emulated \"protected\" attributes" #gah! my mistake
19:00 lue what's a quick way to run one test file? (not make)
19:00 moritz_ masak: no idea. You can set up trusts
19:00 moritz_ make t/spec/$one/$test.t
19:00 masak moritz_: but you can't trust unborn children.
19:01 masak um.
19:01 masak that came out wrong :P
19:01 lue o rly?
19:01 moritz_ if you don't like make, you need to run fudge and perl6 manually
19:01 moritz_ masak: I know what you mean...
19:01 masak :)
19:01 moritz_ masak: if you can do trusts with 'where'-blocks, you can
19:01 lue make always cops out in the middle of the test :(
19:01 masak moritz_: ooh.
19:02 moritz_ trust Any $class where { $class ~~ $?CLASS };
19:02 masak TimToady: can we do trusts with 'where' blocks? :)
19:02 moritz_ lue: then you need to run ./perl6 t/spec/path/file.rakudo or .t, depending on whether it contains fudges
19:02 pausenclown if i have token not_a { <-[a]> }; and token not_b { <-[b]> };
19:03 IllvilJa Hello folks! o/
19:03 pausenclown how to i implement token neither_a_nor_b ?
19:03 masak IllvilJa! \o/
19:03 sjohnson hi
19:03 spinclad .oO( 'parsing' in the C.S. Lewis sense... )
19:04 spinclad .oO( Perlandra )
19:04 pmichaud pausenclown: token neither { <!a> <!b> }
19:04 IllvilJa Is it just my build environment that is broken or has rakudo (as pulled from git) started to take a LOT longer to build?
19:04 moritz_ it does take longer
19:04 moritz_ and it takes more memory
19:04 pmichaud pausenclown: oh, wait
19:05 pmichaud you want   token neither { <-[ab]> }
19:05 masak IllvilJa: you might want to start limiting the memory you give to the rakudo build. I have, and it helps.
19:05 lue >./perl6 t/spec/S06-other/misc.t # you has it not
19:05 lue Confused at line 11, near "eval_dies_"
19:05 IllvilJa moritz_: Um... is that build time+ memory usage increase by an order of magnitude? Just curious...
19:05 pausenclown pmichaud, thanks. but i want it to be a combination of 2 tokens
19:06 IllvilJa masak: Where do you specify that limit? On the OS level or in some flag to some make/configure script or something else?
19:06 masak IllvilJa: ulimit -v 800000
19:06 pausenclown like token ab { <-[<a>]>-[<b>]> } }; but that doesnt parse
19:06 masak IllvilJa: where '800000' is up to you to choose.
19:07 pmichaud pausenclown: then    token neither { <-a-b> }
19:07 moritz_ IllvilJa: depends on what you compare it to
19:07 pmichaud where a and b are tokens
19:08 IllvilJa moritz_: um... with two weeks ago?  It took a couple of hours at that time... now it just keeps running over a day and still counting until killed.
19:08 pausenclown rakudo: grammar G { token TOP { <ab>+ }; token a { <-[ a ]> }; token b { <-[ b ]> }; token ab { <-a-b> } }; say G.parse("abc");
19:08 p6eval rakudo db0f85: OUTPUT«␤»
19:08 pausenclown shouldnt that say "c"
19:08 pausenclown ?
19:08 pmichaud pausenclown: well, your token <a>  is really being defined as "everything but 'a'"
19:08 lue bah, what could be cause my error? i don't wish to upload a broken test file :(
19:09 pmichaud pausenclown: and it looks like you're doing lots of negations in weird places
19:09 pausenclown all i want is to add a value to an existing negated char class
19:10 pmichaud token ab { <!a> <!b> . }
19:10 IllvilJa masak: I find it a bit strange that imposing a memory limit speed things up.  My naive expectation would be that it would cause the build to prematurely abort saying "Onoz, I otof RAM, I got PWND!!" or so...
19:10 moritz_ IllvilJa: it's strange, it's probably a parrot mis-feature
19:11 pmichaud except in this case it's weird because <!a>  really means "match an 'a'
19:11 masak IllvilJa: what moritz_ said. all I know is it seems to work.
19:11 pmichaud becase the "token 'a'" is already a negated rule
19:11 IllvilJa Unless the build actually is intelligent and behaves like "Oops, reaching memory limit... better backtrack and retry in a more well behaved way".
19:11 lue (the memory limit didn't work for me :( still took forever )
19:11 lue (of course, considering my computer...)
19:12 pausenclown rakudo: grammar G { token TOP { <ab>+ }; token a { <-[ a ]> }; token b { <-[ b ]> }; token ab { <!a> <!b> } }; say G.parse("abc");
19:12 IllvilJa You never know with modern OS, modern programming languages and modern CPUs... there is a LOT of cleverness wreaking havoc behind the scenes :-).
19:12 p6eval rakudo db0f85: OUTPUT«␤»
19:12 pmichaud token not_a { <-[a]> };  token not_b { <-[b]> };   token not_ab { <?not_a> <?not_b> . }
19:12 pausenclown nope, pmichaud. doesnt work
19:12 moritz_ IllvilJa: it does: it runs the GC more thoroughly when it can't allocate new memory
19:12 moritz_ IllvilJa: which is much faster than using swap space
19:12 IllvilJa lue: you go a point.  The machine I run it on is my web server, which is a laptop from ca 2001 or 2002 :-).
19:13 moritz_ std: multi token foo { }
19:13 lue my comp is a Powerbook G3 Pismo :D
19:13 p6eval std 30178: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/lo20xqviyj line 1:␤------> [32mmulti token foo { [33m⏏[31m}[0m␤FAILED 00:01 107m␤»
19:13 moritz_ std: multi token foo { a }
19:13 p6eval std 30178: OUTPUT«ok 00:01 106m␤»
19:14 IllvilJa moritz_: that might explain why 1.) I got a high load considering the 'uptime' command while the CPU fan is idle and the CPU temperature is reported to be 50 degrees C.
19:14 IllvilJa s/the CPU/2.) the CPU/
19:15 * IllvilJa wonders if perl6 still uses the good old perl5 substitution syntax of s/foo/bar/...
19:15 masak IllvilJa: today is your lucky day, it does.
19:15 moritz_ rakudo: given 'foobar' { s/o/u/; .say }
19:15 p6eval rakudo db0f85: OUTPUT«foobar␤»
19:15 masak IllvilJa: but there's also $var ~~ s[pattern] = 'new substring';
19:15 moritz_ that... didn't work out
19:16 * masak submits rakudobug
19:16 moritz_ rakudo: my $x =  'foobar';  $x ~~ s/o/u/; $x.say
19:16 p6eval rakudo db0f85: OUTPUT«fuobar␤»
19:16 lue can I nopaste the test file to see if it's my problem or not?
19:16 moritz_ rakudo: my $x =  'foobar';  $x ~~ s:g/o/u/; $x.say
19:16 moritz_ lue: sure
19:16 p6eval rakudo db0f85: OUTPUT«Confused at line 11, near "$x ~~ s:g/"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:16 IllvilJa masak: trying to determine the politically correct way here to correct previous mistypes in the chat...
19:16 lue (I really want to close #56366)
19:16 IllvilJa But s/// still seem to be ok (rakudobug or not...)
19:16 masak IllvilJa: :) TimToady put me in place the other day, so you're probably right to do so :P
19:17 jnthn moritz_: s/a/b/; operating on $_ - not quite sure how that works but I suspect it's Sink context.
19:17 jnthn unless...
19:18 moritz_ jnthn: nope; s/// *always* works on $_
19:18 moritz_ jnthn: and smart-match sets $_ to the LHS locally
19:18 IllvilJa But masak + moritz_, thanks for your hints on limiting the memory usage for parrot.  I assume the future will provide a more elegant way to do this (like telling parrot more directly how much memory to use, by the aid of environment vars.  Hm, start to resemble java and it's VM now...)
19:18 jnthn moritz_: At the moment I had it as smart-matching is what triggers the substitution
19:18 jnthn But maybe that's wrong
19:18 jnthn Feel free to patch it as you see fit.
19:19 moritz_ I'll see if I can manage that
19:19 jnthn I was kinda feeling my way around for a way to make it at least somewhat work. :-)
19:20 lue (nopaste is broken)  http://gist.github.com/341539 is the offending file
19:20 lue (S06-other/misc.t)
19:20 hanekomu joined #perl6
19:21 moritz_ you don't define $a anywhere
19:22 moritz_ as the error message should clearly tell you
19:22 lue the error is: Confused at line 11, near "eval_dies_"
19:22 moritz_ lue: and you forgot the line-ending ;
19:23 lue (although that is a good point)
19:24 lue yes!
19:25 moritz_ lue: if rakudo's parse errors are not good enough, you can use STD.pm to usually get much better error messages
19:25 lue I don't (think I) have it.
19:26 moritz_ then go get and build it
19:26 moritz_ it's in the pugs repo, in src/perl6/
19:26 wormwood_ joined #perl6
19:26 moritz_ it reported first the missing declared variable, then
19:26 pugssvn r30179 | lue++ | [t/spec] tests for bug mentioned in RT #56366
19:26 moritz_ Two terms in a row (previous line missing its semicolon?) at ... line 14
19:28 masak nom &
19:28 iblechbot joined #perl6
19:29 rgrau` joined #perl6
19:29 lue nom away, masak.
19:29 lue (closed #56366)
19:30 moritz_ lue: rakudo doesn't run the test yet
19:30 moritz_ lue: in future, please don't tickets until rakudo passes and *runs* the tests for the ticket
19:30 lue yes it does, I just ran it.
19:30 moritz_ but it doesn't by default, on 'make test' or 'make spectest'
19:31 lue gah! I don't know that step! :(
19:31 moritz_ lue: you have to tell a Rakudo commiter to add the file to t/spectest.data, or submit a rakudo patch
19:32 hicx174 joined #perl6
19:32 lue should I go add it, or is someone on it already?
19:33 PerlJam lue: you should do it so that it sticks in your memory
19:33 dalek rakudo: 4a8954f | moritz++ | t/spectest.data:
19:33 dalek rakudo: run a new spectest file by lue++
19:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4a8954f2866497d74370ffd3e9b8cd3d59b9f73a
19:33 PerlJam but moritz_ beat you to it.
19:33 lue thank you, I'll remember next time!
19:37 pmichaud afk for a while
19:37 lue afk as well
19:38 spinclad std: grammar G { token TOP { <neither>+ }; token not_a { <-[a]> }; token not_b { <-[b]> }; token neither { <not_a> & <not_b> } }; say G.parse("abc");  # try juncting them together?  ## still backlogging but converging on 'now'
19:38 p6eval std 30178: OUTPUT«ok 00:01 109m␤»
19:38 spinclad rakudo: grammar G { token TOP { <neither>+ }; token not_a { <-[a]> }; token not_b { <-[b]> }; token neither { <not_a> & <not_b> } }; say G.parse("abc");  # try juncting them together?  ## still backlogging but converging on 'now'
19:38 p6eval rakudo db0f85: OUTPUT«Malformed regex at line 11, near "neither { "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:41 spinclad rakudo: grammar G { token TOP { <neither>+ }; token neither { <-[a]> & <-[b]> } }; say G.parse("abc");
19:41 p6eval rakudo db0f85: OUTPUT«Malformed regex at line 11, near "neither { "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:42 spinclad rakudo: token both { 'a' & 'b' }
19:42 p6eval rakudo db0f85: OUTPUT«Malformed regex at line 11, near "both { 'a'"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:43 spinclad .oO( & here nyi ? )
19:45 moritz_ probably
19:54 spinclad pausenclown: ^^ would have been my suggestion
19:59 moritz_ TimToady: S12 doesn't talk about whether the 'trusts' trait applies to a single class only, or also to subclasses of that class
20:00 moritz_ TimToady: I guess it only applies to a single class - right?
20:04 TimToady currently, just one
20:15 pugssvn r30180 | moritz++ | [S12] document that "trusts" traits do not extend to child classes, as per TimToady++
20:21 mberends joined #perl6
20:22 jnthn mberends! \o/
20:23 mberends jnthn! \o/
20:23 mberends hacking on proto this evening :)
20:24 jnthn Yay
20:24 * jnthn is finishing up some last $dayjob bits and then will have 2-3 hours for Rakudo. :-)
20:24 bkeeler joined #perl6
20:24 bkeeler Afternoon, perlies!
20:25 mberends good localtime() bkeeler!
20:27 jnthn hi bkeeler o/
20:27 bkeeler The Fedex man brought me a present today
20:27 bkeeler new monitor!
20:27 colomon \o/
20:28 mberends bkeeler: is it a 50" plasma?
20:28 bkeeler Not quite
20:28 bkeeler I think it's like 26"
20:28 mberends nice
20:29 bkeeler More space to hack rakudo in!
20:30 bkeeler I moved you guys over to my left.  Hope that's not too disorienting for you
20:30 * mberends leans hard to the right
20:31 dalek joined #perl6
20:53 mathw evening
20:53 mathw 26" monitor sounds fun
20:53 mathw I've got a 22"
20:53 mathw which is nice
20:53 jnthn :-/
20:53 * jnthn only has 19"
20:53 bkeeler \o mattw
20:55 bkeeler It's kind of overwhelming me at the moment.  Gonna take a little getting used to
21:00 bkeeler With my previous two monitors on either side I now have an aggregate 5120x1600 desktop.  Pretty crazy really
21:05 TimToady with 15 screens my desktop is 8400 x 3150  :)
21:06 TimToady and that's on a laptop
21:07 jnthn Well, that's just moving things into another dimension. :-)
21:07 jnthn Yay, Rakudo time!
21:08 colomon \o/
21:09 * jnthn builds the latest Parrot update
21:09 lue TimToady: 15 screens? Please tell me that's not 15 monitors...
21:09 wknight8111 joined #perl6
21:11 lichtkind joined #perl6
21:11 lichtkind mberends: hai
21:12 lue hi! (nice choice of IRC client :) )
21:12 mberends hi lichtkind, it's been a few weeks :)
21:12 lichtkind shure
21:13 lichtkind mberends: please have a look i think the .pre areas have to little font http://www.perlfoundation.org/perl6/index.cgi?perl_6_variables_tablet
21:13 mberends ok
21:13 jnthn std: sub foo(Any:U $x) { }
21:13 p6eval std 30180: OUTPUT«ok 00:01 109m␤»
21:13 jnthn rakudo: sub foo(Any:U $x) { }
21:13 p6eval rakudo db0f85: OUTPUT«Invalid typename in parameter declaration at line 11, near " $x) { }"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
21:15 mberends lichtkind: agreed, the font is about 20-30% too small
21:16 jnthn rakudo: :U
21:16 p6eval rakudo db0f85:  ( no output )
21:17 lichtkind mberends: problem is im glad we found a guy who want help and i would not want to revert his first action
21:17 jnthn rakudo: use Foo:lol
21:17 p6eval rakudo db0f85: OUTPUT«Method 'value' not found for invocant of class 'PAST;Var'␤current instr.: 'perl6;Perl6;Actions;_block81' pc 184393 (src/gen/perl6-grammar.pir:37514)␤»
21:17 jnthn rakudo: sub foo(Any:lol<U> $x) { }
21:17 p6eval rakudo db0f85: OUTPUT«Invalid typename in parameter declaration at line 11, near " $x) { }"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
21:17 lichtkind mberends: i added just http://www.perlfoundation.org/perl6/index.cgi?perl_6_lookup_tablet#object_introspection
21:17 jnthn rakudo: sub foo(Any:U $x) { }
21:17 p6eval rakudo db0f85: OUTPUT«Invalid typename in parameter declaration at line 11, near " $x) { }"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
21:19 jnthn std: my Any:U $x;
21:19 p6eval std 30180: OUTPUT«ok 00:01 106m␤»
21:20 jnthn Ah.
21:22 ignacio_ joined #perl6
21:23 mberends lichtkind: I think I'll write slightly longer explanations for introspection. What is your source of information? S20, anyone?
21:23 lichtkind mberends: yeah something like that
21:27 lichtkind mberends: im currently do ing not that much as written in my last post, touched docs vount went from 101 to 14 :)
21:28 mberends lichtkind: ups and downs, it happens :)
21:29 lichtkind mberends: no basically the long neede wiki cleanup is done as far i think, yes theres a lot to do but i want to go after my things again
21:29 snarkyboojum joined #perl6
21:30 mberends it has been a great cleanup. lichtkind++
21:31 lichtkind mberends: thanks actually you get here much more ++ than in wikipedia or DMOZ :)
21:31 mberends :D
21:32 lichtkind mberends: second is also i want to close some parts in my brain aka get finished with the tables because i have already plans for new stuff :)
21:33 lichtkind mberends: and i have to brag on blog much more about that more people participate in the wiki
21:35 mberends lichtkind: so you're planning to defragment your brain? Or uninstall some thoughts?
21:37 lichtkind mberends: but if you have a serious brainchild it always accupies a part and i want to get free of that presence soon because i want to do also other stuff
21:38 mberends lichtkind: brain.wash();
21:38 lue jnthn --cleanup --target="lichtkind::brain"
21:38 lue :)
21:38 lichtkind lue: is that new perl 6 geopt syntax?
21:39 jnthn EOUTOFMEMORY
21:39 jnthn oh, wait...
21:40 lichtkind mberends:  no i think its more on a soul level, you know how it is , you live with some ideas and grow with it it feel comfortable challanging but you also feel when to move on
21:40 lichtkind jnthn: lue understimatet my brainsize :)
21:41 lue jnthn --hack-network --steal="RAM space" | jnthn --cleanup --target="lichtkind::brain"
21:41 lichtkind mberends: but kick great words we need some things done, do you also write on the perl 6 book?
21:42 mberends lichtkind: not yet, and intend to contribute to the book for Rakudo *
21:42 lichtkind mberends: i wanted too but i still have problems to master git and as you already know ... :)
21:44 * mberends edited the introspection word list a little, but felt unable to express the meanings clearly enough
21:44 mberends lichtkind: cheat by using http://gitready.com
21:45 lichtkind mberends: now i have to learn since kephra should get some git and svn integration
21:45 lichtkind mberends: i saw changes thanks
21:47 mberends lichtkind: can you foresee a kephra+rakudo distribution as an easy to install download?
21:47 lichtkind mberends: its an spiritual virtue to live in the present, but why not :)
21:48 lichtkind mberends: do you see any table missing in index B ?
21:49 lichtkind mberends: because next step will be to put all items there into index A, will be lot of fun :)
21:50 mberends hmm, the tables look so comprehensive, nothing comes to mind
21:53 mberends yes, manually maintaining indexes *is* fun, when compared to using edlin
21:56 lichtkind mberends: oh gosh i even know what you talking about even people of my age shouldn't :)
22:05 lue afk
22:14 * jnthn starts to spectest a patch for return
22:16 wormwood joined #perl6
22:17 jnthn rakudo: sub foo($x) { return 1 if $x == 42; 0; }; say foo(1); say foo(42);
22:17 p6eval rakudo db0f85: OUTPUT«Missing block at line 11, near "; 0; }; sa"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:17 jnthn > sub foo($x) { return 1 if $x == 42; 0; }; say foo(1); say foo(42);
22:17 jnthn 0
22:17 jnthn 1
22:17 jnthn \o/
22:21 wormwood_ joined #perl6
22:26 colomon moritz_++ # good run of patches there!
22:27 * jnthn is getting ready to break it. ;-)
22:28 colomon ;)
22:29 diakopter std: say :_:_:_:_:_:_:_:_:_
22:29 p6eval std 30180: OUTPUT«ok 00:01 105m␤»
22:34 [synth] joined #perl6
22:35 mberends diakopter: is that knit one, purl one ... ?
22:38 snarkyboojum I love how meaningful this test name is t/spec/S06-other/misc.t :)
22:40 mberends to its credit, it avoids creating false expectations. or any expectations :)
22:40 snarkyboojum heh
22:43 * mberends sleeps, involuntarily. o/
22:43 TimToady \o
22:48 meppl joined #perl6
22:48 nihiliad joined #perl6
22:55 sjohnson ( `ー´)
22:55 snarkyboojum I'm getting a couple of spectest failures - is that expected
22:56 snarkyboojum so close to 30k tests!
22:56 colomon which ones?
22:56 snarkyboojum I get 2 fails in t/spec/S12-attributes/instance.rakudo and 1 fail in t/spec/S03-operators/precedence.rakudo
22:56 jnthn I'm going to try and fix up the instance.t issue tonight.
22:56 snarkyboojum test 20 and 117-118 respectively
22:57 jnthn The precedence.t one I see also
22:57 jnthn But I don't know what it is or how to fix it.
22:57 snarkyboojum ah - goody - so it's not just me
22:57 jnthn precedence.t one has been there a while...
22:58 jnthn moritz_: spectesting a patch that deals with the RT you filed this morning.
22:58 dalek rakudo: b21779a | jonathan++ | src/ (3 files):
22:58 dalek rakudo: Get rid of special casing of return in the parse. Now it's just parsed as a normal routine/listop. Add a hook where eventually we'll implement checking for a :(\|$parcel) signature having been predeclared; for now we just recognize return by name. Comment it up. Fixes various parsing issues.
22:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b21779a243657d8447b9e41f0d5aa31dc17000f1
22:58 dalek rakudo: 40cc338 | jonathan++ | t/spectest.data:
22:58 dalek rakudo: Turn on S04-statements/return.t, which we now pass fully.
22:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/40cc338933c1ef8a8c9e85ee19c88ae9b190f494
22:59 jnthn That's another 15 closer to 30k. :-)
22:59 jnthn That patch maybe lets us unfudge some more too.
22:59 snarkyboojum w00t!
23:00 synth joined #perl6
23:00 PZt joined #perl6
23:02 pugssvn r30181 | jnthn++ | [t/spec] Remove a fudge in return.t that Rakudo no longer needs.
23:03 pugssvn r30182 | jnthn++ | [t/spec] Unfudge a test in ternary.t that we can now pass; we now do the whole file fudgeless.
23:03 snarkyboojum rakudo: use Test; ok(  ?(   (1 & 2 | 3) !=3))
23:03 p6eval rakudo db0f85: OUTPUT«not ok 1 - ␤»
23:04 pugssvn r30183 | jnthn++ | [t/spec] Fudging for context.t.
23:07 pugssvn r30184 | jnthn++ | [t/spec] Unfudge 8 tests in recurse.t that Rakudo passes.
23:09 snarkyboojum rakudo: say 1 & 2 | 3
23:09 p6eval rakudo db0f85: OUTPUT«any(all(1, 2), 3)␤»
23:09 [synth] joined #perl6
23:10 dalek rakudo: eee3134 | jonathan++ | t/spectest.data:
23:10 dalek rakudo: Turn S06-advanced_subroutine_features/recurse.t back on.
23:10 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/eee3134329005d427ea393f7959bc31e550082d6
23:10 dalek rakudo: 721a86a | jonathan++ | t/spectest.data:
23:10 dalek rakudo: Turn S06-signature/closure-over-parameters.t back on.
23:10 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/721a86af65bc924fb17457f24b82f84102299966
23:16 dalek rakudo: c8614ac | jonathan++ | src/Perl6/Grammar.pm:
23:16 dalek rakudo: Move a couple of decls from TOP to comp_unit, for STD conformance.
23:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c8614ac0187630e258cdd6d725183ce5c1d087f5
23:16 dalek rakudo: 0188099 | jonathan++ | src/Perl6/Compiler/Module.pm:
23:16 dalek rakudo: Fix for #73760 (Rakudo can't load classes from inside a module).
23:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0188099965dd61e72ab5633523fcb7a8113a94f4
23:18 jnthn std: my $a; $a =~ /foo/
23:18 p6eval std 30180: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at /tmp/YqJxrWUTWH line 1:␤------> [32mmy $a; $a =~[33m⏏[31m /foo/[0m␤FAILED 00:01 108m␤»
23:18 jnthn rakudo: my $a; $a =~ /foo/
23:18 p6eval rakudo db0f85:  ( no output )
23:18 TimToady probably parses as = ~/foo/
23:19 wormwood joined #perl6
23:19 jnthn TimToady: Yeah, adding the STD stuff
23:19 jnthn Figured it's easy ticket solve. :-)
23:22 snarkyboojum return in rakudo throws a Parrot exception to do its stuff?
23:22 jnthn Yeah
23:22 jnthn We could wrap it up in a Perl 6 one maybe...but I guess then we'd only have to unpack it again.
23:22 jnthn Can fix it if it leaks.
23:22 jnthn But I think it's unlikely.
23:23 * snarkyboojum trusts jnthn :)
23:23 snarkyboojum I'm just reading your patches
23:23 jnthn :-)
23:25 jnthn pivo'clock.
23:26 payload joined #perl6
23:27 snarkyboojum pivo! :)
23:27 snarkyboojum ja bih pivo hvala
23:28 jnthn ;-)
23:28 sorear joined #perl6
23:28 jnthn snarkyboojum: Which of the south slavic languages is it? Croatian?
23:29 snarkyboojum jnthn: aye hrvatski
23:29 snarkyboojum or trying to be :)
23:29 pugssvn r30185 | jnthn++ | [t/spec] Update S03-operators/braino.t.
23:31 jnthn I've spent quite a bit of time on a western slavic language (Slovak) and a bit on an eastern one (Russian), but never got to study anything from the south slavic language family yet. I'd like to some day. :-)
23:32 snarkyboojum beautiful languages - no doubt about it - I'd like to study more croatian (if my gf can stand me murdering it:) )
23:33 jnthn Yes, the Slavic language (and that part of the world) certainly enchants me somewhat.
23:33 jnthn *languages
23:33 snarkyboojum jnthn: totally agreed. I've read (with some envy) about your travels :)
23:34 snarkyboojum talk about murdering.. the rakudo spectest suite murders my laptop battery somewhat :)
23:38 wormwood_ joined #perl6
23:39 snarkyboojum only 1 failed test now (that precedence one), and 29368 tests in total! :)
23:40 snarkyboojum rakudo: say (1 & 2 | 3)
23:40 p6eval rakudo db0f85: OUTPUT«any(all(1, 2), 3)␤»
23:40 snarkyboojum isn't that & binding more tightly than | anyway?
23:42 jnthn & should bind more tightly, yes
23:42 jnthn And looks like it is.
23:43 snarkyboojum so why is it a fail that it == 3?
23:43 jnthn erm
23:43 jnthn It should == 3
23:43 jnthn Do we have a wrong test?
23:43 * snarkyboojum checks
23:43 jnthn any just needs, well, any of the things in it
23:44 jnthn the all(1,2) is one of those items it considers, the 3 is another
23:44 jnthn if any of them are == 3 (which 3 clearly is) then it should come out true.
23:44 jnthn rakudo: say ?((1 & 2 | 3) == 3)
23:44 p6eval rakudo db0f85: OUTPUT«1␤»
23:44 jnthn That's correct.
23:44 ruoso joined #perl6
23:45 snarkyboojum rakudo: use Test; ok(  ?(   (1 & 2 | 3) !=3)
23:45 p6eval rakudo db0f85: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
23:45 snarkyboojum rakudo: use Test; ok(  ?(  (1 & 2 | 3) !=3))
23:45 p6eval rakudo db0f85: OUTPUT«not ok 1 - ␤»
23:45 snarkyboojum isn't that test wrong?
23:46 dalek rakudo: 01cc996 | jonathan++ | src/Perl6/Grammar.pm:
23:46 dalek rakudo: Add obsolete operator catchers for =~ and !~.
23:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/01cc996c3e96bc082667875d3b15ff64c1212a91
23:46 dalek rakudo: 869e251 | jonathan++ | t/spectest.data:
23:46 dalek rakudo: Add S03-operators/brainos.t to spectest.data.
23:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/869e251b8770d62af1bc53b17a04b02a71c55633
23:46 dalek rakudo: 7c20adc | jonathan++ | docs/ROADMAP:
23:46 dalek rakudo: Mark protoregexes in grammars done in ROADMAP; bkeeler++ for patch that got them working, moritz++ for tests. Also update who's doing it on meta-ops to match reality.
23:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7c20adc492aa61c72b6e4042671d73ace2c48bd4
23:46 snarkyboojum line 70 in t/spec/S03-operators/precedence.t
23:46 jnthn rakudo: say ?((1 & 2) != 3)
23:46 p6eval rakudo db0f85: OUTPUT«1␤»
23:46 jnthn rakudo: say ?((1 & 2 | 3) != 3)
23:46 p6eval rakudo db0f85: OUTPUT«1␤»
23:47 jnthn Both of those are correct.
23:47 jnthn So wrong test.
23:47 jnthn changing to ==
23:47 snarkyboojum cool
23:48 snarkyboojum so is (1 & 2 | 3) == 3 or != 3? :)
23:48 pugssvn r30186 | jnthn++ | [t/spec] Correct an incorrect precedence.t test noticed by snarkyboojum++.
23:49 jnthn Both :-)
23:49 snarkyboojum oh yeah :)
23:49 snarkyboojum d'oh ;)
23:49 wormwood joined #perl6
23:49 snarkyboojum excellent! spectest should pass now ;)
23:50 jnthn oh wait...hmm
23:50 jnthn gah, this stuff is weird to think about :-)
23:50 snarkyboojum why would it fail if you're testing for ok (?((1 & 2 | 3) != 3)) then?
23:50 jnthn Anyway, the test is suceeding in testing the precedence.
23:50 jnthn afaict
23:51 jnthn Yeah, just trying to work that out...generally negatives and junctions are fun...
23:51 jnthn rakudo: say ?((1&2) != 3)
23:51 p6eval rakudo db0f85: OUTPUT«1␤»
23:51 jnthn rakudo: say ?(3 != 3)
23:51 p6eval rakudo db0f85: OUTPUT«0␤»
23:51 jnthn rakudo: say ?((1&2|3) != 3)
23:51 p6eval rakudo db0f85: OUTPUT«1␤»
23:51 jnthn oh
23:52 snarkyboojum seems that it should return 0 there
23:52 jnthn rakudo: say ?(   (1 & 2 | 3) !=3) # exactly what the test was
23:52 p6eval rakudo db0f85: OUTPUT«0␤»
23:52 snarkyboojum ah
23:52 jnthn rakudo: say ?(   (1 & 2 | 3) != 3) # exactly what the test was
23:52 p6eval rakudo db0f85: OUTPUT«1␤»
23:52 jnthn oh
23:53 jnthn erm.
23:53 jnthn :-/
23:53 jnthn wtf.
23:53 snarkyboojum hehe
23:53 snarkyboojum schrodingers cats again...
23:53 jnthn OK, the test was OK before
23:53 jnthn Something is messed up in Rakudo.
23:53 snarkyboojum rakudo: say ?(  (1 & 2 | 3) != 3)
23:53 p6eval rakudo db0f85: OUTPUT«1␤»
23:53 snarkyboojum rakudo: say ?(  (1 & 2 | 3) != 3)
23:53 p6eval rakudo db0f85: OUTPUT«1␤»
23:54 jnthn It's the space
23:54 snarkyboojum oic
23:54 jnthn !=3 vs != 3
23:54 pugssvn r30187 | jnthn++ | [t/spec] Undo last commit, the test is fine, Rakudo has a bug.
23:54 snarkyboojum bizarro parsing stuff
23:54 jnthn Yes, quite the wtf.
23:55 jnthn rakudo: say 3 != 3
23:55 p6eval rakudo db0f85: OUTPUT«0␤»
23:55 jnthn rakudo: say 3 !=3
23:55 p6eval rakudo db0f85: OUTPUT«3␤»
23:55 snarkyboojum :)
23:55 snarkyboojum ignoring the last !=3?
23:56 jnthn epic fejl :-/
23:56 jnthn Not sure, trying --target=parse
23:56 snarkyboojum rakudo: say (3 !=3).perl
23:56 p6eval rakudo db0f85: OUTPUT«Bool::False␤»
23:56 snarkyboojum rakudo: say (3 !=3)
23:57 p6eval rakudo db0f85: OUTPUT«0␤»
23:57 jnthn Parses as a meta-op.
23:57 snarkyboojum rakudo: say 3 != 3
23:57 p6eval rakudo db0f85: OUTPUT«0␤»
23:57 snarkyboojum works with ()s :)
23:57 snarkyboojum rakudo: say 3 !=3
23:57 p6eval rakudo db0f85: OUTPUT«3␤»
23:57 snarkyboojum rakudo: say 3!=3
23:57 p6eval rakudo db0f85: OUTPUT«3␤»
23:58 snarkyboojum rakudo: say 3!= 6
23:58 p6eval rakudo db0f85: OUTPUT«1␤»
23:58 payload joined #perl6

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

Perl 6 | Reference Documentation | Rakudo