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