Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-03-22

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 lue TimToady.......left.
00:01 diakopter__ joined #perl6
00:01 jnthn Turns out there *is* a bug in above patch, but so far (up to test 12,000 or so) it's resulted in one new failure.
00:01 diakopter__ the vps we use appears to have ... died.
00:02 diakopter__ :||
00:03 sorear ping timeouts suck, I lost an @ to one once
00:03 colomon lue: yes
00:03 jnthn lue: No, just sub radcalc(...)
00:03 jnthn Or multi if there are variants.
00:04 colomon gack, jnthn++ is right of course.
00:04 jnthn :-)
00:04 jnthn colomon: If you hit a fail in assign-is-not-binding.t it's my fault.
00:04 lue alright. Should it be within the part of Num.pm that augments Num, or detached from that class?
00:05 lue Ow! my head...
00:06 jnthn lue: Detached.
00:06 pugssvn r30168 | colomon++ | [t/spec] Fudge radix.t to work with lue++'s patch.
00:06 colomon lue: want me to push the parrot version for now?
00:07 sorear now I just need for those Parrot folks to finish merging pcc_hackathon_6mar10
00:08 diakopter__ left #perl6
00:09 lue yes, colomon
00:09 lue I'm assuming the radcalc sub in Num.pm should be outside of the augmentatioin of the Num class?
00:09 colomon yes.
00:09 colomon or possibly it should be a different file or a file of its own.
00:10 lue Wouldn't I have to put an include for the new file somewhere? (not that it's an issue...)
00:10 lue I agree, it's going to get big enough for its own file. :)
00:10 colomon oh, ack, someone else pushed to github while I was sitting here.  Now I need to rebuild and retest.
00:10 lue (esp. with support of [] for bases 37+)
00:11 colomon lue: you need to modify build/Makefile.in to add new files.
00:13 lue alright, thanks for the heads up.
00:16 jnthn Think I have a fix for the fail I caused. :-)
00:16 colomon \o/
00:16 jnthn Heh. If this test run works out, probably we get to cross off a ROADMAP item. :-)
00:17 colomon we seem to be doing pretty well at that these days.  :)
00:17 lue Well, April _is_ nearing...
00:17 jnthn I think we really can't be too far off being able to tick off "true hyper/cross/reverse/other metaoperators"
00:17 lue (radix.pm is a good name for the file w/ radcalc, isn't it?)
00:17 unobe joined #perl6
00:17 jnthn lue: wfm
00:17 lue wfm?
00:18 colomon last wednesday, I never dreamed we'd have user-defined operators, reduce ops and hyper ops working by today.
00:18 lue (ah, works for me)
00:18 jnthn colomon: Same.
00:19 jnthn colomon: I really do need to go back to worry about OO bits again soon. :-)
00:19 jnthn The meta ops have been awesome fun though. :-)
00:19 unobe colomon: I re-ran spectests and yeah, a *lot* more a failing :-(
00:19 colomon I'd say we have real !op and Rop at this point, absolutely.  Xop and Zop still have some minor issues, but their core functionality is solid, I think,
00:19 colomon unobe: yeah, I wonder what happened there?
00:20 unobe beats me. I am going to fiddle around with it a bit
00:20 colomon unobe: but for sure you need exists to do that one test in pure p6, and I think we're still waiting on a working exists implementation.
00:20 jnthn On array?
00:21 unobe yeah, I've written up a port from the old version
00:21 colomon yes.
00:21 unobe jnthn: yes
00:21 jnthn Ah, OK.
00:21 colomon of @a[@-1]
00:21 Tene don't you mean *-1 ?
00:21 colomon Tene: yes, typo.
00:21 unobe I will see if it compiles and test it out on S32-array/exist.t
00:21 Tene just checking
00:21 colomon oh, a port of the old exists?  I don't think that will work.
00:22 jnthn No, probably not.
00:22 colomon in fact, I think someone tried that two days ago or so.
00:22 lue rakudo: say "hello"[2:3]
00:22 p6eval rakudo 53707f: 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)␤»
00:22 lue (darn python habits :) )
00:22 jnthn :-P
00:23 lue It is an awesome way to splice a string though...
00:24 unobe http://github.com/unobe/rakudo/commit/398fcec4fcd52b0f77c10e5feeef48d2c18932e8
00:24 unobe that's the diff of the version I'm going to start testing
00:24 unobe since I'm working on an eeePC, my testing isn't blazing fast :-(
00:26 jnthn eeek, that'd be slow.
00:26 sorear how much memory?
00:27 unobe 1GB
00:27 Tene and like 800mhz, iirc
00:27 unobe yeah, I think you're right, Tene
00:28 unobe nope, 1.6GHz
00:28 unobe uname -a: i686 Intel(R) Atom(TM) CPU N270 @ 1.60GHz
00:28 unobe but it certainly feels like 800
00:30 lue rakudo: say index("hello","lo")
00:30 p6eval rakudo 53707f: OUTPUT«3␤»
00:30 jnthn masak++ wrote a really nice blogpost today :-)
00:31 lue how do I get characters from a certain position in a string?
00:31 jnthn substr
00:31 jnthn substr($str, $offset, $howmany)
00:31 lue same as PIR then :)
00:32 jnthn :-)
00:37 lue rakudo: say substr("hello",2)
00:37 p6eval rakudo 53707f: OUTPUT«llo␤»
00:38 dalek rakudo: becc7e0 | jonathan++ | src/Perl6/Grammar.pm:
00:38 dalek rakudo: One more tweak and seems we have item assignment working now, with all existing tests passing. :-)
00:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/becc7e07e4e6c52e1995a452abf22fa89d2b2ed7
00:38 dalek rakudo: 5d8fd6a | jonathan++ | docs/ROADMAP:
00:38 dalek rakudo: Minor ROADMAP tweaks.
00:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5d8fd6a2440c2f447b14f1e0690bbf3f96298452
00:38 jnthn colomon: erm. Sorry.
00:39 jnthn :-)
00:39 jnthn colomon: I promise not to push anything else tonight. :-)
00:42 lue an else if in P6 is elsif, right?
00:42 arnsholt Da.
00:46 sorear How far off is Rakudo from being able to run STD.pm?
00:50 jnthn sorear: Not sure...I don't look through it seeing hundreds of things we're missing though.
00:51 jnthn We've got a lot of what it needs.
00:53 synth joined #perl6
00:57 lue rakudo: pass
00:57 p6eval rakudo 53707f: OUTPUT«Could not find non-existent sub &pass␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
00:57 lue pass DOES work inside if's and such, right?
00:58 kfo joined #perl6
00:59 jnthn pass?
01:00 lue as in if a==3 { pass; }
01:00 lue rakudo: if a==3 { pass; }
01:00 p6eval rakudo 53707f: OUTPUT«Could not find non-existent sub &a␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
01:00 lue rakudo: if 3==3 { pass; }
01:00 p6eval rakudo 53707f: OUTPUT«Could not find non-existent sub &pass␤current instr.: '_block50' pc 317 (EVAL_1:136)␤»
01:00 jnthn There's no pass build-it... :-)
01:00 jnthn *built-in
01:00 lue then just place a comment?
01:00 jnthn It's probably called something else, though I'm not quite sure what you're after. :-)
01:00 jnthn Oh
01:01 jnthn You mean, it should do nothing?
01:01 lue as in "do nothing, this is just here"
01:01 jnthn Just leave it empty? :-)
01:01 lue I could swear I heard about C<pass> though...
01:02 sorear that's a Pythonism
01:03 lue ahhh
01:03 sorear Python's syntax does not allow empty statement lists
01:03 sorear so pass was invented
01:03 lue only natural, it relies on whitespace :)
01:05 lue rakudo: my $a=3; $a *= 2; say $a
01:05 p6eval rakudo 53707f: OUTPUT«6␤»
01:06 lue rakudo: say substr("hello",6,1)
01:06 p6eval rakudo 53707f: OUTPUT«Mu()␤»
01:06 lue rakudo: say substr("hello",5,1)
01:06 p6eval rakudo 53707f: OUTPUT«␤»
01:07 lue rakudo: say substr("hello",5,1) ~~ ""
01:07 p6eval rakudo 53707f: OUTPUT«1␤»
01:07 lue rakudo: say substr("hello",6,1) ~~ ""
01:07 p6eval rakudo 53707f: OUTPUT«0␤»
01:07 lue :(
01:07 lue rakudo: say substr("hello",6,1) ~~ Mu
01:07 p6eval rakudo 53707f: OUTPUT«1␤»
01:08 colomon jnthn: no worries, been changing diapers and taking out the garbage and pouring single malt instead of spectesting.
01:09 jnthn (single malt)++
01:09 * jnthn is lacking in that particular substance at the moment
01:10 jnthn A trip to Russia will replenish my Vodka stock though. \o/
01:10 colomon I am too, but my parents are over for the night and my dad brought two bottles with him and got a third for his birthday.  ;)
01:10 jnthn \o/
01:10 jnthn Nice!
01:10 jnthn OK, I've gotta go and see the hopefully nice folks at the bank tomorrow morning, so guess I should get a sensible amount of sleep. :-)
01:11 lue a large amount of hope ye have. night jnthn o/
01:11 jnthn night, catch you all tomorrow o/
01:12 arlinius joined #perl6
01:13 colomon o/
01:18 muixirt_ joined #perl6
01:24 * lue is currently attempting to edit build/Makefile.in
01:25 colomon I suggest looking for Num.pm in Makefile.in and adding your new file right in that neighborhood of the makefile.
01:26 snarkyboojum joined #perl6
01:26 colomon Once you've added it, you need to call perl Configure --gen-parrot again, to generate the actual Makefile you will use to compile.
01:26 lue would a git pull kill my changes?
01:26 colomon no
01:27 colomon it probably would just refuse to work with them.
01:27 colomon you can commit them locally and then do a git pull --rebase, or you can use git stash to stash them away and then just do git pull.
01:27 lue Should I git pull before configure/make or just put it off?
01:27 colomon Your builds take forever, right?
01:28 lue nope (I love ssh-ing to remote computers :D )
01:29 lue I'll just leave off the latest git pull until I need it :)
01:31 colomon groovy.
01:34 lue NO! Fatal error during make! •.•
01:35 lue null pmc access in invoke() !
01:35 lue .u snowman
01:35 phenny U+2603 SNOWMAN (☃)
01:35 lue .u comet
01:36 phenny U+2604 COMET (☄)
01:36 lue .u 2605
01:36 phenny U+2605 BLACK STAR (★)
01:36 lue .u 2602
01:36 phenny U+2602 UMBRELLA (☂)
01:36 sorear "when the Unicode Consortium decided that all character sets must be included, WEBDINGS WAS NO EXCEPTION"
01:37 lue .u 260A
01:37 phenny U+260A ASCENDING NODE (☊)
01:37 colomon just finally pushed your first patch, lue++.  :)
01:37 lue :D
01:37 lue Technically not my first, but I can't remember what the first one was :)
01:37 snarkyboojum colomon++ jnthn++ for all the ops stuff! It's t'ops! :)
01:37 snarkyboojum lue++ (i think your first was porting the file existence tests etc?)
01:38 lue o ho ho ho. o ho ho ho.
01:38 lue snarky: yes.
01:39 lue after I'm done with radix conversion (which in P6 form I just got a fail), I might just feel crazy enough to get into regexes.
01:39 lue For the sole purpose of bringing back snowman/comet! :)
01:40 sorear after I'm done with P5 interoperability I'm going to write a memory profiler
01:40 sorear I suck at picking small problems
01:41 lue I think kate's indentation indicator (where you can fold blocks of code) is the key to finding my Null PMC Access problem...
01:41 dalek rakudo: 265726d | (Solomon Foster)++ | src/builtins/Num.pir:
01:41 dalek rakudo: Cleanup trailing whitespace.
01:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/265726dfc14e11242f9f7673a61b1d0cccb14df5
01:41 dalek rakudo: fabef9f | Lue++ | src/ (2 files):
01:41 dalek rakudo: Put in support for fractional numbers (:16<A.4>) and other base scanning (:2<0o10>) into the radcalc function.
01:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/fabef9fb2fb1af6ad49fd99d395c2c4d5479e099
01:43 diakopter joined #perl6
01:43 diakopter vps liveth
01:44 justatheory joined #perl6
01:45 lue afk
02:33 molaf_ joined #perl6
02:34 * colomon wishes he knew what the heck is going on with hyper.t.
03:08 lue anybody here?
03:09 bkeeler Yup.  Just got back
03:09 lue I'm really wondering why my code causes a Null PMC Access...
03:10 lue Kate (my editor) says the indentation's off, I just can't see it.
03:15 bkeeler For Null PMCs I usually end up poring over the output of --target=pir
03:17 bkeeler > my $foo = rx/o+h/; my $bar = "it"; say "ooooohitworks" ~~ /$foo $bar works/
03:17 bkeeler ooooohitworks
03:17 bkeeler \o/
03:17 bkeeler One step closer
03:18 lue make --target=pir? Cause it fails whilst making rakudo :)
03:19 bkeeler Aah
03:20 bkeeler Is it an nqp fail, or when its compiling core.pm?
03:20 lue last line before the error messages: src/gen/core.pm > src/gen/core.pir (so yeah, compiling core.pm)
03:22 bkeeler That could be tricky to track down then
03:23 lue It's a new file I created, could I theoretically run perl6 on that file and see what happens?
03:23 bkeeler Yeah, could do
03:23 lue and that --target=pir thing?
03:24 lue but... a result of my half-finished make is that ./perl6 no longer exists :(
03:26 bkeeler parrot  src/gen/perl6.pbc --target=pir file.pm
03:27 lue here's the results of running what you gave me:
03:27 lue Null PMC access in invoke()
03:27 lue current instr.: '!create_parametric_role' pc 1161 (src/glue/role.pir:49)
03:27 lue called from Sub 'perl6;Perl6Role;!select' pc 9969 (src/gen/RoleToClassApplier.pir:600)
03:27 lue called from Sub 'perl6;Iterator;onload' pc 10751 (src/builtins/Role.pir:134)
03:28 bkeeler Does inspection of the pir files it mentions give any clues?
03:28 lue haven't looked :)
03:29 lue I will look later though.
03:31 TimToady joined #perl6
03:32 lue TimToady is back \o/
03:33 TimToady vaguely
03:36 bkeeler TimToady: is there supposed to be a difference between / <{ ...}> / and / { ... } / closure syntax in regexes?
03:37 TimToady S05:1269
03:38 TimToady bare {} doesn't interpolate anything, <{}> interplates regex
03:39 bkeeler Thanks
03:53 agentzh joined #perl6
03:59 vamped joined #perl6
03:59 Teratogen when is Perl 6 gonna be released, dammit
04:00 * TimToady hugs Teratogen
04:00 lue I could swear Teratogen said those exact words last time... ah well :)
04:00 TimToady Teratogen is insecure, and needs lots of hugs
04:01 lue .oO(dang it, hugme's not here)
04:02 vamped you're gonna have to do it yourself lue
04:05 Teratogen I want Perl 6 now!
04:05 * TimToady hugs Teratogen again
04:06 snarkyboojum hehe
04:07 lue Talk to dalek. He may know where The Doctor is.
04:08 lue The Doctor can use his TARDIS to get a stable P6 interpreter for you now. :)
04:08 lue Seriously, there is no stable version of P6 yet. Be patient.
04:08 Teratogen I want to do Perl 6 CGI =)
04:10 snarkyboojum perl6 is pretty stable for me (depending on what I try and run :))
04:10 lue dalek: find archenemy
04:11 lue .u asteroid
04:11 phenny lue: Sorry, no results for 'asteroid'.
04:14 TimToady .u asterism
04:14 phenny U+2042 ASTERISM (⁂)
04:16 lue Is there a nice chart of all the unicode characters anywhere? I wish to browse its deep magic.
04:16 lue I wish to learn of the fifth astral plane!
04:16 lue .u FFFF
04:16 phenny U+FFFF (No name found)
04:16 sorear unicode.org has lots of them
04:16 vamped .u maelstrom
04:16 phenny vamped: Sorry, no results for 'maelstrom'.
04:16 sorear .u 101F80
04:16 phenny sorear: Sorry, no results for '101F80'.
04:17 sorear .u 11F80
04:17 phenny sorear: Sorry, no results for '11F80'.
04:17 lue but it's horrible to navigate. I don't trust unicode.org :)
04:18 lue Before reading the wikipedia page on unicode (doing it now), I thought the limit was at number FFFF. I was wrong.
04:18 TimToady 0x10ffff
04:18 TimToady I spend a lot of time looking at chars in the 20000 range
04:18 sorear 20000 is han extensions?
04:19 TimToady yes, currently up to 20ba3, in the MOUTH section
04:20 quietfanatic lue: If you're on Gnome, <alt-F2>gucharmap<enter>
04:22 lue I could be on gnome, but I'm not. KDE. (although, I should still be able to run it)
04:22 lue .u 20000
04:22 phenny lue: Sorry, no results for '20000'.
04:22 lue phenny can't display anything above FFFF. :(
04:22 TimToady that's ????
04:22 TimToady which probably doesn't show in irc
04:22 lue .u FFFF
04:22 phenny U+FFFF (No name found)
04:23 TimToady shows in the log though
04:23 lue to KCharSelect!
04:24 sorear .u 20ba3
04:24 phenny sorear: Sorry, no results for '20ba3'.
04:24 lue FFFF: not assigned :/
04:24 sorear .u 20BA3
04:24 phenny sorear: Sorry, no results for '20BA3'.
04:24 sorear lue: FFFF = (short)-1 = WEOF
04:24 sorear on UTF-16 systems
04:24 TimToady 20ba3 is ????
04:24 sorear it cannot be assigned
04:24 TimToady x on the top, mouth on the bototm
04:24 TimToady bottom
04:25 sorear there are a good few special chars in the FFxx range
04:25 sorear .u FFFE
04:25 phenny U+FFFE (No name found)
04:25 sorear .u FFFD
04:25 phenny U+FFFD REPLACEMENT CHARACTER (�)
04:25 sorear .u FFFC
04:25 phenny U+FFFC OBJECT REPLACEMENT CHARACTER ()
04:25 sorear .u FFFB
04:25 phenny U+FFFB INTERLINEAR ANNOTATION TERMINATOR ()
04:25 sorear .u FFFA
04:25 phenny U+FFFA INTERLINEAR ANNOTATION SEPARATOR ()
04:25 sorear .u FFF9
04:25 phenny U+FFF9 INTERLINEAR ANNOTATION ANCHOR ()
04:25 sorear .u FFF0
04:25 phenny U+FFF0 (No name found)
04:26 lue unicode is fun (although I wish KCharSelect would show up to & through the 4th astral plane...)
04:26 lue just type a four-digit hex number, and see what happens!
04:27 lue .u 1337
04:27 phenny U+1337 ETHIOPIC SYLLABLE PHWA (ጷ)
04:27 TimToady actually, it looks like screen that doesn't like the plane 1 chars
04:27 sorear .u 000A
04:27 phenny U+000A (No name found)
04:28 TimToady er, plane 2
04:28 quietfanatic Not liking plane 1 chars would be rather...
04:28 quietfanatic nonportable :)
04:28 TimToady er, you're typing plane 0
04:28 quietfanatic oh
04:28 vamped .u 298D
04:28 phenny U+298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER (⦍)
04:28 lue why does unicode have to be so complex? I just want to be able to view up to the last of AP 4
04:29 vamped .u 301F
04:29 phenny U+301F LOW DOUBLE PRIME QUOTATION MARK (〟)
04:29 TimToady (iirc)
04:29 lue what does iirc mean?
04:29 TimToady if I recall correctly
04:29 lue dankon
04:29 lue .u 7357
04:29 phenny U+7357 CJK UNIFIED IDEOGRAPH-7357 (獗)
04:29 quietfanatic if he recalls correctly
04:29 sjohnson google => http://acronyms.thefreedictionary.com/IIRC
04:30 * sorear grumbles at unicode not actually naming any of the CJKs
04:30 TimToady I've named them :)
04:30 lue The one I put there says (in KCharSelect) that its english meaning is violent, lawless :)
04:31 lue .u BEL
04:31 phenny U+BCA8 HANGUL SYLLABLE BEL (벨)
04:31 quietfanatic My dictionary says storm around, be crazy
04:31 lue .u ASCII BEL
04:31 phenny lue: Sorry, no results for 'ASCII BEL'.
04:31 TimToady 7357 15獗dog.l their.r
04:31 TimToady it's "dog" on the left and "their" on the right
04:31 quietfanatic My dictionary says dog, cliff, old grass, yawn, and eight-head
04:32 sorear .u 0009
04:32 phenny U+0009 (No name found)
04:32 sorear .u 0080
04:32 phenny U+0080 (No name found)
04:32 quietfanatic .u 0000
04:32 phenny U+0000 (No name found)
04:32 sorear I guess phenny doesn't have the C0 and C1 subblocks
04:32 TimToady cliff and hiccup
04:32 sorear .u BE
04:32 phenny U+A02A YI SYLLABLE BE (ꀪ)
04:32 TimToady hiccup is oppose and yawn
04:33 lue .u 7170
04:33 phenny U+7170 CJK UNIFIED IDEOGRAPH-7170 (煰)
04:33 TimToady that's Fire.l and goods.r
04:34 lue .u CAFE
04:34 phenny U+CAFE HANGUL SYLLABLE JJWAELM (쫾)
04:34 TimToady I don't do hangul
04:34 lue .u perl
04:34 phenny lue: Sorry, no results for 'perl'.
04:34 TimToady (yet)
04:34 bkeeler So 獗 獗 獗 is "the dog on the old grass yawns"? ;)
04:35 bkeeler I wonder what's the most complicated sentence you can make out of only one character
04:35 lue
04:36 justatheory joined #perl6
04:36 lue .u 2102
04:36 phenny U+2102 DOUBLE-STRUCK CAPITAL C (ℂ)
04:36 lue .u 1403
04:36 phenny U+1403 CANADIAN SYLLABICS I (ᐃ)
04:36 TimToady well, the most astonishingly complicated character I've found is:
04:36 sorear Had had had had, had Had had had had had, had had had.
04:36 TimToady 20b98 24        ????      dex.rb former.rm mouth.rm up.rt mu.lt mountain.lm wicket.lmo non.lmi
04:37 TimToady it has 8 unrelated components, non of which combine into any other known character (known to me, so far)
04:37 sorear I think english has the east asian languages solidly beaten here
04:37 TimToady *none
04:37 TimToady and in only 24 strokes
04:37 TimToady (there are characters with up to 64 strokes)
04:38 TimToady 2a6a5 64        ????      4.dragon 2dragon.t 2dragon.b
04:38 lue There are several characters I know who might stroke 64 times trying to learn East Asian languages :)
04:40 TimToady oh, wait, those should be lbo and lbi, hmm
04:41 lue stop! You're making Konversation (and possibly all of KDE) hurt! that last one showed up as two replacement characters!
04:41 TimToady Konversation should get out of the stone age
04:41 lue KCharSelect ought to show me Unicode > FFFF :(
04:42 lue rakudo: say "\x10000" #first bit of P6 code on this channel in hours :)
04:42 p6eval rakudo 265726: OUTPUT«????␤»
04:42 sorear at least you're not ais523
04:42 lue I see two FFFD 's
04:42 sorear *his* stone age client actually crashes on non-ASCII text
04:42 lue why am I at least not ais523?
04:43 lue TimToady, did you see character 10000?
04:43 sorear unfortunately I'm in screen so I can't see your beautiful extraplanar characters
04:44 Teratogen I am waiting for the day when I can type "perl6 -v" from the shell prompt!
04:44 TimToady perl6 -v
04:44 TimToady This compiler is built with the Parrot Compiler Toolkit, parrot revision 44954.
04:45 lue I ought to submit a ticket to KDE for characters > FFFF
04:45 Teratogen hey cool!
04:45 bkeeler darn it, my dog is eating Kleenex again :(
04:46 lue heh heh heh
04:47 lue Obviously KDE. My gnome character select change go well over 10000 :(
04:47 lue s/change/can/
04:51 lue �� is somewhat appropos for R* (in Gnome it's fine, but paste it into Konversation, and it's two FFFD's)
04:52 sorear I expect kde will say "
04:52 sorear not a bug, stop your uniiiicode pertenshusness
04:53 lue It pastes fine in KCharSelect, but I can't search for it :\
04:53 sorear like that one day I accidentally entered a 128 character extended command into mg, "<me> I did X, Y, Z, and your program crashes, totally reproducable  <maintainer> Don't do that then.  Buffer overrun checking would be bloat."
04:54 lue Pastes fine in Konsole, but backspace key turns it into a rectangle I can't get rid of :)
04:54 awwaiid joined #perl6
04:59 lue I could also petition Unicode to stop being so confusing, and create astral planes 5-10 for alien languages (reserved for the future of course)
05:02 Teratogen isn't there Unicode for Klingon?
05:03 lue nope, it's not allowed (read wikipedia)
05:06 constant joined #perl6
05:06 constant joined #perl6
05:11 Sarten-X joined #perl6
05:11 gfx joined #perl6
05:17 TimToady lue: no, I don't have a Linear B font on my machine :)
05:20 lue What, for the symbol I posted earlier? It's a Tai Xuan Jing symbol that (according to gnome's character map) means 'release'
05:20 TimToady um, 10000 decimal?
05:21 TimToady http://www.unicode.org/charts/PDF/U10000.pdf
05:22 TimToady \x10000 is in Linear B
05:23 bkeeler > say "zomgeeeetworks" ~~ /zomg <{ rx/e+t/ }> works/ ?? 'Match' !! 'No match'
05:23 bkeeler Match
05:23 bkeeler > say "zomgeeeetworks" ~~ /zomg { rx/e+t/ } works/ ?? 'Match' !! 'No match'
05:23 bkeeler No match
05:23 lue oh, that long ago, TimToady.
05:25 TimToady bkeeler++
05:28 sorear bkeeler: What is this?
05:28 bkeeler Interpolation of the return value of a closure in a <{ ...}> assertion
05:29 bkeeler Looks like I broke <?{ ... }> though :(
05:29 sorear TimToady: An entire plane for ~40 characters?
05:29 TimToady no, that's just one chart
05:30 TimToady I'm sure musical symbols are in the same plane
05:30 TimToady gothic
05:31 TimToady coptic syllabary
05:31 lue rakudo: say "\u1337"
05:31 TimToady cypriot rather
05:31 TimToady std: say "\u1337"
05:32 p6eval rakudo 265726: OUTPUT«\u1337␤»
05:32 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized backslash sequence: '\u' at /tmp/0BwSEFuG3Q line 1:␤------> [32msay "\u[33m⏏[31m1337"[0m␤FAILED 00:01 107m␤»
05:32 lue rakudo: say "\x1337"
05:32 p6eval rakudo 265726: OUTPUT«ጷ␤»
05:33 sorear TimToady: ohh, I intepreted U10000 as U1xxxx
05:33 lue .u 1337
05:33 phenny U+1337 ETHIOPIC SYLLABLE PHWA (ጷ)
05:33 xomas joined #perl6
05:34 lue rakudo: say "\x0007" # hee hee
05:34 p6eval rakudo 265726: OUTPUT«␤»
05:34 Wolfman2000 ...hey, no beeping!
05:35 TimToady heh, http://www.unicode.org/charts/PDF/U1F000.pdf is MahJong tiles :)
05:35 lue sorry wolfman2000
05:36 lue TimToady: I know, I saw that earlier :)
05:36 Wolfman2000 it's alright
05:36 lue While we were talking about Unicode, I just had to type ASCII BEL :)
05:38 lue "What do you mean, you programmed a Mahjong game for the terminal without ASCII art?"
05:38 lue "It's called Unicode, sir!"
05:40 lue .u 263E
05:40 phenny U+263E LAST QUARTER MOON (☾)
05:40 lue .u 236E
05:40 phenny U+236E APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR (⍮)
05:41 TimToady u keyboard
05:41 TimToady .u keyboard
05:41 phenny U+2328 KEYBOARD (⌨)
05:43 lue http://www.unicode.org/charts/PDF/U2600.pdf contains our snowman/comet, along with chess pieces and a couple other snowmen :)
05:43 lue .u 26E8
05:43 phenny U+26E8 (No name found)
05:44 lue rakudo: say "\x26E8"
05:44 p6eval rakudo 265726: OUTPUT«⛨␤»
05:44 lue Yes, unicode does come with defense armor :)
05:49 lue I'd have a field day transcribing unicode symbols into valid P6 commands (as a module of course)
05:49 lue .u 26A0
05:49 phenny U+26A0 WARNING SIGN (⚠)
05:49 lue that could be warning, for example :)
05:50 lue rakudo: warn('Oh noes, warning!'); say "just been warned"
05:50 p6eval rakudo 265726: OUTPUT«Oh noes, warning!␤just been warned␤»
05:50 lue rakudo: multi sub circumfix:<⚠ ⚠>($a){warn($a);};⚠'Oh no!'⚠; say "just been warned"
05:51 p6eval rakudo 265726: OUTPUT«error:imcc:syntax error, unexpected '\n'␤  in file 'EVAL_1' line 58␤Confused at line 11, near "\u26a0'Oh no!'\u26a0"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:51 lue alpha: multi sub circumfix:<⚠ ⚠>($a){warn($a);};⚠'Oh no!'⚠; say "just been warned"
05:51 p6eval alpha 30e0ed: OUTPUT«Oh no!␤just been warned␤»
05:51 TimToady rakudo: say q⟅a b c⟆
05:51 p6eval rakudo 265726: OUTPUT«a b c␤»
05:52 sorear "But how does Rakudo know that that particular square box is a quote?"
05:52 lue .u ⟅
05:52 phenny U+27C5 LEFT S-SHAPED BAG DELIMITER (⟅)
05:57 vamped nice. has anyone made an (unofficial) list of quoting delimeters - besides the few mentioned in S02
05:57 lue http://www.unicode.org/charts/PDF/U1F030.pdf now you can also create a game of dominoes for the terminal!
05:57 TimToady STD has a list of 'em
05:58 TimToady line 343
05:58 bkeeler Must be spring.  The frogs are getting loud
05:59 vamped oh. i guess I'll try to figure out where STD is.
05:59 TimToady http://svn.pugscode.org/pugs/src/perl6/STD.pm
05:59 vamped there it is. i think. in the pugs repo. (too slow)
06:00 sorear lue: http://www.muppetlabs.com/~breadbox/software/cgames.html - terminal minesweeper
06:03 vamped thanks for the line number! searching for the actual characters failed.
06:03 hejki sorear: too bad they're not in perl6 ;<
06:06 lue when I feel like it, I'm going to try my best to reimplement the snowman/comet regex (even if just part of an addon module)
06:07 vamped sorear - you're saying that ⟅ is just showing up as a box for you?
06:08 TimToady I think ⟅⟆ are supposed to look like a bag together
06:08 lue it does (to me)
06:08 hejki i was just gonna say "good that your sentence about the looks of those two characters were conditional" :)
06:09 bkeeler It's a box for me too
06:09 hejki looks just like two garbled unicode symbols (to me) :)
06:11 vamped bkeeler - what system are you running?
06:11 lue and I was thinking to myself "I need to install a full unicode font". Turns out I'm lucky enough to see a lot of them :)
06:11 bkeeler IRC client is Colloquy on MacOS
06:11 lue (I do though; of the three east asian languages (CJK), I've only bothered with installing japanese :) )
06:12 IllvilJa joined #perl6
06:12 vamped ok. I was trying the other day to get some unicode characters to appear in Ubuntu. figured it out partially.
06:12 bkeeler Lucida Grande font
06:12 TimToady in theory, any Chinese character is legal in Japanese.  :)
06:13 lue Yes, but some of the east asian ideographs show up as boxes for me (I consider that good right now; it lets me see what's japanese :) )
06:14 lue .u tim
06:14 phenny U+D300 HANGUL SYLLABLE TIM (팀)
06:14 vamped installed unifond - now my terminal / irc_client work fine. but OOO Writer still shows boxes.
06:14 lue .u toad
06:14 phenny lue: Sorry, no results for 'toad'.
06:15 lue .u toa
06:15 phenny U+2D86 ETHIOPIC SYLLABLE TOA (ⶆ)
06:15 lue .u dy
06:15 phenny U+0684 ARABIC LETTER DYEH (ڄ)
06:15 * TimToady is impressed, not necessarily positively :)
06:15 lue rakudo: say "\x[D300,2D86,0684]"
06:15 p6eval rakudo 265726: OUTPUT«팀ⶆڄ␤»
06:16 lue I am REALLY bored, if it isn't obvious (heck, I just opened up KBlackBox a moment ago)
06:17 lue .u lue
06:17 phenny U+19DE NEW TAI LUE SIGN LAE (᧞)
06:17 vamped where's the source code for .u bot? I'd like to install that functionality for offline use.
06:17 hejki ok.. that's block to me :>
06:17 lue me as well :)
06:17 lue .u camel
06:17 hejki .u hejki
06:17 phenny lue: Sorry, no results for 'camel'.
06:17 phenny hejki: Sorry, no results for 'hejki'.
06:18 hejki =(
06:18 hejki .u sign
06:18 phenny U+00A5 YEN SIGN (¥)
06:18 lue .u came
06:18 phenny lue: Sorry, no results for 'came'.
06:18 hejki :DD
06:18 lue .u cam
06:18 phenny U+CC38 HANGUL SYLLABLE CAM (참)
06:18 lue .u el
06:18 phenny U+C5D8 HANGUL SYLLABLE EL (엘)
06:18 lue rakudo: say "\x[CC38,C5D8]" # enough of that now
06:18 p6eval rakudo 265726: OUTPUT«참엘␤»
06:20 lue .oO(I need to find a good unicode font)
06:20 hejki terminus rocks
06:20 hejki also using urxvt is encouraged :>
06:20 lue are those fonts?
06:21 hejki it tries to fill in chars not found from your current font set by other fontsets
06:21 hejki terminus is
06:21 bkeeler urxvt is a terminal emulator
06:21 hejki urxvt is a terminal emulator
06:21 hejki ye
06:21 hejki :P
06:21 hejki http://heikki.mehtanen.fi/vim_gnum.png
06:21 hejki this is terminus
06:22 bkeeler I've always liked Dejavu, but I might give terminus a try
06:22 TimToady std: say :16<'0o10'> # should be error
06:22 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed radix number at /tmp/7qfMlXj0Vw line 1:␤------> [32msay :16<[33m⏏[31m'0o10'> # should be error[0m␤    expecting number in radix notation␤FAILED 00:01 107m␤»
06:23 lue why?
06:23 TimToady lue: you can't use '' inside <>
06:23 TimToady <> are already quotes
06:23 lue oh :)
06:23 TimToady std: say :16('0o10') # fine
06:23 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
06:23 lue geez, you answered my "why?" so fast you must've time-traveled!
06:24 TimToady I just read your mind
06:25 lue heijki: urxvt looks epic (from that screenshot)
06:27 hejki lue: s/urxvt/my desktop/; :)
06:28 lue that wasn't just urxvt?
06:28 hejki well i run all from cli
06:28 hejki so it's urxvt
06:28 hejki but ran from within xmonad
06:28 hejki 3 urxvt's to be exact
06:28 hejki btw.. the vim theme is strongly inspired by the TV series 'Teenage Mutant Ninja Turtles' :)
06:32 vamped lue: look at: http://search.cpan.org/~zoffix/POE-Component-IRC-Plugin-Unicode-UCD-0.001/lib/POE/Component/IRC/Plugin/Unicode/UCD.pm
06:33 vamped left #perl6
06:36 kaare joined #perl6
06:39 sorear .u larry
06:39 phenny sorear: Sorry, no results for 'larry'.
06:39 sorear hejki: people still use xmonad?
06:39 hejki i use xmonad
06:39 hejki :)
06:39 hejki and quite a bunch of others i do know of
06:39 hejki why?
06:40 sorear its popularity seemed very faddish
06:40 lue alpha: multi sub circumfix:<☠ ☠>($a){die($a);}; ☠"UR DOIN IT RONG"☠
06:40 hejki that's mainly since people don't like haskell
06:40 p6eval alpha 30e0ed: OUTPUT«UR DOIN IT RONG␤in sub »
06:40 sorear also I'm kinda curious what's happened since 0.3
06:41 sorear I was the first of the founding developers to leave the project
06:44 lue o wow. Goodnight everyone o/
06:44 sorear (I still use it, I just consider it finished and no longer have any reason to code for it)
06:55 snarkyboojum joined #perl6
07:01 TimToady colomon: 2«1.1*:2<10>**:2<10>» is a semantic fail; you can't use .{} on a 2
07:02 TimToady and :2«1.1*:2<10>**:2<10>» should not parse
07:08 bkeeler G"night all!
07:09 azawawi joined #perl6
07:09 azawawi good morning
07:09 sorear hello
07:11 uniejo joined #perl6
07:12 pugssvn r30169 | colomon++ | [t/spec] Fudge hyper.t for Rakudo.
07:40 Psyche^ joined #perl6
07:47 Psyche^ joined #perl6
07:50 jonasbn joined #perl6
08:03 payload joined #perl6
08:06 riffraff joined #perl6
08:20 mathw Good {localtime}, #perl6!
08:21 sjohnson yo
08:25 mathw hey sjohnson
08:25 iblechbot joined #perl6
08:25 sjohnson hi matt
08:27 sorear joined #perl6
08:33 jnthn morning, folks
08:33 moritz_ m\o/rning
08:34 * moritz_ stretches
08:36 jnthn :-)
08:36 jnthn Heh, looks like the backlog is mostly folks playing around with unicode. :-)
08:36 jhuni why is there a bunch of (?? True !! False) blocks in operators.pm when you could just use ? for boolean coercion
08:38 moritz_ jhuni: at some point prefix:<?> was broken
08:39 jhuni moritz_: k, the other thing is I am wondering where I can get documentation on all these pir:: functions
08:40 mathw morning jnthn, moritz_, jhuni
08:40 moritz_ jhuni: that's a good question... I think there's a parrot book that documents all the PIR functions
08:40 moritz_ jhuni: the perl wrapper is just something PIR::some-pir-function__SSI  where the SSI are the types
08:41 moritz_ S = string, I = Integer, P = PMC, N = Number
08:42 mathw jnthn: Why did masak take all the unicode ops out of Set.pm?
08:43 jhuni moritz_: I think I am going to look for that parrot book
08:43 jnthn jhuni: They're just Parrot opcodes; consult the Parrot ops docs.
08:43 jnthn mathw: Turns out that if we get stuff outside of Latin-1 in a file, the parser gets slow.
08:44 mathw jnthn: aaaaw :(
08:44 mathw Is it a temporary removal pending a fix to the parser? :)
08:45 jnthn There was also something at non-Latin-1 ops in core without asking for them too...
08:45 jnthn That they may need some pragma to enable them.
08:46 jnthn Anyway, I expect they can come back at some point. For now it was almost doubling the compile time of the setting, which is a little painful for those of us hacking on Rakudo!
08:46 mathw yes it takes long enough already
08:46 mathw hmm I'm not sure why you'd need a pragma to enable unicode ops in the core... provided there was another way to do the same thing, and their very presence didn't cause a 2x slowdown in compile time or something crazy like that...
08:48 jnthn It certainly sucks that it's that much slower.
09:09 mathw Yeah
09:10 mathw I don't suppose there are any clues why?
09:10 hugme joined #perl6
09:10 moritz_ probably the old thing that UTF-8 is a variable width encoding
09:10 jnthn Yes, I know why.
09:10 jnthn moritz_: Yes, that one
09:10 moritz_ and indexing strings just takes longer
09:11 jnthn pmichaud++ discovered this one quite a while back.
09:12 mathw :(
09:39 snarkyboojum joined #perl6
09:47 arnsholt joined #perl6
09:48 payload joined #perl6
09:52 jnthn afk, boring bank stuff
10:00 JimmyZ joined #perl6
10:10 riffraff joined #perl6
10:43 payload joined #perl6
10:48 xinming_ joined #perl6
10:50 dalek rakudo: 041ad2a | (Solomon Foster)++ | src/Perl6/Grammar.pm:
10:50 dalek rakudo: Tweak the grammar for unicode hyperops.  Still getting strange issues with this, but hyper.t definitely works better with this change than without it.
10:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/041ad2a64b102f9f60797d3b6cad5bdb76a48a85
10:50 dalek rakudo: 35f3373 | (Solomon Foster)++ | t/spectest.data:
10:50 dalek rakudo: Turn on hyper.t.
10:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/35f3373d2b8fd5886368a90c988f3339c1026d5c
11:07 masak joined #perl6
11:07 masak oh hai, #perl6
11:07 colomon o/
11:08 clintongormley joined #perl6
11:11 wolf2k_ubuntu joined #perl6
11:13 * masak drops a pin
11:13 arnsholt *BONG*
11:13 arnsholt =)
11:16 masak class Pin { method drop() { say '*BONG*' } }
11:17 payload joined #perl6
11:19 mathw ow
11:19 * mathw stepped on the pin
11:21 hejki class Band { method age() { ... }
11:23 mathw $.foot<left>.toes<big> but= Wounded;
11:25 snarkyboojum masak-san
11:26 masak snarkyboojum!
11:26 masak mathw: your API is a bit counterintuitive. 'foot' is singular, but 'toes' is plural.
11:26 snarkyboojum read with great gusto your last blog post - I too am at week4
11:26 masak snarkyboojum: when do we have our next, wildly successful virtual hackathon?
11:26 hejki one foot has 5 toes
11:26 snarkyboojum the odds
11:26 hejki ermm sorry, i rephrase
11:26 snarkyboojum masak: the sooner the better
11:27 masak snarkyboojum: good thinking.
11:27 hejki class Foot { has $.toes is rw = 5; }
11:27 hejki :)
11:27 masak hejki: nono, toes must be a hash.
11:27 masak we're hash-indexing into it.
11:27 masak or at least it must be Associative.
11:27 colomon Heh... I made it to week 4 last year, then had complete and utter fail.
11:27 hejki :P
11:28 snarkyboojum colomon: :) I spent 3 weeks on week 3, don't tell me it gets worse :P
11:29 masak I've been doing weeks 3 and 4 twice now, just to make sure I actually have the muscle strength to proceed.
11:29 masak it's tough going, no doubt about it.
11:29 snarkyboojum but worthwhile :) I'm swimming 2km a few times a week too - just for kicks
11:30 masak me too :)
11:30 snarkyboojum masak: great minds
11:30 masak must be. :P
11:32 colomon maybe my problem was not realizing week three should take a month.  ;)
11:34 * jnthn back
11:36 colomon jnthn: getting really weird results with unicode hyperops
11:36 jnthn :-/
11:36 jnthn colomon: Probably something silly.
11:37 colomon You never committed the infixish(1) fix, but that was easily done on my part.
11:37 masak jnthn!
11:37 jnthn s/committed// :-)
11:37 jnthn masak: omgz I has a train ticket to Uppsala.
11:37 jnthn I convinced the automat to give me one yesterday.
11:37 jnthn :-)
11:38 colomon some unicode tests pass in hyper.t and some had to be skipped.
11:38 colomon and I get
11:38 colomon > my @a = 1..3; my @b = 3..5; say @a »*« @b
11:38 colomon Confused at line 1, near "say @a \x{c2}\x{bb}*"
11:38 jnthn colomon: Any pattern?
11:38 jnthn OK, the string dump is typical.
11:38 jnthn The confusion is weird.
11:38 colomon not that I could discern while I was half awake last night.
11:39 colomon it's all pushed, so you can take a look when you have a chance.
11:40 jnthn OK, thanks.
11:40 colomon does >>++ work yet?
11:40 jnthn Did it last night.
11:40 colomon \o/
11:40 jnthn and ++<<
11:40 jnthn (prefix)
11:40 masak jnthn: the way you write 'automat', it makes me feel like we're in a Russian satellite state. :P
11:41 colomon cool, just unfudged five hyper.t tests successfully because of those changes.
11:41 colomon and ones that never worked in alpha, so far as  I know.
11:41 jnthn masak: Which is amusing given I thought Slovak actually had loaned the word from German.
11:41 masak jnthn: great news about the tickets though -- looking forward to some serious hacking and Indian food consumption! :)
11:41 arnsholt masak: Just be glad he didn't write it with a v =)
11:41 masak arnsholt: aftomaut. :)
11:42 jnthn masak: That's the Swedish spelling?
11:42 masak jnthn: no, don't listen to masak, he's rambling. :P
11:42 jnthn Phew, it looked weird.
11:42 jnthn ;-)
11:42 masak jnthn: you wrote it right the first time...
11:42 jnthn :-P
11:42 masak it was just seeing the Swedish word in an English sentence which made it feel weird.
11:42 jnthn Are the cash machines "bankomat" here too?
11:43 masak yes, but that's a trademark by some specific bank, I think.
11:43 jnthn Ah, OK.
11:43 masak doesn't prevent people from calling all of them that, though.
11:43 jnthn So based on these two words, Swedish and Slovak are actually quite close.
11:43 arnsholt In Norway, they're called minibank =)
11:43 jnthn ;-)
11:44 masak minibank. that's kinda cute.
11:45 colomon > my @a = (1, 2, 3); say @a>>++; say @a.perl
11:46 colomon 123
11:46 colomon [2, 3, 4]
11:46 colomon > my @a = (1, 2, 3); say @a»++; say @a.perl
11:46 colomon Confused at line 1, near "say @a\x{c2}\x{bb}++"
11:46 jnthn :-/
11:46 jnthn rakudo: my @a = (1, 2, 3); say @a»++; say @a.perl
11:47 p6eval rakudo 35f337: OUTPUT«123␤[2, 3, 4]␤»
11:47 jnthn Erm. :-/
11:47 colomon wtf?
11:47 hejki maybe this is related? 10:42:58 < mathw           > jnthn: Why did masak take all the unicode ops out of Set.pm?
11:47 jnthn hejki: no
11:47 jnthn colomon: Terminal encoding?
11:47 jnthn colomon: Oh, but that doesn't explain the fails int he file.
11:47 masak well, part of the reason was that they didn't work... :/
11:47 jnthn Hmm
11:47 hejki =(
11:48 masak but I don't think they didn't work because they were non-ASCII.
11:48 jnthn masak: Yes, but that's because user defined ops aren't finished.
11:48 masak because the ASCII ops don't work either :(
11:48 jnthn Right. Unicode is unrelated.
11:48 jnthn I wanted to do BEGIN before I fixed those up.
11:48 jnthn Because I akshually need to solve the same problem.
11:49 jnthn I've done BEGIN now, so can steal that infrastructure and fix up the ops. :-)
11:50 jnthn (The problem is that the grammar tweakage code doesn't make it into to PIR, only the current parse, so when the setting is parsed the ops are all there, but once it's persisted we lose them.)
11:50 masak makes vague sense.
11:51 masak great post. jnthn++ # http://use.perl.org/~JonathanWorthington/journal/40258
11:58 mathw masak: API design is hard, that's why
11:58 masak mathw: aye.
11:58 mathw Especially when you're making it up on the spot
11:58 masak it's easy to shoot yourself in the foot.
11:59 takadonet joined #perl6
11:59 takadonet bonjour $perl6
11:59 takadonet #perl6
12:00 masak takadonet: \o
12:00 masak lunch &
12:02 colomon agreed, jnthn++ for the post.
12:03 takadonet colomon: for this post: http://use.perl.org/~JonathanWorthington/journal/40258?from=rss ?
12:03 colomon yes
12:03 colomon takadonet: sorry, that was in the backlog about five lines before you joined up just now.  :)
12:04 takadonet colomon: Should have logged on faster . I read the post this morning at home
12:04 takadonet second thing I do when I wake up
12:07 mathw I liked it too
12:07 mathw jnthn++
12:12 envi^home joined #perl6
12:19 Coke_ joined #perl6
12:19 Coke_ rakudo: 3
12:20 Coke_ rakudo: 3.say
12:20 p6eval rakudo 35f337:  ( no output )
12:20 p6eval rakudo 35f337: OUTPUT«3␤»
12:22 Sarten-X joined #perl6
12:22 Coke_ left #perl6
12:22 synth joined #perl6
12:29 [synth] joined #perl6
12:36 cognominal I concur : great post. jnthn++ # http://use.perl.org/~JonathanWorthington/journal/40258
12:42 moritz_ indeed it is
12:44 ignacio_ joined #perl6
12:45 rv2733 joined #perl6
12:45 szbalint I hope someone's archiving use.perl.org, as the site itself doesn't seem to be maintained anymore
12:46 szbalint It would be a shame for these posts to disappear one day without having a backup
12:47 * moritz_ has 17G of free space on his hard disc - should do :-)
12:47 moritz_ now a scraper...
12:48 moritz_ if one could access a journal entry just by number, not by user... that would be great
12:56 * jnthn is still trying to work out whether/when/to where to move from use.perl.org
12:56 szbalint blogs.perl.org ?
12:56 moritz_ seems decent, if you don't have a javascript phobia
12:56 jnthn Keep hearing "it's flakey" style reports.
12:56 szbalint yeah, it's kind of new
12:57 * jnthn also wonders if there'll be a blogs.perl6.org
12:57 masak szbalint: I'll probably do a backup of all my posts on use.perl.org at some point in the near future.
12:57 jnthn I was quite happy with whatever it was we ran the advent calendar on.
12:57 masak wordpress.
12:57 masak they're good, yes.
12:58 masak those PHP guys know what they're doing :)
12:58 jnthn Heh. I don't care what it's written in.
12:58 jnthn works well for me > dogma :-)
12:59 masak some people seemed to care what http://npw2010.fsfi.is/ was written in :)
12:59 jnthn .oO( http://perl6.is/awesome/
12:59 szbalint there is always movable type as a Perl based blogging platform :)
13:00 jnthn szbalint: Yeah, I've used that a couple of times and not really taken to it.
13:00 jnthn Dunno why.
13:00 moritz_ blogs.perl.org is a modified movable type installation, iiuc
13:01 szbalint done by sixapart guys if I recall correctly?
13:02 moritz_ no idea
13:04 masak it seems http://rt.perl.org/rt3//Public/Bug/Display.html?id=59118 is surrounded by confusion.
13:04 masak I don't really see what's confusing about it: class attributes can have twigils, too.
13:05 masak they work like instance attributes, but they're shared among all instances.
13:05 moritz_ class attributes shouldn't be scoped with 'my'
13:05 masak S12 disagrees.
13:05 moritz_ because it means they become inaccessible when you augment a class
13:05 masak I know. better to use 'our'.
13:05 Wolfman2000 ...I think I found a new hatred
13:05 Wolfman2000 permissions
13:05 masak moritz_: still doesn't make the ticket invalid.
13:06 jnthn I'm not sure I like the spec in that area, fwiw.
13:06 masak Wolfman2000: try not to hate so much. it's bad for your skin. :)
13:06 jnthn I really would like $!foo to always mean instance attribute, unambiguously.
13:06 * moritz_ agrees both with jnthn and masak
13:06 Wolfman2000 masak: noted. Still...you'd think porting over an app from production to server would be better
13:06 masak jnthn: I'm not sure I feel strongly about it. :)
13:07 Wolfman2000 for nearly two months, I had a permissions issue. And it was NEVER made obvious to me
13:07 * masak hugs Wolfman2000
13:07 Wolfman2000 I'm only thankful that the URL to that page has beta. instead of www.
13:07 meppl joined #perl6
13:08 masak jnthn: do you agree that having a dot on public class attributes is nice, because then you can call accessor methods just like on instance attributes?
13:08 masak jnthn: and do you further agree that then it's only consistent to have a C<!> on private class attributes?
13:09 * masak presses on in cross-examining :)
13:09 jnthn masak: I'd mostly seen it as syntactic sugar for "make me an lvalue method that deals with a lexical variable"
13:09 * moritz_ would like a syntactic distinction between class and instance attributes
13:09 moritz_ a trigil!
13:10 masak no, we promised not to do those in A12 :)
13:10 moritz_ %!¢foo!
13:10 jnthn I see . as meaning "make me an accessor" in a declaration context.
13:10 * moritz_ too
13:10 jnthn And it "just knows" what the real underlying storage is.
13:10 masak jnthn: I hear ya, but I don't see how that speaks against twigils on class attrs.
13:10 jnthn They aren't really attrs.
13:10 masak discrimination!
13:11 jnthn It's just a lexical variable.
13:11 ispeak_ joined #perl6
13:11 masak with a twigil.
13:11 PerlJam joined #perl6
13:11 masak hm, seems this discussion needs a circularity saw :P
13:12 PerlJam good morning
13:12 masak PerlJam!
13:12 jnthn I gave you one. "I want $!foo to unambiguously mean instance attribute."
13:12 PerlJam masak!
13:12 jnthn morning, PerlJam
13:12 PerlJam greets jnthn
13:13 PerlJam Anything interesting happen in the last week or so?
13:13 moritz_ aye
13:13 masak jnthn: yeah. but I kinda think that the way things currently are is fairly consistent, and I don't see your motives for changing things to unambiguoulsy mean instance attributes.
13:13 moritz_ we've got custom operators and meta operators back
13:13 masak PerlJam: you bet.
13:13 masak ...thousands of spec tests back...
13:13 PerlJam sweet
13:14 moritz_ and I fixed rakudo + Test::Util
13:14 moritz_ (ok, minor thing, I know :-)
13:14 masak what's Test::Util?
13:14 moritz_ masak: it's a module used in the test suite to spawn an external Perl 6 program and capture output, STDERR; return value etc.
13:14 jnthn masak: Because I'm not too convinced we can reliably/safely know (e.g. inside an augment) whether we've got an instance attribute or a "class attribute".
13:15 masak jnthn: now we're talking. show me an incosistency/problem with the current model, and I'll start to sway.
13:15 jnthn And if we're saying it's a lexical, you shouldn't expect leakage.
13:15 jnthn (out of the original scope)
13:15 masak moritz_: oh, cool.
13:15 masak jnthn: when would there be leakage?
13:16 jnthn masak: class Foo { my $x; }; augment class Foo { say $x; } # I think we agree this is an error.
13:17 masak regardless, the RT ticket doesn't currently reflect the disconnect between the spec and the OO implementor. :)
13:17 masak jnthn: yes.
13:17 masak lexical scope.
13:17 moritz_ class Foo { my $!x; }; augment class Foo { say $!x; } # same error
13:18 masak nod.
13:18 masak still not seeing any problem.
13:18 masak that's what 'my' gets you.
13:18 jnthn Right, but you don't expect class Foo { has $!x; }; augment class Foo { method blah() { say $!x } } to get you an error.
13:19 PerlJam ack lift
13:19 PerlJam ook
13:19 masak no, because 'has' doesn't have a lexical scope, it has an 'instance' scope.
13:19 masak hm, I sorta see why this concerns you...
13:20 jnthn Inside the augment, when I see a $!x, how do I then know whether I have an instance attribute?
13:20 jnthn Or not?
13:20 masak right.
13:20 moritz_ by looking into the class defintion?
13:20 jnthn Given that the thing we're augmenting may well be coming from a pre-compiled module.
13:20 jnthn We could say "oh, the parser goes and uses the introspection interface"
13:20 jnthn But...ick.
13:20 PerlJam jnthn: by introspection  ;>
13:21 PerlJam oops, too slow
13:21 moritz_ doesn't it has to do that anyway? for catching method re-declarations and the like?
13:21 moritz_ oh wait, that's probably the meta class, not the parser
13:22 PerlJam Humans shouldn't have to use the introspection interface for this particular information anyway.  It's the humans that matter.
13:22 jnthn moritz_: The meta-class currently worries about those things.
13:22 moritz_ PerlJam++
13:22 jnthn PerlJam: Well, there is that too. It's nice to know if I'm looking at an instance attribute or not.
13:24 masak so, in summary: class attrs should (1) have accessors just like instance attrs, (2) be either private or public, and (3) work right with 'augment' and inheritance. the current spec does (1) and (2) but not (3).
13:25 jnthn masak: On the whole, I guess I think calling what the spec currently has "class attrs" is a bit misleading.
13:25 masak jnthn: nod.
13:25 masak how can we do better?
13:26 masak should we just remove the ability to combine 'my' and 'our' with twigils?
13:26 jnthn Probably best to look at use cases.
13:26 masak I agree.
13:26 jnthn Well, that'd be a conservative thing, and wouldn't upset me.
13:26 jnthn If people are writing a lexical and a method to go with it all the time, we can probably revisit the "want sugar" issue.
13:27 jnthn I've not seen a lot of code where people are using this sugar though, tbh.
13:27 masak ok, so here's a use case: I have a class Car, and I want a class attribute .carsproduced whose method can be called on any instance and on the type object.
13:27 jnthn And it make make sense to reserve it for soemthing a bit smarter.
13:27 masak please disregard the horrible coding practice involved. :) it's just an example.
13:27 jnthn masak: Here's my real problem. "class attribute" implies some kind of storage.
13:27 masak aye.
13:28 jnthn A kind that is distinct from "where we put instance attributes", "the package" and "the lexpad".
13:28 masak indeed. just as in Java.
13:28 jnthn And we don't have such a concept really at the moment.
13:28 masak just store it in a global hash from types to a pad. :)
13:28 jnthn Yes, and leak memory on lexical classes that go away and anonymous classes.
13:29 jnthn fejl. :-)
13:29 masak oops.
13:29 jnthn Yes, things are never *quite* that easy. :-)
13:30 jnthn (This area is one of those that makes my life awkward when it comes to lexical and anonymous classes generally. Making sure we don't get unwanted attachments.)
13:32 masak I see the problem.
13:32 jnthn It's solvable.
13:32 jnthn With some effort.
13:33 jnthn I think that we may want to for now just say that we reserve twigils on lexicals/package scoped variables while we work out what we actually want that to mean, or what class attributes should really look like, though.
13:33 masak nod. this isn't at all urgent, by the way.
13:34 jnthn I figured. :-)
13:34 masak I was just interested all of a sudden because both lue and jnthn said things I didn't agree with in the ticket. :)
13:35 masak it would be much nicer to have 'self' in the class scope, for example. and proper attribute initialization of the form 'has $.a = 42; has $.b = $!a * 2;'.
13:36 jnthn huh?
13:36 jnthn Those already work but not for that reason.
13:36 jnthn :-)
13:36 jnthn rakudo: class Foo { has $.a = 42; has $.b = $!a * 2; }; say Foo.new.b
13:36 p6eval rakudo 35f337: OUTPUT«84␤»
13:36 masak oh wow :)
13:36 jnthn They work because the thingy on the RHS of an attribute is an anonymous method rather than just a closure. :-)
13:37 masak ok :)
13:37 jnthn masak: BTW, did you see my rather cute discovery yesterday about hyperpostcircumfixes in the backlog? :-)
13:37 masak rakudo: class Foo { has $.a = 42; has $.b = $.a * 2; }; say Foo.new.b
13:37 p6eval rakudo 35f337: OUTPUT«Use of type object as value in numeric context␤current instr.: 'perl6;Perl6Exception;throw' pc 14812 (src/builtins/Seq.pir:77)␤»
13:37 jnthn wtf?
13:37 jnthn Oh.
13:37 jnthn masak: It's flakey at the moment.
13:38 masak jnthn: no, but I haven't backlogged completely yet.
13:38 jnthn masak: Because I accidentally the hash.
13:38 jnthn :-/
13:38 * masak does that
13:40 masak Teratogen: [backlog] stop asking that question and give us a helping hand, damnit :)
13:41 SmokeMachine joined #perl6
13:42 Teratogen i want Perl 6 NOW!
13:42 Teratogen I can't wait any longer!
13:42 jnthn Me too!
13:42 masak I also!
13:43 masak Teratogen: have you used all the parts we have already? because I haven't, and I've been actively trying for two years now :)
13:43 moritz_ hugme: hug Teratogen
13:43 * hugme hugs Teratogen
13:43 phenny hugme: 20 Mar 03:26Z <lue> tell hugme he is needed badly
13:43 masak hugme: hug lue
13:43 * hugme hugs lue
13:43 masak :)
13:44 jnthn oh wow, we got the bots talking! ;-)
13:45 jnthn Now we just need to find a way to get infinite mutual recursion...
13:45 jnthn I mean, er, to not find...
13:45 jnthn :)
13:46 ash_ joined #perl6
13:46 masak naughty jnthn... :)
13:46 masak rakudo: my @a = { a => 1}, { a => 2}, { a => 3}; say @a>><a>
13:46 p6eval rakudo 35f337: OUTPUT«123␤»
13:46 masak jnthn: that one? cool!
13:46 moritz_ this is so cute.
13:46 jnthn masak: Yes!
13:46 jnthn moritz_: Isn't it? :-)
13:46 am0c joined #perl6
13:47 colomon that would work with a class attribute too, wouldn't it?
13:47 masak wow yes! :)
13:47 colomon something like my Point3d @a; say @a>>.x
13:48 ash_ wow, hyper >> is working now?
13:48 jnthn colomon: yes, that's parallel method dispatch, and works too :-)
13:48 jnthn ash_: Yeah
13:48 colomon \o/
13:48 ash_ sweet
13:49 masak say @a>>.?x :)
13:49 justatheory joined #perl6
13:49 jnthn masak: Should already work.
13:50 ash_ slightly un-related, and people might of known about it already, but clang's C++ support has gotten good enough to compile the llvm and clang using clang, so it can self host, oh, and it can compiler parrot, granted its been capable of that for a while though...
13:50 moritz_ rakudo: class Foo { method bar { 'bar' } }; say (1, 2, Foo.new)>>.?bar
13:50 p6eval rakudo 35f337: OUTPUT«bar␤»
13:50 moritz_ ash_: yes, I've tried it on parrot some time ago
13:50 moritz_ and reported some minor problems
13:52 jnthn rakudo: my @a = -1,2,-5; @a>>.=abs; say @a;
13:52 p6eval rakudo 35f337: OUTPUT«125␤»
13:53 ash_ can you use >> on a hash? and what would that do? cycle thorough the kv's?
13:53 moritz_ call the method on each pair
13:54 moritz_ rakudo: say { a => 2, b => 3}>>.key
13:54 p6eval rakudo 35f337: OUTPUT«Method 'key' not found for invocant of class ''␤current instr.: '!dispatch_method_parallel' pc 359 (src/glue/dispatch.pir:72)␤»
13:54 moritz_ NYI it seems :-)
13:54 ash_ rakudo: my %a = { a => 4, b => 3 }; %a>>.say;
13:54 p6eval rakudo 35f337: OUTPUT«a  4␤b      3␤␤»
13:54 ash_ seemed to work
13:55 moritz_ rakudo: my %a = { a => 4, b => 3 }; say %a>>.WHAT
13:55 ash_ is there an extra newline in that?
13:55 p6eval rakudo 35f337: OUTPUT«Hash()␤»
13:55 moritz_ ash_: yes
13:55 ash_ rakudo: my %a = { a => 4, b => 3 }; %a>>.WHAT.say;
13:55 p6eval rakudo 35f337: OUTPUT«Hash()␤»
13:56 ignacio_ joined #perl6
13:56 kfo_ joined #perl6
13:57 jnthn moritz_: It doesn't just grab an iterator, >> considers the LHS in list context.
13:58 jnthn moritz_: So it goes over a list with one hash in.
13:58 jnthn At least, in current impl
13:58 jnthn Maybe we want to tweak that...dunno.
13:58 moritz_ rakudo: say [1, 2]>>.say
13:58 p6eval rakudo 35f337: OUTPUT«1␤2␤11␤»
13:58 moritz_ rakudo: [1, 2]>>.say
13:58 p6eval rakudo 35f337: OUTPUT«1␤2␤»
13:58 moritz_ jnthn: but.. a hash in list context should be the list of pairs, no?
13:59 masak >> combined with .say considered harmful :)
13:59 moritz_ I know, it's just for testing :-)
13:59 ash_ does >> return anything? like a list?
14:00 moritz_ a Seq or a Parcel or a Capture or so
14:00 moritz_ I'm not quite up-to-date
14:00 moritz_ rakudo: say (1, 2)>>.uc.WHAT
14:00 p6eval rakudo 35f337: OUTPUT«Parcel()␤»
14:00 jnthn Parcel iirc.
14:01 jnthn moritz_: Hmm...good point.
14:02 nihiliad joined #perl6
14:02 Lorn joined #perl6
14:06 mathw masak: nonsense, it's not harmful if you don't care about determinism :P
14:06 jnthn Consider it sugar for .pick(*).join("\n").say ;-)
14:07 masak mathw: >> combined with .say considered harmful if you care about determinism :)
14:07 mathw Thank you
14:07 mathw :)
14:07 mathw I know, the usual naive use of it is going to be wrong
14:07 masak but I actually think it might be bad for more reasons than that.
14:07 masak long prints might be interleaved etc.
14:08 jnthn Oh, yes. :-)
14:08 mathw particularly if your interpreter goes multithreaded
14:08 jnthn Who knows what'll happen :)
14:08 moritz_ unless we define prints to be atomic
14:08 mathw that's going to be sooo much fun
14:09 mathw moritz_: I would by instinct say we should let people define an atomic output routine if they need one
14:09 masak I've had Parrot errors be output before the last line of ordinary output in some of my program runs. :(
14:09 masak that's a whole bucket of not fun.
14:09 jnthn That's probably buffering confusion over anything else.
14:10 mathw aaah, buffering
14:10 mathw I've had so much fun with that in the past
14:10 PacoLinux joined #perl6
14:10 moritz_ $|=1
14:12 moritz_ rakudo: try { '"a' ~~ /'"' ~ '"' a/ }; say "alive";
14:12 p6eval rakudo 35f337: OUTPUT«alive␤»
14:12 moritz_ wow, why does it break here?
14:13 moritz_ rakudo: say try { '"a' ~~ /'"' ~ '"' a/ };
14:13 p6eval rakudo 35f337: OUTPUT«Null PMC access in type()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:13 masak works here.
14:13 moritz_ ah, that's the one
14:13 * masak submits rakudobug
14:14 moritz_ if you use the result of the try block
14:14 moritz_ rakudo: say { try die 'foo' }
14:14 p6eval rakudo 35f337: OUTPUT«_block46␤»
14:14 moritz_ rakudo: say try { die 'foo' }
14:14 p6eval rakudo 35f337: OUTPUT«Null PMC access in type()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:16 charsbar joined #perl6
14:16 masak rakudo: say try {}
14:16 p6eval rakudo 35f337: OUTPUT«Null PMC access in type()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:17 mathw ick
14:17 jnthn Rakudo really should try harder.
14:18 mathw feel free to give it a good beating
14:18 gabiruh_ joined #perl6
14:19 dukeleto_ joined #perl6
14:19 kcwu_ joined #perl6
14:19 masak do we have 'use A;' in place yet? I'm fielding this question from Twitter. :)
14:19 jnthn masak: Yes.
14:19 mathw if there's a module called A, surely that would work?
14:20 moritz_ aye
14:20 moritz_ even with versions :-)
14:20 jnthn Well, there was a time when you had to pre-compile things to PIR
14:20 mathw \o/
14:20 masak rakudo: use Test;
14:20 jnthn But that came to and end a while ago. :-)
14:21 p6eval rakudo 35f337:  ( no output )
14:21 masak rakudo: use Test
14:21 masak long delays... :/
14:22 p6eval rakudo 35f337:  ( no output )
14:22 masak locally, when I have a file with just 'use A;', it works fine. If I remove the semicolon, it says 'confused'.
14:23 jnthn std: use A;
14:23 jnthn std: use A
14:23 p6eval std 30169: OUTPUT«Potential difficulties:␤  Can't locate module A at /tmp/FQGpoIxpTk line 1:␤------> [32muse A[33m⏏[31m;[0m␤ok 00:02 106m␤»
14:23 p6eval std 30169: OUTPUT«Potential difficulties:␤  Can't locate module A at /tmp/hIrELZGAXV line 1 (EOF):␤------> [32muse A[33m⏏[31m<EOL>[0m␤ok 00:01 104m␤»
14:23 jnthn :-/
14:23 masak both are equally ok.
14:23 jnthn agree
14:23 jnthn file Rakudo bug if Rakudo refuses to accept the latter.
14:23 * masak files rakudobug
14:26 jnthn masak: oh btw
14:27 meteorjay joined #perl6
14:27 [synth] joined #perl6
14:27 jnthn rakudo: loop (my $a = 1, my $b = 2; $a < 5; $a++, $b++) { say "$a $b"; }
14:27 p6eval rakudo 35f337: OUTPUT«1 2␤2 3␤3 4␤4 5␤»
14:28 moritz_ \o/ item asignment
14:28 masak jnthn: nice!
14:28 jnthn Yeah, hacked it in last night
14:28 masak jnthn++
14:28 takadonet jnthn: WOW!
14:28 takadonet jnthn++
14:28 jnthn If anyone has time to get us some test coverage on it, we can move it to done section in ROADMAP
14:28 synth joined #perl6
14:28 moritz_ asign.t has lots of tests :-)
14:28 jnthn Same for protoregexes, btw; bkeeler++ mentioned those worked too. :-)
14:28 jnthn moritz_: We don't attempt that file yet :-)
14:30 moritz_ rakudo: module Foo::Bar;
14:30 p6eval rakudo 35f337:  ( no output )
14:30 * moritz_ gets Can't handle scope declarator  on modules yet
14:30 moritz_ but it's a bit more complicated
14:31 jnthn :-/
14:31 clintongormley joined #perl6
14:31 moritz_ oh
14:31 moritz_ it's not just for modules, it's for all kind of packages
14:31 Teratogen joined #perl6
14:32 moritz_ rakudo: grammar JSON::Tiny::Grammar;
14:32 p6eval rakudo 35f337:  ( no output )
14:32 moritz_ rakudo: class JSON::Tiny::Actions
14:32 p6eval rakudo 35f337: OUTPUT«Malformed package declaration at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
14:32 moritz_ rakudo: class JSON::Tiny::Actions;
14:32 p6eval rakudo 35f337:  ( no output )
14:32 moritz_ std:  JSON::Tiny::Actions
14:32 p6eval std 30169: OUTPUT«Undeclared name:␤      'JSON::Tiny::Actions' used at line 1␤ok 00:01 107m␤»
14:33 moritz_ std:  class JSON::Tiny::Actions
14:33 p6eval std 30169: OUTPUT«ok 00:01 105m␤»
14:33 moritz_ another semicolon parsing bug
14:33 * masak submits it too
14:37 constant joined #perl6
14:37 constant joined #perl6
14:38 colomon joined #perl6
14:48 riffraff joined #perl6
14:49 pmichaud joined #perl6
14:49 pmichaud good morning, #perl6
14:49 phenny pmichaud: 21 Mar 08:32Z <moritz_> tell pmichaud could you please add a small guide to the nqp-rx README telling people how to update the nqp sources in parrot? it seems to lower the truck number unnecessary as is
14:49 phenny pmichaud: 21 Mar 09:06Z <moritz_> tell pmichaud I've assigned RT #73698 to you; it's blocking me from running the JSON::Tiny test suite, and I need to port JSON::Tiny to proto regexes for the book... - would be nice if you could take a look in your sparse tuits
14:50 moritz_ pmichaud: sorry for bothering you before greeting :-) Oh hai pmichaud
14:50 pmichaud moritz_: np
14:51 pmichaud #73698 is not likely to be an easy fix.
14:51 moritz_ I thought so
14:51 masak oh hai pmichaud
14:52 jnthn hi, pmichaud
14:52 pmichaud I suspect that backslash escapes there will have to be factored out into a set of tests to be run, or we have to change the way that we handle enumerated character lists (been discussed  before)
14:54 * moritz_ remembers the discussion
14:55 mathw oh hai pmichaud
15:01 ash_ joined #perl6
15:02 _sri joined #perl6
15:02 pmichaud I might be able to get the lowercase forms to work relatively quickly, though.
15:05 rgrau` joined #perl6
15:12 ash_ oh, btw, i tried out the INET socket stuff from alpha, it works with minimal changes in master now, if you guys want to put that back in, thats for IO::Socket::INET
15:12 masak ash_: yes, please. :)
15:13 mathw \o/
15:14 ash_ i think the only change I had to make was adding a .local pmc self to INET
15:14 xalbo joined #perl6
15:14 ash_ i haven't tested it much (well, i can fetch google's homepage, so i assume most other stuff works)
15:16 masak that's really all you need. :)
15:29 Trashlord joined #perl6
15:34 ash_ i don't have commit access to put it back in the master, just so you know...
15:36 PerlJam does someone have to manually update the graph on http://rakudo.org/status  ?
15:38 ash_ i'd imagine not...
15:38 ash_ but i don't know for sure
15:44 dukeleto PerlJam: i think it works off of a csv file that pmichaud usually commits to
15:46 pmichaud I'll write up the instructions for updating the csv
15:46 pmichaud I have a script that doesit.
15:52 ash_ so, accessors are implemented basically by making a method that returns a parcel to the attribute?
15:53 mssm joined #perl6
15:58 jnthn Parcel to?
15:58 ash_ the attribute?
15:58 jnthn But no, rw ones just hand back the container itself ATM
15:58 jnthn And ro ones wrap it on a non-rw container.
15:58 jnthn In the future we may (or may not) want to replace that with some kind of Proxy object.
15:59 ash_ ah, proxy is what i was thinking of, i think... maybe
16:00 christine joined #perl6
16:01 jnthn :-)
16:02 colomon o/
16:02 ash_ in my nq-nqp mini-language i am working on, i am almost done making an AST i can walk, so i am going to have to figure out how to actually implement objects now
16:11 ruoso joined #perl6
16:11 jaldhar joined #perl6
16:21 bbkr joined #perl6
16:22 uniejo joined #perl6
16:24 payload joined #perl6
16:28 ash_ joined #perl6
16:31 * masak ponders writing up the class-attributes discussion into a blog post
16:34 jnthn masak: May be a good way of persisting it. :-)
16:34 jnthn masak: Though infrared clogs do that too.
16:34 masak hm, 'infrared clogs' sounds like half of a meme I ought to recognize... :)
16:35 * jnthn waits for the penny to drop :-)
16:35 masak the punny, you mean :P
16:35 jnthn ;-)
16:35 masak funnily enough, Googling it leads back to the Parrot logs :P
16:36 masak right. IR Clogs. got it. :P
16:36 jnthn Yes, they're to blame for this particular one, I think. :-)
16:37 * masak .oO( infrared Parrot clogs... )
16:37 ash_ joined #perl6
16:38 masak jnthn: well, I'm not out to persist the discussion as much as to find a possible design sweet spot that's currently staring us all in the face.
16:38 jnthn nod
16:38 jnthn It'll also make sure that all of us went from it with the same kinda understanding of the problem space. :-)
16:39 TimToady blear
16:39 alester joined #perl6
16:40 * masak hugs TimToady good morning o/
16:41 masak the 'infrared clogs' meme was put into purl in October 2008. one year later, people got tired of it and took it back out.
16:41 masak we also learn that infrared clogs are like ruby slippers, only more so. :)
16:42 TimToady .oO(there's no place like ~)
16:42 jnthn So basically it's a necromeme that just became undead?
16:42 masak jnthn: infradead. :)
16:43 masak (as opposed to ultraviolent...)
16:43 jnthn lol
16:43 TimToady a werememe
16:44 TimToady something that pops up every full moon or so...
16:44 masak "Wherewolf!?" -- "There wolf! There castle!" -- "Why're you talking like that?" -- "Well, you started it..."
16:45 masak s/Wh/W/
16:45 ash_ "Wasn't your hump on the other side?" "What hump?
16:45 ash_ "
16:45 masak :)
16:48 diakopter diz
16:48 cdarroch joined #perl6
16:48 cdarroch joined #perl6
16:50 bkeeler Morning!
16:51 jnthn morning, bkeeler o/
16:51 masak bkeeler! \o/
16:54 pmichaud Hello, bkeeler.
16:55 bkeeler pmichaud: Oh hai!  I've been up to devious tricks with your regex engine again
16:55 pmichaud bkeeler: so I've heard.  :-)
16:55 masak bkeeler++
16:56 jnthn .oO( I heard you liked hacking regex engines )
16:57 masak .oO( ...so I but a regex engine in your regex engine? )
16:57 TimToady I already did bkeeler++ so I don't have to bkeeler++ again.
16:57 masak s/but/put/
16:57 bkeeler Wow, I'm popular today
16:57 bkeeler > my $foo = rx/o+h/; my $bar = 'it'; say "ooooohitworks" ~~ /$foo $bar works/
16:57 bkeeler ooooohitworks
16:57 bkeeler > say "ooooohitworks" ~~ /<{ rx/o+h/ }> <{ "it" }> works/
16:57 bkeeler ooooohitworks
16:57 * moritz_ awakes after 2 hours of sleeping like dead
16:57 moritz_ that could has hit me harder than I would have thought
16:58 masak moritz_: sorry to hear that. mine came and went.
16:58 bkeeler I haven't figured out how to do @array interpolation without extending the regex compiler though
16:58 moritz_ so did my first one :-)
16:58 ash_ bkeeler: ooo, neat so you have variable interpolation in strings started?
16:58 pmichaud ...extending the regex compiler?
16:59 moritz_ bkeeler: by extending nqp-rx :-)
16:59 masak moritz_: uh oh :/
17:00 pmichaud for @array interpolation in regexes, we likely have to come up with a specialized node that can do the array match
17:00 bkeeler pmichaud:  the only way I can see it working is by adding a new PAST::Regex pasttype.  Could be I just haven't thought
17:01 pmichaud (new pasttype)   I agree, that's likely the best way at this point.
17:01 bkeeler Aha, yeah, see we're thinking along the same lines
17:01 pmichaud I hadn't done it yet because I haven't needed it yet.  :-)
17:01 pmichaud It's also something that impacts ltm handling at some point.
17:02 bkeeler And the "$foo = [whatever]" mechanism I also haven't figured out either
17:03 bkeeler What i have so far is at http://github.com/bkeeler/rakudo/commit/a34fcf5263f15802b7d2be4ce410b770be95b61c
17:04 TimToady if you do $<foo> = <{ rx/ (o+h) / }> then $<foo>[0] should get your oohs
17:04 pmichaud bkeeler: looking
17:05 TimToady well, just one ooh in this case
17:05 pmichaud I'm not (yet) keen on the $*ZEROWIDTH variable.
17:05 pmichaud so far we've been able to work without it
17:07 bkeeler > "oooooh" ~~ /$<foo> = <{ rx/(o+h)/ }>/; say $<foo>
17:07 bkeeler oooooh
17:07 TimToady \o/ now can you pull out .[0]?
17:08 bkeeler pmichaud: yeah, it feels like a hack to me too.  But assertion:sym<{ }> needs to know
17:08 pmichaud bkeeler: why?
17:09 bkeeler Because when it's <?{ ...}> it just needs to test the result for truthiness and fail or not.  Otherwise it needs to interpolate the result
17:09 TimToady I wouldn't call that ZEROWIDTH, but maybe BOOLEAN
17:10 pmichaud but that's not consistent with the way that ? and ! are handled for the other assertions
17:10 TimToady in any case, zerowidth is enforced by the outside of the {}, not the inside
17:10 pmichaud ? and ! generally set flags on the underlying assertion node
17:11 bkeeler Indeed.
17:11 TimToady all you do is return a zero-width cursor
17:11 TimToady but that's *after* testing the result for boolean
17:11 pmichaud right
17:11 TimToady the block doesn't need to know that
17:12 pmichaud correct.
17:12 TimToady so yes, a lexical flag, basically
17:12 TimToady a different opcode, really
17:12 pmichaud anyway, afaic $*ZEROWIDTH (or $*BOOLEAN)  don't follow the pattern nqp-rx expects.
17:13 TimToady a different method call on the current Cursor, is all
17:14 bkeeler My first cut of <{ ... }> interpolation broke <?{ ... }>.  That was the fix I came up with, but I certainly open to other ideas
17:14 TimToady and with different LTM characteristics
17:14 pmichaud <{...}>  should parse as   <  ?  {...} >
17:14 pmichaud where the ? is simply a modifier on the {...} assertion
17:14 pmichaud much like   <?foo>  simply has the ? as a modifier on the subrule call to 'foo'
17:14 TimToady yes, and if <!!{...}> doesn't work, it's not recursive
17:15 bkeeler I get that.
17:15 bkeeler Possibly my underlying approach to the interpolation mechanism needs work to accomodate that
17:16 pmichaud um, I thought that nqp already supported code assertions, though, including <?{ ... }> and <!{...}> ?    Am I misremembering?
17:16 TimToady I suspect that you have to recognize <{...}> as a special form
17:17 bkeeler It does
17:17 cotto_work joined #perl6
17:17 moritz_ nqp: grammar Foo { token TOP { <{ 1 + 2 } }
17:17 p6eval nqp: OUTPUT«regex assertion not terminated by angle bracket at line 1, near " }"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
17:17 moritz_ nqp: grammar Foo { token TOP { <{ 1 + 2 }> }
17:17 p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1664 (src/Regex/Cursor-builtins.pir:179)␤»
17:17 bkeeler But nqp-rx doesn't do interpolation
17:17 moritz_ nqp: grammar Foo { token TOP { <{ 1 + 2 }> } }
17:17 p6eval nqp:  ( no output )
17:17 TimToady because <?{...}> has to not do interpolation
17:17 bkeeler TimToady's got it
17:19 pmichaud the difference is in the handling of the closure node in the PAST::Regex tree
17:20 pmichaud if the 'zerowidth' property is set, then we check for booleanness
17:20 pmichaud if not set, then we check the result of the closure and do a match at that point
17:21 bkeeler TimToady: So should <{ @foo }> work as equivalent to interpolating @foo directly?  Ie, if the closure returns a Parcel, interpolate as alternations?
17:21 pmichaud S05 says that <{ ... }>  returns a regex.
17:21 TimToady well, arguable, @foo is a regex :)
17:21 TimToady it's just a funny looking alternation
17:22 TimToady but we could certainly restrict it over the short term
17:23 TimToady or require people to say <{ /@foo/ }>
17:24 TimToady funny thing about <{...}> is that it's almost equiv to $foo where that contains a non-string
17:24 TimToady and <$foo>
17:24 Coke_ joined #perl6
17:24 Coke_ anyone know why openfoundry.org is sending me email? I heard a rumor that it's because of pugs.
17:25 TimToady <{...}> is more like <$foo> in assuming a string should be treated as a regex
17:25 masak Coke_: yeah, think so.
17:25 pmichaud right
17:25 TimToady Coke_: I get it too.
17:25 bkeeler Aaah, I handled it more like $foo
17:25 pmichaud so, if <{...}>  returns a regex, we run it directly
17:25 pmichaud if it returns anything else, we stringify it and run it
17:25 holli joined #perl6
17:25 Coke_ masak, TimToady : I send their contact address a message asking to please stop that, and it was held for several days and finally failed to deliver.
17:25 pmichaud (stringify it, then regexify it, then match)
17:26 bkeeler Speaking of <$foo> I guess I should implement that too
17:26 masak Coke_: I've never complained, because I kinda like traditional Chinese characters :P
17:26 TimToady as opposed to $( ... ), which stringifies anything that isn't a Regex, and matches the string directly
17:27 TimToady I ignore so much email at the best of times that it's not much pain to ignore that one :)
17:27 Coke_ yah, I'm not sure why it finally bothered me. =-)
17:28 masak Coke_: 目前已緊急暫停同步機制!
17:28 masak I mean, it's really sweet of them to tell us... :)
17:28 diakopter fuzzy wuzzy had no hair
17:30 masak diakopter: I'm half-expecting you to turn that into a Rakudo parse failure :P
17:30 Coke_ masak: ... what?
17:31 TimToady std: 目前已緊急暫停同步機制
17:31 p6eval std 30169: OUTPUT«Undeclared routine:␤   '目前已緊急暫停同步機制' used at line 1␤ok 00:01 107m␤»
17:31 jnthn rakudo: multi postfix:<!>($x) { }; 目前已緊急暫停同步機制!
17:31 p6eval rakudo 35f337: OUTPUT«Could not find non-existent sub &目前已緊急暫停同步機制␤current instr.: '_block21' pc 29 (EVAL_2:0)␤»
17:31 jnthn :-)
17:32 pausenclown whats the recommended way to package/publish/deploy a Perl6 module?
17:33 moritz_ pausenclown: proto - see http://github.com/masak/proto/
17:33 pmichaud pausenclown: (1) draft a packaging specification, (2) get it reviewed and approved by language designers, (3) implement the packaging specification, (4) publish your module.  :-) :-)
17:34 pmichaud or, see "proto"  :-)
17:35 moritz_ pmichaud: it's not *that* bad :-)
17:36 REPLeffect joined #perl6
17:38 molaf joined #perl6
17:39 masak Coke_: apparently, the synchronization mechanism is currently suspended for emergency.
17:39 pausenclown my XML parser is nearly ready. i've got a w3c grammar and several action classes (Test, SimpleDom, W3CDom, and Handler)  in various stages of "completeness".
17:40 moritz_ pausenclown++
17:40 bkeeler pausenclown++ sweet
17:41 pausenclown ty =)
17:42 pausenclown i still have a problem of how to name it. i think "XML::Parser" would be too hybrish
17:42 masak Also, Google Translate has 本次問題造成不便之處, 深感抱歉! as "The problems caused inconvenience is deeply sorry!" :)
17:42 masak pausenclown: no, please go ahead.
17:42 pausenclown as it would pollute that namespace for most likely better solutions
17:43 lue hello all!
17:43 masak pausenclown: if it's an XML parser , please call it XML::Parser.
17:43 masak lue! \o/
17:43 bbkr is there any way to check which tokens are available in $/ object? something like $/.keys ?
17:43 masak pausenclown: the hubris only applies in a situation where there's a CPAN.
17:43 lue pmichaud: I can has permission to close bugs on RT?
17:43 masak bbkr: that oughta work, yes.
17:44 masak bbkr: or at least %($/).keys
17:44 hatseflats joined #perl6
17:44 moritz_ bbkr: $/.caps and $/.chunks - implemented in alpha, but not yet in master
17:45 bbkr masak: first one returns --Method 'keys' not found for invocant of class 'Regex;Match'--, second one returns --Method 'keys' not found for invocant of class 'Hash'-- which is just weird :)
17:45 hatseflats joined #perl6
17:45 masak bbkr: what moritz_++ said.
17:46 moritz_ rakudo: 'ab' ~~ /(.)/; say $/.PARROT
17:46 moritz_ rakudo: 'ab' ~~ /(.)/; say %( $/ ).PARROT
17:46 masak swimming &
17:46 lue .oO(darn, just missed pmichaud it seems)
17:46 lue bye masak o/
17:46 p6eval rakudo 35f337: OUTPUT«Method 'PARROT' not found for invocant of class 'Regex;Match'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
17:46 p6eval rakudo 35f337: OUTPUT«Method 'PARROT' not found for invocant of class 'Hash'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
17:46 moritz_ rakudo: 'ab' ~~ /(.)/; say %( $/ ).WHAT
17:46 p6eval rakudo 35f337: OUTPUT«Method 'WHAT' not found for invocant of class 'Hash'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
17:47 bkeeler I suspect it's a parrot Hash, not a rakudo Hash?
17:48 * moritz_ suspsects too
17:50 bbkr ok, so I'll have to wait. I ran into a problem, that if I define token as { ( <a> | <b> )* } then ASTs provided by a and b make()s are available under $/[0]<a> or $/[0]<b> (don't know which one to call).
17:51 bkeeler You could alias them to the same thing
17:51 bbkr how can i do that?
17:51 bkeeler ( <a> | <a=b> )
17:52 bbkr trying...
17:52 bkeeler or ( <foo=a> | <foo=b> )
17:52 bkeeler or you could just test $/[0]<a> for truthiness
17:53 bbkr nice, that aliasing works perfectly. HUGE thanks!
17:53 bkeeler no problem
17:53 moritz_ bbkr: just work with $0<a> // $0<b>
17:54 moritz_ nqp: say(3) if 1
17:54 p6eval nqp: OUTPUT«3␤»
17:54 moritz_ nqp: say(3) if 0
17:54 p6eval nqp:  ( no output )
17:54 lue I didn't know we had nqp here! How many evalbots _do_ we have?
17:55 moritz_ it's all a single bot. And I don't know... you'd have to read the source to find out
17:55 moritz_ pugs repo, misc/evalbot/evalbot.pl or so
17:56 bkeeler We need a luebot
17:56 moritz_ we have one
17:56 bkeeler luebot: expand acronym DXPW
17:56 moritz_ it answers with "DON'T PANIC" most of the time :-)
17:59 Coke_ nqp: say("moritz++") if "awesome" #?
17:59 p6eval nqp: OUTPUT«moritz++␤»
18:00 lue Never heard the acronym DXPW :)
18:01 lue .oO(I guess I'm special now. My nick is suffixed with bot. Proof I'm special because of this: masakbot)
18:01 nihiliad joined #perl6
18:01 eternaleye joined #perl6
18:05 synth joined #perl6
18:05 Psyche^ joined #perl6
18:10 lue Is there anything in dire need of fixing?
18:11 TimToady Perl 5?
18:12 [particle] sigh
18:13 lue ha ha :)
18:14 lue .u pm
18:14 phenny U+33D8 SQUARE PM (㏘)
18:14 lue .u pl
18:14 phenny U+2647 PLUTO (♇)
18:15 lue .u ph
18:15 phenny U+33D7 SQUARE PH (㏗)
18:15 pmichaud .u mickey
18:15 phenny pmichaud: Sorry, no results for 'mickey'.
18:15 payload joined #perl6
18:15 pmichaud (darn, if we have Pluto, we ought to have Mickey as well :-)
18:15 lue pmichaud! I can has permission to close rakudobugs on RT
18:15 lue (nice pun)
18:16 ShaneC joined #perl6
18:22 lue pmichaud: ping
18:22 ash_ joined #perl6
18:23 pmichaud lue: pong
18:24 lue Can you give me permission to close bugs on RT? (I can't find anyone who can)
18:24 pmichaud you know the rules for closing bugs?
18:24 lue they have to be fixed? (I guess I don't)
18:24 pmichaud fixed, *and* there has to be a test for the bug in the suite.
18:25 pmichaud if there's no test, we assign to 'moritz' as a placeholder.
18:25 lue makes sense.
18:25 moritz_ or you can write a test yourself - preferred, actually
18:25 ash_ tests are good
18:26 lue yum!
18:26 TimToady I wonder if we should break the symmetry of say, such that '@foo.say' puts a newline between automatically, but 'say @foo' doesn't
18:26 * pmichaud votes no.
18:26 * moritz_ wouldn't like that
18:27 moritz_ you can still say @foo>>.say if you want that
18:27 pmichaud .say for @foo isn't so bad :-)
18:27 TimToady >>.say is going to be a werememe
18:27 moritz_ oh right
18:27 pmichaud moritz_: ordering
18:27 moritz_ pmichaud: you're right
18:27 moritz_ say @foo.join("\n")
18:27 moritz_ also not too long
18:27 TimToady also too long :)
18:28 ash_ (stealing from ruby) @foo.each.say
18:28 TimToady what does .each return?
18:28 colomon I'm still inclined to think that the standard mode for >>.say should give you the elements in random order.
18:29 pmichaud colomon: yes, I'd like to actually see that implemented in rakudo.
18:29 lue if $fixed and $hastest { close($bug); }; elsif $fixed and !$hastest { (make($test) | assign($moritz));};
18:29 ash_ in ruby it would iterate the list
18:29 pmichaud I'd like the hyperops to at least do things out of sequence
18:29 ash_ like a hyperop sorta
18:29 lue that's the rules for closing a bug, right?
18:29 pmichaud @foo.map: *.say   # perhaps?
18:29 ash_ yeah
18:29 moritz_ lue: yes
18:29 ash_ .each is really .map
18:29 ash_ i just forgot about .map
18:29 pmichaud for is really .map
18:29 ash_ :-x
18:30 TimToady >>.say is an attractive nuisance
18:30 colomon pmichaud: compiling....
18:30 pmichaud I don't feel that the order has to be random, it just needs to be unexpected :-)
18:31 lue where is .map defined? I can't find Cartographer.pm :(
18:31 colomon but random is so easy.... ;)
18:31 TimToady pugs: (1,2,3)>>.say
18:31 p6eval pugs: OUTPUT«2␤3␤1␤»
18:31 pmichaud colomon: yes, but slowish
18:31 TimToady pugs just does a rotate
18:31 pmichaud rotate would be fine, sure
18:31 pmichaud I was even thinking of "all odds follow by all evens"
18:32 moritz_ not very cache friendly
18:32 pmichaud or, second half of list followed by first half
18:32 ash_ std: (1, 2, 3).map: .say; # is that that ugly? (or long?)
18:32 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
18:33 lue Wait, you want to _fake_ a random ordering of elements? http://xkcd.com/221/
18:33 pmichaud one could even do   1, 0, 3, 2, 5, 4, 7, 6, ...
18:33 pmichaud keeps localization but definitely makes someone say "huh?"
18:33 pyrimidine joined #perl6
18:33 moritz_ ash_: won't work - either .map: { .say } or .map: *.say
18:34 ash_ but, isn't it supposed to?
18:34 moritz_ no
18:34 Su-Shee joined #perl6
18:34 moritz_ .say is executed before being passed as an argument to map
18:34 colomon rakudo: for 1, 2, 3 -> $x, $y { say $x; say $y; }
18:34 p6eval rakudo 35f337: OUTPUT«1␤2␤StopIteration␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
18:34 colomon interesting message.
18:34 ash_ moritz_: okay, thanks, i thought that would get passed for some reason
18:35 moritz_ ash_: you could use .map: &say  of course
18:35 colomon rakudo: for 1..5 -> $x, $y { say $x; say $y; }
18:35 pmichaud rakudo's 'for' still isn't implemented using .map
18:35 p6eval rakudo 35f337: OUTPUT«1␤2␤3␤4␤StopIteration␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
18:35 pmichaud we need sink context first
18:35 pmichaud at which point it will complain about calling the block with two few params
18:35 pmichaud as in
18:35 colomon pmichaud: I know, I even came up with a one-liner to prove it.  ;)
18:35 pmichaud (1..5).map( -> $x, $y { say $x; say $y; })
18:35 pmichaud rakudo: (1..5).map( -> $x, $y { say $x; say $y; })
18:35 p6eval rakudo 35f337:  ( no output )
18:36 pmichaud rakudo: (1..5).map( -> $x, $y { say $x; say $y; }).eager
18:36 p6eval rakudo 35f337: OUTPUT«1␤2␤3␤4␤Not enough positional parameters passed; got 1 but expected 2␤current instr.: '_block48' pc 327 (EVAL_1:130)␤»
18:36 colomon rakudo: (1..5).map( -> $x, $y? { say $x; say $y; }).eager
18:36 p6eval rakudo 35f337: OUTPUT«1␤2␤3␤4␤5␤Any()␤»
18:36 colomon okay, I can work with that.
18:36 ash_ what is $y supposed to be in that case?
18:36 ash_ on the last iteration?
18:36 moritz_ an undefined value
18:36 pmichaud undef :-)
18:36 TimToady maybe say is just different from print, and always puts "\n" between elements
18:36 ash_ Mu?
18:36 ash_ got ya
18:36 TimToady use 'say ~@foo' for the other
18:37 pmichaud say "I don't think", "we want", "that";
18:37 moritz_ but shouldn't it be Muu?
18:37 moritz_ *Mu
18:37 ignacio_ joined #perl6
18:37 moritz_ block parameters default to Mu, not Any, after all
18:37 moritz_ (or did that get changed?)
18:37 TimToady pmichaud: say cat "I think", "maybe", "we do"
18:37 pmichaud say "You received ", $a+$b, " coins.";
18:38 TimToady alternately, we need a serial hyper
18:38 pmichaud would serial hyper be something like  S>>  ?
18:38 TimToady yes, but that's ugly :)
18:38 pmichaud then we need a better metachar for "serial"  :-)
18:38 moritz_ @list\S>>.say ?
18:38 moritz_ >S> maybe? :-)
18:38 moritz_ not quit serious...
18:39 colomon @list S>>.say ?
18:39 pmichaud maybe semi, since it implies serialization anyway?    @list;>>.say     :-P
18:39 colomon ugh.
18:39 moritz_ noooo
18:39 jnthn eww
18:39 moritz_ that means that after parsing @list; you need to look ahead if your statemnt is actually finished
18:39 pmichaud no, ltm takes care of that
18:39 pmichaud ;>>  would be longer token than ;
18:39 TimToady confusing to the eye though
18:39 pmichaud agreed, not a great suggestion
18:40 moritz_ pmichaud: parse mentally, I mean
18:40 pmichaud moritz_: ah.
18:40 TimToady we were thinking of using ` and \ for R and S earlier
18:40 moritz_ does that work out well with interpolation?
18:40 lue ⌨>> maybe? (couldn't find a unicode character for serial...)
18:40 * colomon was very happy that R and S won out...
18:41 pmichaud anyway, "serial hyper" sounds to me like it wants a different token altogether
18:41 * jnthn much prefers R and S
18:41 moritz_ say "foo @bar\>>bar()"
18:41 pmichaud too bad we can't easily make use of the | versus ||  meme here
18:41 TimToady @foo*>.say
18:41 pmichaud so that > would be parallel and >> would be serial
18:41 colomon jnthn: what function implements >> op  ?  hyper(&op, @arg)
18:41 jnthn colomon: Yup
18:41 jnthn colomon: Same one for >> and <<
18:41 jnthn colomon: I figured it'd work out fine.
18:42 colomon right, it's just that I changed it and can't see any difference.  :\
18:42 moritz_ forgot to save + recompile? :-)
18:42 lue When you say serial, I can't help but think of serial ports :) [:::::::]
18:42 jnthn Hm. :-/
18:42 PerlJam lue: you serial port has far too many pins
18:43 PerlJam s/you/your
18:43 jnthn say all(@foo); # quite short :-)
18:43 jnthn oh wait
18:43 jnthn say takes many args
18:43 jnthn damm.
18:43 synth joined #perl6
18:43 lue [:::::::::::::::::::::::::::] # <--- probably a printer port
18:43 pmichaud maybe the solution is a different .say
18:44 TimToady another option is just .sayall
18:44 pmichaud yeah, that.
18:44 jnthn yeah
18:44 PerlJam [:::;:]  <-- bent pin
18:44 TimToady .say'em
18:44 * moritz_ was thinking about autovivification recently
18:44 jnthn I like that better than inventing a whole new meta-op.
18:44 TimToady well, unless it's a general problem that needs a general solutoin
18:44 TimToady io
18:45 moritz_ how does my %h; %h<foo>.push: 1; know how to autovif to %h<foo> to Array?
18:45 moritz_ possible answer: %h<foo> evaluates to a Cool type object
18:45 colomon rakudo: (1..10).pick(*).eager.perl.say
18:46 p6eval rakudo 35f337: OUTPUT«(10, 1, 2, 3, 8, 9, 4, 6, 5, 7)␤»
18:46 moritz_ and Cool.push has an rw invocant, and generates a new Array and stores that in the invocant slot
18:46 pmichaud moritz_: %h<foo> evaluates to Any(), and Any() autovivifies into a hash when subscripted
18:46 pmichaud or otherwise treated like a hash
18:47 jnthn pmichaud: I'm guessing that's not in place...or?
18:47 moritz_ so... there's a method Any.push that is called when you do %h<foo>.push('bar')
18:47 pmichaud moritz_: it's only available on the protoobject
18:47 pmichaud so it's not really Any.push
18:47 moritz_ ah
18:47 pmichaud (jnthn:  correct, nyi)
18:47 moritz_ so how would you modify that from user space?
18:47 jnthn method push($self:U: ) { ... }
18:47 moritz_ oh
18:47 moritz_ is that implemented?
18:47 pmichaud nyi
18:48 hicx174 joined #perl6
18:48 jnthn No, but I can do the :D/:U/:S/...yeah I need to read the spec...quite easily. :-)
18:48 TimToady $self:!D   :)
18:48 jnthn oh no...not really?
18:48 jnthn :-P
18:48 TimToady no, not really, I like :U
18:48 jnthn phew
18:48 jnthn :-)
18:48 TimToady to easy to misread :!D
18:49 TimToady actually considered and reject that idea some time ago...
18:49 TimToady *ed
18:49 moritz_ is :D considered to be part of the nominal type in multi dispatch?
18:49 lue Define them in Internet::Emotes :)
18:49 TimToady well, it's sort of a subset
18:49 moritz_ so "no"
18:50 TimToady so in theory, no, but we'd like those to run fast
18:50 moritz_ and also when you call Any.new.push, you'll get a multi dispatch error, not a "no such method" error, right?
18:51 moritz_ a "no applicable candidate" error, I mean
18:51 TimToady btw, $self:U is no good, wants Any:U $self:
18:52 TimToady or Cool:U, if we do it moritz's way
18:52 pmichaud please don't have  %h<foo> return a Cool
18:52 pmichaud %h<foo>  should be the same as   my $foo;
18:52 moritz_ why?
18:52 TimToady but the subsettiness of it is probably not a big performancy issue, since Any/Cool is already nominally looser than Hash/Array
18:52 TimToady performancy, I like that
18:53 pmichaud since my $foo is initialized to Any(),  an undefined subscript of an aggregate should do the same
18:53 pmichaud i.e., assuming that    my %h;  is the same as   my Any %h;
18:53 TimToady ah, right
18:53 TimToady maybe we should initialize to Cool instead.  :)
18:54 pmichaud probably not, since Cool really is a restrictive subset
18:54 pmichaud my %h;  %h<foo> = UserType.new;  # oops
18:54 TimToady yeah, Cool is mostly supposed to be interconversion of scalars
18:54 pmichaud if we put too much into Cool, it becomes Any
18:54 TimToady nodnod
18:56 TimToady so that really does force the return of a WHENCE type object rather than a (defined) Proxy, if autoviv is mediated by :U
18:56 pmichaud correct.
18:56 jnthn I suspect my first cut will be to have :D and :U as syntactic sugar
18:56 * moritz_ is happy with Any:U $self
18:56 jnthn CAn look at optimizing them
18:56 jnthn in the future.
18:56 pmichaud rakudo's Proxy is entirely intended to be a temporary stopgap.
18:57 pmichaud i.e., until we have WHENCE available
18:57 jnthn And yes, I meant Any:U - thinko'd. :-)
18:57 TimToady std: my $self; say $self:U
18:57 p6eval std 30169: OUTPUT«ok 00:01 108m␤»
18:58 TimToady hmm
18:58 pmichaud .oO(adverb?)
18:58 TimToady that's...probably bogus
18:58 colomon Huh.  I added some says, and hyper(&op, @arg) is definitely not being called when I say (1..10)>>.say.
18:58 TimToady certainly not
18:58 colomon I did save, and I did recompile.  :\
18:58 pmichaud I wouldn't expect hyper method call to go through hyper(...)
18:58 TimToady I probably just hacked in :U at the wrong spot
18:58 pmichaud but perhaps I'm wrong about that.
18:59 TimToady unless we want to allow my $type = Any; $type:U, but that's using :U as a postfix, not a name extender
19:00 jnthn pmichaud: They don't.
19:00 jnthn colomon: Oh. I didn't know you were trying to fiddle with parallel dispatch. :-)
19:00 jnthn colomon: That's different.
19:00 jnthn See src/glue/dispatch.pir.
19:01 jnthn hyper(...) handles ops e.g. >>++
19:01 TimToady you'd have to do something like my &temp = *.say; hyper(&temp, @arg)
19:01 TimToady er, :=
19:01 jnthn TimToady: Meh, no thanks. :-)
19:01 jonasbn joined #perl6
19:01 colomon jnthn: ah, I see.
19:02 TimToady jnthn: well, but that might be the correct way.
19:02 jnthn TimToady: Probably not.
19:02 TimToady in terms of function composability
19:03 TimToady probably so, I'd say
19:03 jnthn TimToady: *.perl probably comes out as *
19:03 * pmichaud can't remember the rt admin url
19:03 jnthn @foo>>.perl wocming out as * would kinda suck. :-)
19:03 jnthn Anyway, I've done that bit, I'd rather spend time on stuff that doesn't work, not re-hashing dispatchy stuff I've already re-done several times. :-)
19:03 pmichaud ah, found it.
19:03 pmichaud darn case-sensitive urls
19:04 jmarti joined #perl6
19:05 TimToady just sayin' if you bypass hyper you might end up reinvent a lot of wheels as soon as someone tries to compose with other metaops
19:05 TimToady we don't have many unary metaops yet, but you never know
19:06 TimToady substitute 'my &temp := { $_.say }' if it makes you happier
19:07 TimToady to unify all postfixes including methods, you have to have some way of curring all the provided args without currying the invocant
19:07 TimToady *currying
19:07 TimToady curring: turning into a cur
19:07 TimToady then you can use hyper() for methods too
19:07 jnthn It may work out that way, but you end up with a bunch of extra closure invocations.
19:08 TimToady now you're talking like an optimizer, possibly a premature one :P
19:08 jnthn I'm too lazy to re-do it? :P
19:09 jnthn Anyway, it probably can work out that way. It's just kinda a little lower on my list of stuff to do.
19:09 TimToady fine, it just feels like a kind of thing that would simplify your life in the long run
19:14 jnthn We'll almost certainly be re-visiting the hypers within the next six months anyway and re-doing them somewhat.
19:14 jnthn (Once the parallelism primitives are available.)
19:14 lue .u 26E3
19:14 phenny U+26E3 (No name found)
19:14 lue .u 2683
19:14 phenny U+2683 DIE FACE-4 (⚃)
19:17 * TimToady still wonders if we'll end up with a .each junction that represents bare serialization
19:18 bkeeler rakudo: say chr (0x26E0 .. 0x26E5).pick(1)
19:19 p6eval rakudo 35f337: OUTPUT«⛤␤»
19:19 bkeeler rakudo: say chr (0x2680 .. 0x2685).pick(1)
19:19 p6eval rakudo 35f337: OUTPUT«⚅␤»
19:19 bkeeler Yay, a six.  I win!
19:21 lue rakudo: say chr (0x2680 .. 0x2685).pick(1)
19:21 ash_ lol, unicdoe has a die face?
19:21 p6eval rakudo 35f337: OUTPUT«⚀␤»
19:21 ash_ thats kinda amusing
19:21 jnthn Unicode has everything. :-)
19:21 lue ash_: unicode comes with defense armor. See the backlogs from a few hours ago.
19:21 lue We had a fun night of playing with unicode :)
19:21 lue rakudo: say chr (0x2680 .. 0x2685).pick(1)
19:21 p6eval rakudo 35f337: OUTPUT«⚀␤»
19:21 bkeeler But heaven forbid it do Klingon
19:22 lue exactly :(
19:22 TimToady if we had an each junction, then it's just @foo.each.say
19:22 TimToady just because Ruby does it doesn't mean we shouldn't :)
19:22 jnthn $rubyometer++
19:22 jnthn ;-)
19:23 pmichaud lue: ping
19:23 lue pong
19:23 pmichaud what's your rt id?
19:23 TimToady jnthn: does each look like something that would be easy to autothread as a junction?
19:23 lichtkind joined #perl6
19:24 lue is that a number? my nick is lue, and my email is rnddim@gmail.com
19:24 pmichaud nick is good
19:24 lue to conclude the unicode bit: You've got four astral planes (0x10FFFF), and you can't set aside ~20 for klingon?
19:24 lue (the hex number is the # of spots for characters)
19:25 TimToady hardest trick might be to make each lazy, so you could say each(1..*) * 2 and end up with 2,4,6...*
19:26 ash_ TimToady: would you want a symbol for it too? like if 5 == @a.each.foo { "foo returns 5" }
19:26 ash_ (i didn't use one, but it might make that more understandable maybe?
19:26 TimToady each would not be used in boolean context directly
19:26 ash_ ah
19:26 TimToady or would have to assume all() in that case, perhaps
19:26 bkeeler Someone needs to go crazy on the Unicode committee members with a Bat'leth, that's what I think
19:27 payload joined #perl6
19:27 TimToady each would be an inside out map, really
19:27 TimToady each(1,2,3) + 5 is the same as (6,7,8)
19:28 TimToady it could be done as a junction, or as some other similar type outside of Any
19:28 lue that's klingon for bludgeon (I guess?)
19:29 bkeeler http://en.wikipedia.org/wiki/List_of_weapons_in_Star_Trek#Bat.27leth
19:29 lue Unicode needs to stop being so...prissy about keeping space open. There's more then enough space for all the fake languages and their scripts. :)
19:29 TimToady and if junctions are currently autothreaded serially, then it's the same algorithm that is currently used; we'd just have to suppress parallization when that gets invented
19:30 TimToady *llel
19:30 TimToady Use the Private Use Area or I will kill you!
19:31 lue "you" being...? (Unicode Consortim, hopefully?)
19:31 TimToady the Unicode committee is actually run by Klingons, and they don't want us hacking into their systems with an iBook on Independence Day.
19:32 synth joined #perl6
19:32 pmichaud lue: you now have bugadmin privs (I think)
19:32 lue I'll just wait for the Hitchhiker's Computer to come out. It comes with the ISLS (better than unicode)
19:32 lue pmichaud: \o/
19:33 TimToady little do they realize that Perl supports tr/// with Unicode characters
19:33 lue tr/// ? that's not...
19:33 TimToady I am speaking of the Platonic Perl here...
19:34 lue ISLS: InterStellar Languages Standard. Unicode, prepare to die! :)
19:36 lue (Any decent encoding standard would have Larry Wall to find all languages ever invented and to make sure it's all in order :) )
19:37 am0c joined #perl6
19:38 PerlJam lue: they're hard at work cloning the TimToady consciousness right now ... all they need to do is find some suitable hardware to run him on.
19:38 lue Pah! You'd need the Intel Camel processor, and that doesn't exist on Earth (yet)
19:40 lue GLASS (Galactic Language Archive & Service Standard)
19:41 ash_ hmm, i don't wana be annoying about it, but since it seems more people might reading the irc channel now, IO::Socket::INET from alpha can be ported into master now, almost directly, there is 1 change to some pir code needed to get it to work
19:41 ash_ if anyone with commit access to rakduo wants to cp files :p
19:42 TimToady ISLS actually stands for "It Seems Larry Said", but don't tell anyone that.
19:43 lue ISLS that there was no contradiction between STD.pm and the Synopses.
19:43 lue that works quite well :D
19:43 ash_ you need to add a .local pmc self  and assign it a value in IO/Socket/INET.pm
19:46 TimToady I'd rather have no contradiction between STD.pm and the Synapses.
19:47 lue My brain frequently contradicts reality :)
19:48 eiro joined #perl6
19:52 lichtkind jnthn: ping
19:52 iblechbot joined #perl6
19:55 eiro_ joined #perl6
19:57 mberends joined #perl6
19:57 * lue thinks the RT is a great way to find stuff to work on
19:58 pmichaud afk, kid and wife errands
19:59 colomon \o
19:59 lue bye o/
19:59 lue rakudo: use Test
19:59 p6eval rakudo 35f337:  ( no output )
19:59 lue rakudo: use Test;
19:59 p6eval rakudo 35f337:  ( no output )
20:00 jnthn ash_: I may get chance later today, but today is a tad crowded. :-/
20:01 ash_ no worries, just making sure you guys know its not hard to get working
20:08 lue std: use Test;
20:08 diakopter std: say ++ 3
20:08 p6eval std 30169: OUTPUT«ok 00:01 104m␤»
20:08 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
20:08 lue std: use Test
20:08 p6eval std 30169: OUTPUT«ok 00:01 104m␤»
20:09 diakopter std: ++ ␤++ 3
20:09 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
20:09 lue is it legal to leave off the semicolon?
20:09 diakopter I guess so, if it's the last statement in the block/compilation unit
20:09 PerlJam semicolons are statement separators.  If there's nothing to separate, there's no need for a semicolon
20:10 TimToady std: use Test␤use Test
20:10 p6eval std 30169: OUTPUT«Illegally post-declared type:␤ 'Test' used at line 2␤Undeclared routine:␤  'use' used at line 2␤ok 00:01 105m␤»
20:10 TimToady std: use Test␤my $x = 1;
20:10 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
20:10 TimToady hmm
20:10 TimToady I guess that's legal expression
20:11 TimToady will initialize $x at compile time though, I suspect
20:11 lue Ooh! STD return an error without a bunch of symbols!
20:11 TimToady and pass it as an argument to 'use Test'
20:11 TimToady symbols?
20:12 lue STD: fail miserably
20:12 TimToady you mean like the color codes?
20:12 TimToady std: 42 43
20:12 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/9R2uWux2GL line 1:␤------> [32m42 [33m⏏[31m43[0m␤    expecting any of:␤  bracketed infix␤  infix or meta-infix␤      statement modifier loop␤FAILED 00:01 106m␤»
20:12 TimToady the === are red, the 42 is green, the 43 is red and the ⏏ is kinda yellowish
20:12 lue all those symbols! ,⏏, and [31m
20:13 TimToady your client doesn't handle ANSI color then
20:13 lue Is there any way I can parse those correctly in my irc client?
20:13 TimToady (irssi does)
20:13 lue would XChat?
20:13 justatheory joined #perl6
20:13 TimToady ENOKLOO
20:14 lue ECANTERRORLARRY (encountered when ESPELLING was attempted to be sent to TimToady)
20:14 molaf joined #perl6
20:14 mberends ash_: thanks for investigating IO/Socket/INET.pm, I'll probably get a round tuit in an hour or two
20:15 TimToady interestingly, the logger handles the latter colors, but doesn't translate the red ==='s right.
20:16 TimToady the latest version of XChat supposedly handles ansi colors
20:16 Coke_ ah. I just realized that the std output looked much less verbose after switching irc clients. Guess that'd do it. =-)
20:16 TimToady might not be turned on by default, of course
20:16 lue lemme switch over quickly
20:17 quietfanatic joined #perl6
20:19 Tene .u ⏏
20:19 phenny U+23CF EJECT SYMBOL (⏏)
20:19 TimToady EJECT as in "You're outta here!!!"
20:20 frodwith joined #perl6
20:20 ash_ i'd alias die to ⏏
20:20 TimToady "Here is where I flipped your bozo bit."  :)
20:21 ash_ ⏏ "you dun it wrong"
20:21 TimToady ash_: we picked ⏏ to be something people *wouldn't* be likely to use in their program.  :)
20:21 TimToady and because it looks like a pointer, and because it has "mass"
20:22 lue joined #perl6
20:22 lue std: fail
20:22 p6eval std 30169: OUTPUT«ok 00:01 105m␤»
20:22 lue ...of course :)
20:22 TimToady and, actually, it's in there becuase some people are red/green colorblind
20:22 lue std: raocow
20:22 p6eval std 30169: OUTPUT«Undeclared routine:␤   'raocow' used at line 1␤ok 00:01 105m␤»
20:22 lue std: 42 43
20:22 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/4xqmWoaDX9 line 1:␤------> [32m42 [33m⏏[31m43[0m␤    expecting any of:␤  bracketed infix␤  infix or meta-infix␤      statement modifier loop␤FAILED 00:01 106m␤»
20:23 TimToady std: say grep { $_ % 2 } 1..*
20:23 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing punctuation (semicolon or comma?) after block at /tmp/e15EpNwccR line 1:␤------> [32msay grep { $_ % 2 }[33m⏏[31m 1..*[0m␤    expecting any of:␤    bracketed infix␤  infix or meta-infix␤      statement modifier loop␤FAILED 00:01 107m␤»
20:24 TimToady I had to work to get the pointer after the } rather than before the 1
20:25 lue color codes didn't parse :/ ah well, at least I see a bunch of 001B's
20:25 TimToady std: say grep { $_ % 2 } #`[could be a comment here] 1..*
20:25 p6eval std 30169: OUTPUT«ok 00:01 107m␤»
20:25 lue .u 001B
20:25 phenny U+001B (No name found)
20:25 TimToady hmm
20:25 TimToady stdbug
20:27 PerlJam std: say grep { $_ % 2 }
20:27 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
20:27 [particle] bugs are one size fits all
20:27 PerlJam looks like it might be mis-parsing the comment
20:28 lue what does #` do?
20:29 PerlJam lue: introduces a "long" comment delimited by the bracketing chars
20:29 plobsing joined #perl6
20:29 PerlJam lue: possibly multi-line
20:30 bkeeler_ joined #perl6
20:30 * lue thinks of getting a Perl script for XChat that parses ANSI color codes...
20:31 TimToady std: say grep { $_ % 2 } #`[could be a comment here] 42 43
20:31 p6eval std 30169: OUTPUT«ok 00:01 107m␤»
20:31 TimToady yes, must be misparsing as line-end
20:32 TimToady std: say grep { $_ % 2 } #`[could be a comment here]␤42 43
20:32 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/ilKbdPmQ5W line 2:␤------> [32m42 [33m⏏[31m43[0m␤    expecting any of:␤  bracketed infix␤  infix or meta-infix␤      statement modifier loop␤FAILED 00:01 106m␤»
20:32 TimToady yup
20:33 PerlJam std: say grep { $_ % 2 } #`[could be a comment here]␤ 1..*
20:33 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
20:33 PerlJam std: say grep { $_ % 2 } #`[could be a comment here]␤1..*
20:33 TimToady separate statement though
20:33 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
20:33 PerlJam oh
20:34 TimToady the } terminates the previous
20:34 TimToady std: say grep { $_ % 2 } #`(could be a comment here) 42 43
20:34 p6eval std 30169: OUTPUT«ok 00:01 107m␤»
20:35 TimToady std: say grep { $_ % 2 } #`<> 42 43
20:35 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
20:35 TimToady consistent, I'll give it that...
20:35 lue std: say grep { $_ % 2 } #'«hem» 42 43
20:35 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
20:35 TimToady std: say grep { $_ % 2 } #` 42 43
20:35 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Opening bracket is required for #` comment at /tmp/Lk8jHgBUO6 line 1:␤------> [32msay grep { $_ % 2 } #`[33m⏏[31m 42 43[0m␤FAILED 00:02 106m␤»
20:35 PerlJam std: say grep { $_ % 2 }␤#`<> 42 43
20:35 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/icbn0x5QCl line 2:␤------> [32m#`<> 42 [33m⏏[31m43[0m␤    expecting any of:␤     bracketed infix␤  infix or meta-infix␤      statement modifier loop␤FAILED 00:01 106m␤»
20:36 lue ooh!
20:36 TimToady again, } was at EOL, so terminated statement
20:36 PerlJam (just checking)
20:37 PerlJam (I'm sometimes stubborn that way :)
20:37 TimToady well, time to run a trace
20:38 TimToady ah, it's the } eol checker that's bypassing the comment somehow
20:38 TimToady std: #`<> 42 43
20:38 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/a0ip6CLDr5 line 1:␤------> [32m#`<> 42 [33m⏏[31m43[0m␤    expecting any of:␤     bracketed infix␤  infix or meta-infix␤      statement modifier loop␤FAILED 00:01 106m␤»
20:38 TimToady std: {} #`<> 42 43
20:38 p6eval std 30169: OUTPUT«ok 00:01 105m␤»
20:39 lue rakudo: grep { $_ % 2 } #`<hi> 42 43
20:39 kaare_ joined #perl6
20:39 p6eval rakudo 35f337: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤current instr.: 'grep' pc 279505 (src/gen/core.pir:8713)␤»
20:40 lue .u s-shaped
20:40 phenny U+27C5 LEFT S-SHAPED BAG DELIMITER (⟅)
20:40 lue .u right s-shaped
20:40 phenny U+27C6 RIGHT S-SHAPED BAG DELIMITER (⟆)
20:40 lue std: {} #`⟅harumph⟆ 42 43
20:40 p6eval std 30169: OUTPUT«ok 00:01 106m␤»
20:41 PerlJam lue: I think that rakudo doesn't grok #`() comments yet
20:42 lue rakudo: #`<comment>
20:42 p6eval rakudo 35f337:  ( no output )
20:42 lue it does, apparently
20:42 PerlJam lue: everything to end of line is a comment
20:42 lue oh (duh) :)
20:42 PerlJam rakduo: # foo␤say "hi"
20:42 PerlJam rakudo: # foo␤say "hi"
20:43 p6eval rakudo 35f337: OUTPUT«hi␤»
20:43 PerlJam rakudo: #`[foo] foo␤say "hi"
20:43 p6eval rakudo 35f337: OUTPUT«hi␤»
20:43 PerlJam rakudo: #`[foo] say "blah"␤say "hi"
20:43 p6eval rakudo 35f337: OUTPUT«hi␤»
20:43 lue std: #`<hello␤there>
20:43 p6eval std 30169: OUTPUT«ok 00:01 105m␤»
20:43 lue rakudo: #`<hello␤there>
20:43 p6eval rakudo 35f337: OUTPUT«Confused at line 12, near "there>"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
20:43 lue you're right, it doesn't.
20:44 PerlJam If I ever make a fork of rakudo for my own nefarious purposes, I'm going to name it rakduo since that seems to be a pattern my fingers like to type
20:45 lue is #67124 on RT this multicomment bug?
20:48 PerlJam no
20:48 * lue submits rakudobug
20:49 PerlJam though I suspect that now, the snippet that worked no longer does so.
20:49 PerlJam rakudo: say "foo" ~~ / fo #[ comment here! ] o /
20:49 p6eval rakudo 35f337: OUTPUT«Confused at line 11, near "say \"foo\" "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
20:50 * lue is embarrased to admit, but can't find the new ticket button :/
20:51 PerlJam just email rakudobug@perl.org
20:51 lue that's boring :(
20:52 moritz_ std: say "foo" ~~ / fo #[ comment here! ] o /
20:52 p6eval std 30169: OUTPUT«[31m===[0mSORRY![31m===[0m␤Regex missing terminator at /tmp/v81CF8Znar line 1 (EOF):␤------> [32msay "foo" ~~ / fo #[ comment here! ] o /[33m⏏[31m<EOL>[0m␤Other potential difficulties:␤  Embedded comment without backtick is deprecated at /tmp/v81CF8Znar line 1:␤------>
20:52 p6eval ..[32…
20:52 TimToady the #` code didn't commit to that match, so it ended up backtracking to the # code
20:53 moritz_ std: say "foo" ~~ / fo #`[ comment here! ] o /
20:53 p6eval std 30169: OUTPUT«ok 00:01 107m␤»
20:53 PerlJam rakudo: say "foo" ~~ / fo #`[ comment here! ] o /   # for completeness
20:53 p6eval rakudo 35f337: OUTPUT«Confused at line 11, near "say \"foo\" "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
20:54 TimToady but the backtracking is caused by curlycheck, so doesn't happen in regex
20:54 TimToady testing a fix
20:58 TimToady testing a different fix :/
21:01 TimToady testing a third fix :(
21:01 TimToady maybe I should fix the underlying bug...
21:02 lue Failed Initiative of eXtermination (FIX)
21:03 molaf_ joined #perl6
21:03 lue (back in a flash)
21:04 TimToady maybe I should just take a nap...
21:04 TimToady zzz &
21:05 Trashlord yeah
21:05 Trashlord some food and sleep will do me good too
21:12 lue joined #perl6
21:12 nihiliad joined #perl6
21:13 lue did I miss anything?
21:15 colomon You missed TimToady's grand declaration that he's moving on to Perl 7 now...
21:16 rv2733 joined #perl6
21:16 moritz_ wait, is it April 1st already?
21:16 lue What? And let me guess, he stopped irclog.perlgeek.de from logging before he announced that :)
21:17 colomon He set up an S.E.P.
21:17 colomon ;)
21:17 moritz_ in theory, lines beginning with [OFF] should not be recorded by the IRC logs
21:17 lue Somebody Else's Problem ?
21:17 colomon lue: yes.
21:18 colomon moritz_: handy, that.
21:18 lue (please oh please let that not show up on record)
21:18 colomon jnthn: everyone knew that alreadyt.
21:19 jnthn Damm, everyone knows all my secrets!
21:19 wallberg joined #perl6
21:20 colomon rakudo: my @a = -1, 4, -16, 3; @a.sort({.abs}).perl.say
21:20 p6eval rakudo 35f337: OUTPUT«(-1, 3, 4, -16)␤»
21:23 lue If there are ever
21:23 lue then someone used [OFF].
21:25 lue rakudo: role A {}; multi sub infix:<==>(A $a, A $b) {}; 42 == 42
21:25 p6eval rakudo 35f337:  ( no output )
21:27 lue rakudo: multi sub infix:<+> ($l,$r) { $l ~ $r }; say( 1 + 2 )
21:27 p6eval rakudo 35f337: OUTPUT«12␤»
21:28 moritz_ I'm surprised there's no tighter candidate
21:28 lue you added a test for this bug a while ago (#66552). It seems resolved, but I'm not sure...
21:29 pugssvn r30170 | lwall++ | [STD] workaround fact that :: doesn't correctly suppress relexing of multi tokens
21:29 moritz_ lue: does rakudo actually run the test file?
21:29 lue let's see...
21:29 dalek rakudo: db0f857 | moritz++ | t/spectest.data:
21:29 dalek rakudo: run more teest files
21:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/db0f857086f48cf29023d8b4317b4c8ff9263bf6
21:29 jnthn moritz_: Lexical multis are kinda not done yet. :-)
21:30 colomon oooo, moritz_++
21:30 moritz_ jnthn: so... the inner lexical wins, even though it's not tighter?
21:30 lue still open, then?
21:30 jnthn moritz_: at the moment
21:31 jnthn moritz_: It's a NYI/bug.
21:31 moritz_ lue: as long as the test file is not run, yes
21:33 jaldhar joined #perl6
21:34 lue and it doesn't seem like it would atm
21:35 moritz_ even if I fudge out the tests that don't compile, I get a strange error without any location info
21:35 dalek rakudo: 5886ef7 | moritz++ |  (4 files):
21:35 dalek rakudo: enable build on parrot after pcc_hackathon_6Mar10 merge
21:35 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5886ef7991d29bb9d4bee2d321261a00f9a70ea3
21:35 moritz_ Method 'set_candidates' not found for invocant of class 'Sub'
21:35 moritz_ current instr.: '' pc -1 ((unknown file):-1)
21:37 * moritz_ hates error messages without location info
21:41 colomon anything cool from the parrot merge?
21:41 moritz_ something that helps sorear++ with blizkost, iirc
21:42 pyrimidine left #perl6
21:42 moritz_ MyGrammar.parse doesn't seem to set $/ :(
21:44 bkeeler correct, it does not
21:44 jnthn moritz_: Does that just enable the build or does it pass the tests too? :-)
21:44 moritz_ jnthn: it passes the tests too
21:44 jnthn moritz_: er, how? :-/
21:45 * moritz_ doesn't understand the question
21:45 jnthn moritz_: Well
21:45 jnthn Parrot_ext_call(interp, dispatcher, "PP->P", sub, $1, &junc_result);
21:45 jnthn YOu can't just go deleting the code that does something with junc_result!
21:46 lue parrot: say "hello"
21:46 jnthn ...unless it's working...by accident. :-/
21:46 jnthn Which is even more scary.
21:46 moritz_ jnthn: I didn't come up with that - bacek did. And afaict it all works
21:46 bkeeler But that result is clearly a pile of junc
21:47 jnthn It looks like bull to me, but I'll check into it later.
21:48 jnthn I can't imagine how, other than some strange bit of luck, the return value is getting propogated.
21:48 * moritz_ says "strange bit of luck"
21:48 jnthn Well, maybe it is, but it's crappy API design too.
21:49 jnthn Looks like, "Here's the return value from the thing you called...but hey don't worry, you don't need to say you want it as the return value for the current sub too, we just leave that pointer around." :-/
21:51 * moritz_ redirects jnthn to #parrot
21:51 * jnthn kinda can't be bothered.
21:53 lue A redirect to #parrot is only recommend for those who own Norweigan Blues
21:54 pugssvn r30171 | moritz++ | [t/spec] basic tests for proto regexes, including some action methods
21:55 jnthn \o/
21:55 jnthn moritz_: Do those pass too?! :-)
21:55 moritz_ aye :-)
21:55 jnthn \o/
21:55 jnthn One roadmap item down. :-)
21:55 lue (I vote we use HTTP status codes as part of the #perl6 code. See http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
21:55 moritz_ I'd appreciate a second pair of eyes on them, though
21:55 lue moritz_++
21:57 lue 418! 418!
21:58 dalek rakudo: eae8b29 | moritz++ | t/spectest.data:
21:58 dalek rakudo: we pass some basic protoregex tests
21:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/eae8b29a1ea339b4cf466ea6f85f503773a0ac5d
21:59 bkeeler Looks fine to me
21:59 lue .oO(status code 501 is rakudo's motto almost)
22:00 moritz_ thanks bkeeler... what *should* I write into the body of the proto token?
22:01 bkeeler Whatever you want it to match
22:01 bkeeler Oh, you mean the <...> thing
22:01 jnthn <...> is the only thing you can write in the proto token itself.
22:01 bkeeler I believe it has to be <...> though I'm not sure why
22:02 jnthn I think i'ts like the regex version of ...
22:02 jnthn Kinda declaring a stub
22:02 jnthn ish. :-)
22:02 jnthn STD uses it heavily too.
22:04 bkeeler S05 doesn't spec it though
22:05 bkeeler The example there has proto token sigil { }
22:05 moritz_ I'll use <...> in the test; can't be that wrong :-)
22:06 bkeeler May as well
22:06 jnthn I think it's correct.
22:06 lue afk (and in the meantime drafting the SubEtha-Net Protocol, The Hitchhiker's Computer, and a new character encoding)
22:06 pugssvn r30172 | moritz++ | [t/spec] use <...> in proto regex defintion, as per jnthn++ and bkeeler++
22:07 lichtkind joined #perl6
22:10 PZt joined #perl6
22:13 moritz_ http://www.perlmonks.org/?node_id=830168 anyone wants to give a Perl 6 answer? :-)
22:15 jnthn Rat. :-)
22:16 riffraff joined #perl6
22:17 * moritz_ just writes it up
22:21 jaldhar joined #perl6
22:21 jaldhar joined #perl6
22:43 meteorjay joined #perl6
22:47 wknight8111 joined #perl6
22:48 * jnthn yawns
22:49 jnthn Not sure I'm going to get much Perl 6 stuff done today :-(
22:49 jnthn EDAYJOB :-)
22:50 xomas joined #perl6
23:22 vamped joined #perl6
23:51 ruoso joined #perl6

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

Perl 6 | Reference Documentation | Rakudo