Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-09-16

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:10 EvanTeitelman joined #perl6
00:12 Psyche^_ joined #perl6
00:12 BenGoldberg joined #perl6
00:15 BenGoldberg rn: print eval "\"\\c[$_ ellipsis]\"" for <vertical horizontal>
00:15 camelia rakudo 223075, niecza v24-95-ga6d4c5f: OUTPUT«⋮…»
00:37 sorear rn: print eval "\"\\c[$_ diagonal ellipsis]\"" for 'up right', 'down left'
00:37 camelia rakudo 223075: OUTPUT«⋰[31m===[0mSORRY![31m===[0m Error while compiling eval_1�Unrecognized character name down left diagonal ellipsis�at eval_1:1�------> [32m"\c[down left diagonal ellipsis[33m�[31m]"[0m�»
00:37 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«⋰Unhandled exception: Unrecognized character name down left diagonal ellipsis␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤  at /home/p6eval/niecza/src/STD.pm6 line 5651 (STD.sorry @ 6) ␤  at /home/p6eval/niecza/src/STD.pm6 line …»
00:37 sorear rn: print eval "\"\\c[$_ diagonal ellipsis]\"" for 'up right', 'down right'
00:37 camelia rakudo 223075, niecza v24-95-ga6d4c5f: OUTPUT«⋰⋱»
00:53 woosley left #perl6
01:07 dayangkun joined #perl6
01:53 ksh joined #perl6
01:56 Mouq std: A: do { eval "{chr &?BLOCK.labels[*-1].ord + 1}: &?BLOCK" }
01:56 camelia std 7c17586: OUTPUT«ok 00:00 48m␤»
01:56 Mouq rn: A: do { eval "{chr &?BLOCK.labels[*-1].ord + 1}: &?BLOCK" }
01:56 camelia rakudo 223075: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/uuPIMD9U_fâ�¤Undeclared name:â�¤    &?BLOCK used at line 1â�¤â�¤Â»
01:56 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method labels in type Block␤  at /tmp/1tLFP1EeeX line 1 (ANON @ 3) ␤  at /tmp/1tLFP1EeeX line 1 (ANON @ 2) ␤  at /tmp/1tLFP1EeeX line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3…»
01:58 Mouq std: A: do { eval "{chr &?BLOCK.labels[*-1].ord + 1}: do &?BLOCK" } # What I think I really meant
01:58 camelia std 7c17586: OUTPUT«ok 00:00 48m␤»
02:17 prevost joined #perl6
02:34 Mouq r: (1e0 / 5.562684647e-309).say; (1e0 / 5.562684646e-309).say;
02:34 camelia rakudo 223075: OUTPUT«1.79769313462575e+308␤Inf␤»
02:53 Mouq r: ("z" ~^ "C").perl
02:53 camelia rakudo 223075: OUTPUT«Invalid operation on binary string␤  in method perl at src/gen/CORE.setting:6099␤  in method perl at src/gen/CORE.setting:957␤  in block  at /tmp/MCMK8hXivm:1␤␤»
02:53 Mouq r: ("z" ~^ "C").encode.decode.perl
02:53 camelia : ( no output )
02:53 Mouq r: ("z" ~^ "C").encode.decode.perl.say
02:53 camelia rakudo 223075: OUTPUT«"9"␤»
02:59 pupoque joined #perl6
03:09 preflex_ joined #perl6
03:57 panchiniak_ joined #perl6
03:57 panchiniak_ left #perl6
04:02 krokite joined #perl6
04:02 krokite joined #perl6
04:11 iravan joined #perl6
04:12 iravan left #perl6
04:34 eternaleye joined #perl6
04:40 iSlug joined #perl6
04:51 rurban joined #perl6
05:01 Mouq std: OUTER: do { my-inner: do { ... } }; my-inner: while { ... }
05:01 camelia std 7c17586: OUTPUT«[31m===[0mSORRY![31m===[0m�Expression needs parens to avoid gobbling block at /tmp/iKeVMnnk7P line 1:�------> [32mmy-inner: do { ... } }; my-inner: while [33m�[31m{ ... }[0m�Missing block (apparently gobbled by expression) at /tmp/iKeVMnnk7P line 1:�-----…»
05:01 Mouq std: OUTER: do { my-inner: do { ... } }; my-inner: do { ... }
05:01 camelia std 7c17586: OUTPUT«ok 00:00 43m␤»
05:03 ingy random idea… port Kwiki to P6!
05:09 hypolin joined #perl6
05:26 SamuraiJack_ joined #perl6
05:33 iSlug joined #perl6
05:34 iSlug Hi everybody
05:35 Mouq Hi iSlug
05:36 cognominal joined #perl6
05:45 moritz \o
05:47 sorear o/
05:47 oris1024 joined #perl6
05:50 moritz http://danluu.com/pl-troll/ "Huh. That wasn’t so bad. I’ve now graduated to PL troll." :-)
05:50 timotimo remind me again if my checkout is at 13 o clock?
05:53 timotimo i guess ill evaluate my shower options
05:55 diakopter moritz: :) yeh, and there's no need for whitespace or punctuation at all, really... :D
05:57 Mouq …What sort of magick is Grammar.nqp's EXPR?
06:00 diakopter heh.
06:00 diakopter "operator precedence parser", where precedence is much extended from the traditional delineations
06:00 moritz Mouq: see nqp/src/Perl6/Grammar.nqp :-)
06:01 moritz Mouq: though maybe you'll like the corresponding method in STD.pm6 better
06:01 * JimmyZ wonders what :dba() means
06:02 diakopter "doing business as" (vulgar alias)
06:02 JimmyZ It looks like a comment in STD
06:03 diakopter it's like a comment, but it also helps debug output and errors
06:03 JimmyZ oh
06:03 Mouq Oooooh it pulls from https://github.com/perl6/nqp/blob​/master/src/HLL/Grammar.nqp#L403
06:04 Mouq moritz: Ah, yes, I think I'll read STD's EXPR before nqp's. Thank you
06:05 sorear EXPR is an LR-type parser
06:05 sorear similar to the parsers generated by yacc
06:05 diakopter "P.S. If you want to try this at home, you don’t have to write a complete parser. You probably don’t even want to write a complete parser (the SV spec is 1300 pages long, vs 800 for C++, 500 for C, 300 for Java, and 30 for Erlang). "
06:06 sorear and very different from the LL parsers generated by the QRegex compiler
06:06 diakopter ... and the Perl 6 spec is how many "pages"
06:06 sorear the perl 6 spec is written in vaguese.  it'll triple or worse when it's elaborated to the same level of precision as the C++ spec
06:07 diakopter rue..
06:07 diakopter er, true...
06:07 diakopter well, rue, too...
06:08 diakopter sorear: yesterday jnthn and I talked through some ideas for implementing gather/take on moarvm - would you link me to your writeup(s) on those ops? I can't find them
06:09 diakopter both of us strongly suspect we can directly and straightforwardly implement those nqp::cont_* ops based on our handwavey understanding.. but I'd like to refresh my memory on the specifics
06:09 Mouq diakopter: looks like around 900 pages, going by 250 words per page
06:09 JimmyZ Is it in nqp/docs/continuations.pod ?
06:10 diakopter oh... maybe
06:11 diakopter ah okay
06:11 diakopter I'll just assume it's up-to-date :)
06:11 sorear yeah, that's what I wrote at the time
06:12 diakopter [OT] /me finds this interesting http://www.nature.com/news/did-a-hyper​-black-hole-spawn-the-universe-1.13743
06:12 sorear don't feel compelled to implement unrestricted multiprompt delimited continuations just because I got carried away
06:12 sorear (OTOH they *are* pretty cool and useful things)
06:12 sorear has anyone implemented lexotic gather yet?
06:13 * diakopter doesn't know enough to answer that
06:13 diakopter but I doubt it
06:14 hoelzro timotimo: lazily evaluate? =P
06:14 diakopter sorear: does the JVM allow references to stack-allocated things? (if so, does it move them to heap area when you return from that frame?)
06:15 diakopter (or is that invisible to you entirely)
06:15 Mouq sorear: I needed to look up the terminology, but I understand better now. Thank you
06:16 hoelzro do we have Rakudo JVM wired up to the evalbot?
06:16 diakopter hoelzro: I've been waiting for some intrepid soul to volunteer to move the evalbot to another machine
06:17 hoelzro ah
06:17 diakopter hoelzro: you just volunteered yourself
06:17 diakopter congratulations.
06:17 hoelzro if I had a machine to spare, I'd be happy to =/
06:17 diakopter I have the machine
06:17 hoelzro oh?
06:17 diakopter just not the patience to move it
06:17 hoelzro heh
06:17 * hoelzro looks around nervously
06:18 hoelzro I could probably do it this afternoon
06:18 diakopter it's currently spread on two machines, fetched/updated/built on one, executed on another
06:19 diakopter hoelzro: okay, let me know. I'll give you sudo su - p6eval on both
06:19 hoelzro sweet
06:19 hoelzro when's your flight, again?
06:19 diakopter 5:25 pm
06:19 diakopter Coke & I will be hanging out in the Lufthansa Senator lounge, most likely
06:20 hoelzro alright, I should be able to be back online by then
06:20 diakopter well, I will be... Coke will be if he's on a Star Alliance airline
06:20 timotimo kind of about to go have breakfast. will i find any of you down there?
06:20 diakopter Martin & I
06:21 diakopter I ate all the eggs && salmon && most of the cheese
06:25 hoelzro I'm about to drop off of the free 30 minutes WiFi, so I'll see you all later.
06:25 hoelzro safe journies!
06:26 timotimo rob already left for his flight?
06:26 diakopter oh I see
06:26 hoelzro yes
06:26 timotimo pleasant journey!
06:30 sorear diakopter: (references to stack allocated things) logically, no
06:31 sorear the oracle jvm will sometimes put logically heap allocated things on the stack instead if it can prove no references escape, though
06:34 ssutch joined #perl6
06:37 xinming_ joined #perl6
06:44 FROGGS[mobile] joined #perl6
06:50 kaleem joined #perl6
07:01 Mouq This kind of bugs me: Is there a difference between '[…]**0..1' and '[…]?'
07:02 sorear I'm not sure about the present, it's changed at least once though
07:03 sorear I can tell you of a time when they were the same, and also of a time when []? was special-cased to not generate arrays but **0..1 had no such special casing
07:03 moritz that time is now
07:03 moritz ? is special-cased to not produce an array in the Match tree
07:04 Mouq …huh. Okay..
07:05 FROGGS[mobile] So you get either a match or nil
07:06 moritz we've had both configurations at least twice
07:09 FROGGS[mobile] "nice"
07:13 zakharyas joined #perl6
07:22 xinming joined #perl6
07:29 FROGGS joined #perl6
07:29 FROGGS o/
07:29 sorear o/
07:30 [Sno] \o
07:31 ribasushi joined #perl6
07:31 [Sno] anyone can help me finding a parrot build/install issue?
07:32 moritz I can try
07:32 [Sno] I have build's where it installs a parrot_version.pir into lib/parrot/5.7.0/include/parrot_version.pir and build where it doesn't
07:32 [Sno] and I cannot guess when it goes which way
07:33 moritz [Sno]: are both git checkouts?
07:33 moritz or is maybe one from a tarball?
07:33 [Sno] moritz: nope, both tarballs
07:34 [Sno] all from the same tarball, but some in a chroot, some only in sandbox
07:34 moritz [Sno]: do both have a config_lib.pir ?
07:34 domidumont joined #perl6
07:35 [Sno] http://us-east.manta.joyent.com/pkgsrc/public/repo​rts/upstream-trunk64/20130915.2022/parrot-5.7.0nb1 <-- logs of a sample with parrot_version.pir
07:35 [Sno] now lurking for config_lib.pir
07:36 [Sno] moritz: yes, all have a config_lib.pir
07:37 moritz that's curious, because normally config_lib.pir include parrot_version.pir
07:37 robinsmidsrod joined #perl6
07:37 kaleem joined #perl6
07:38 [Sno] okay, so I have to dig why it's in the failing cases different, thanks
07:38 kaleem joined #perl6
07:39 krunen joined #perl6
07:39 kaleem joined #perl6
07:41 johnny5_ joined #perl6
07:50 cognominal joined #perl6
07:56 lizmat joined #perl6
07:57 dayangkun joined #perl6
07:58 dayangkun joined #perl6
08:07 timotimo r: class module { has $.confusion }; say module.new()
08:07 camelia rakudo 223075: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/UPkWY5EFV6â�¤Unable to parse module definitionâ�¤at /tmp/UPkWY5EFV6:1â�¤------> [32ms module { has $.confusion }; say module[33mâ��[31m.new()[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or …»
08:08 timotimo r: class module { has $.confusion }; say ::('module').new()
08:08 camelia rakudo 223075: OUTPUT«module.new(confusion => Any)␤»
08:11 timotimo r: class module { has $.confusion }; say ::('module').new(confusion => *)
08:11 camelia rakudo 223075: OUTPUT«module.new(confusion => *)␤»
08:13 kaleem joined #perl6
08:13 kaleem joined #perl6
08:15 diakopter r: my WhateverCode:($) $x;
08:15 camelia rakudo 223075: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Type 'WhateverCode' is not declaredâ�¤at /tmp/kq5JxyOq7o:1â�¤------> [32mmy WhateverCode[33mâ��[31m:($) $x;[0mâ�¤Malformed myâ�¤at /tmp/kq5JxyOq7o:1â�¤------> [32mmy WhateverCode[33mâ��[31m:($) $x;[0mâ�¤    expecting any of:â�¤        scope…»
08:15 diakopter std: my WhateverCode:($) $x;
08:15 camelia std 7c17586: OUTPUT«[31m===[0mSORRY![31m===[0m�Multiple prefix constraints not yet supported at /tmp/Gk4uDf3Gdu line 1:�------> [32mmy WhateverCode[33m�[31m:($) $x;[0m�Multiple prefix constraints not yet supported at /tmp/Gk4uDf3Gdu line 1:�------> [32mmy WhateverCode[33m�…»
08:16 FROGGS joined #perl6
08:19 timotimo my &foo = * + 1; say &foo.WHAT
08:19 timotimo r: my &foo = * + 1; say &foo.WHAT
08:19 camelia rakudo 223075: OUTPUT«(WhateverCode)␤»
08:19 timotimo %)
08:21 FROGGS yeah, w/e
08:21 FROGGS :o)
08:22 FROGGS r: say +(* + 1)
08:22 camelia rakudo 223075: OUTPUT«WhateverCode.new()␤»
08:23 salv0 joined #perl6
08:24 FROGGS r: 1
08:24 camelia : ( no output )
08:24 FROGGS ^---- broken?
08:24 dalek specs: 5097a7b | Mouq++ | S (5 files):
08:24 dalek specs: Fix links of the form L<Sdd-x>
08:24 dalek specs: review: https://github.com/perl6/specs/commit/5097a7b0ef
08:24 FROGGS n: 1
08:24 camelia : ( no output )
08:24 FROGGS ohh my
08:26 Mouq FROGGS: Probably my fault...
08:26 FROGGS Mouq: how so?
08:26 timotimo wha?
08:26 timotimo the evalbot has stopped outputting the value of the whole expression like a year ago
08:27 FROGGS timotimo: the name is missing
08:28 FROGGS ... it there is no output
08:28 FROGGS if*
08:28 dmol joined #perl6
08:29 dalek evalbot: 798b0a5 | Mouq++ | evalbot.pl:
08:29 dalek evalbot: Fix thinko
08:29 dalek evalbot: review: https://github.com/perl6/evalbot/commit/798b0a5fae
08:30 Mouq FROGGS: I refactored the way it formats output recently
08:32 isBEKaml joined #perl6
08:34 FROGGS joined #perl6
08:34 FROGGS Mouq++ # quick fix
08:36 daxim joined #perl6
08:39 xinming joined #perl6
08:42 p5eval joined #perl6
08:42 moritz evalbot control restart
08:43 timotimo evalbot assemble!
08:44 cognominal joined #perl6
08:45 FROGGS evalbot reappear
08:46 FROGGS hummm, someone should open the door
08:51 camelia joined #perl6
08:53 masak antenoon, #perl6
08:53 moritz \o masak
08:54 masak how was Frankfurt? anyone have a brief report? I'm curious. :)
08:58 dakkar joined #perl6
08:59 woolfy joined #perl6
09:04 FROGGS joined #perl6
09:06 fhelmberger joined #perl6
09:11 timotimo masak: it was nice. the venue was absolutely fantastic, the course material had new stuff for everyone i'm sure, we had good food and drinks and laughs and talks
09:11 nwc10 but 3 days would have been better than 2?
09:12 timotimo well, i had 4 days of hanging out with perl hackers i've only ever seen on irc before (well, really just 2 full and 2 half days), I would have also accepted an additional day ;)
09:12 timotimo it turned out we had to stop for the first day a few slides before the planned end and skipped most of the JVM slides on the second day
09:13 timotimo and we skipped an exercise
09:19 timotimo one of the most interesting things i learnt was that "finishing my thesis" is now slang for "going to the toilet for a dump"
09:20 moritz it is? :-)
09:20 timotimo tadzik said "i'll be finishing my thesis" and pronounced "thesis" like "feces"
09:20 timotimo now i'm teasing him with it
09:22 tadzik >:(
09:23 tadzik well, at least the meaning is sort of similar :)
09:23 timotimo why are you hiding away from us, but at your computer? :P
09:23 tadzik . o O ( getting shit done )
09:26 lizmat joined #perl6
09:28 jnthn o/ from the airport
09:28 yoleaux 14 Sep 2013 19:49Z <FROGGS> jnthn: I can't quite remember that int16 task about strings you explained... You need to either explain it again or pass on to somebody who already knows :P
09:28 yoleaux 15 Sep 2013 11:35Z <JimmyZ> jnthn: Please follow http://about.travis-ci.org/docs/user/getting-st​arted/#Step-two%3A-Activate-GitHub-Service-Hook to Activate GitHub Service Hook, so we can test MoarVM on travis-ci
09:28 yoleaux 15 Sep 2013 11:36Z <JimmyZ> jnthn: Please review https://github.com/MoarVM/MoarVM/commit/b69f699aff, It looks like wrongish
09:29 FROGGS hi jnthn
09:29 jnthn Boarding in 20 or so :)
09:30 timotimo krunen: did you forget your HDMI corner-bend-thingie?
09:30 timotimo it seems like it was left in our room and i didn't have anything like it
09:32 FROGGS diakopter: how are things going?
09:32 timotimo diakopter left with wil to go shopping
09:32 timotimo wait no
09:32 timotimo he's standing right in front of me
09:32 timotimo should i poke it?
09:33 jnthn POKE IT
09:33 timotimo it?
09:33 timotimo him.
09:33 jnthn :P
09:33 woolfy left #perl6
09:34 woolfy joined #perl6
09:34 tadzik how did you get wifi on FRA?
09:34 tadzik what sorcery is this
09:35 jnthn tadzik: You get 30 mins free
09:35 jnthn connect to Telekom
09:35 tadzik aha
09:35 jnthn In fact you get 30 mins free per email address or maybe mac address, I'm not sure... :)
09:35 nwc10 and then you have to reprogram your MAC address?
09:35 jnthn I have multiple devices and multiple email addresses :P
09:35 nwc10 what do they do with the e-mail address?
09:35 tadzik "verify" it
09:35 jnthn I dunno. Probably spam me with currywurst or apfelwein adverts?
09:36 nwc10 Austria's A1 are spamming bastards, and send periodically me e-mail about whatever they want to sell more of.
09:36 nwc10 Unfortunately they are the only people prepared to supply ADSL to this location
09:36 nwc10 but when we move...
09:37 jnthn :)
09:38 nwc10 I'd love someone to tell me where to get Apfelwein in Vienna (at sensible Frankfurt prices)
09:38 FROGGS *g*
09:38 FROGGS v5$ perl6 t/spec/op/pack.v5
09:38 FROGGS 1..14704
09:38 FROGGS Zero-byte allocation not allowed in mem_sys_allocateParrot VM: PANIC: Out of mem!
09:38 FROGGS C file src/gc/alloc_memory.c, line 70
09:38 FROGGS aww :o(
09:38 nwc10 bad cider and expensive cider seem to the options
09:40 jnthn expensive bad cider would be even worse, though
09:40 nwc10 true
09:40 jnthn wow, lots of people submitted nqp pull requests during the class :)
09:41 nwc10 the cunning plan is working?
09:42 jnthn apparently ;)
09:42 nwc10 So far, least worst option (once my cache runs out) seems to be this lot, who sell Bulmers in bottles for a not-stupid price: http://www.bogside.at/
09:42 nwc10 (And Newcastle Brown in 550ml bottles, despite their menu saying 0.5L. They do not appreciate the significance of this error)
09:42 FROGGS I'm a badass, I've only committed to my own repo :/
09:46 masak that's not how you use the word "badass" :)
09:47 jnthn I'm a badass, I'm sat in the chairs for gate 4 even though my flight goes from gate 5.
09:49 masak :P
09:50 JimmyZ :/
09:51 FROGGS masak: that is exactly how *I* use the word badass :P
09:51 masak very well, Humpty Dumpty.
09:52 masak &dir in Rakudo is very very slow :(
09:52 jnthn oh dir
09:52 jnthn Any idea why?
09:53 moritz JVM or parrot?
09:53 * FROGGS .oO( any idir? *g* )
09:53 masak Parrot.
09:53 FROGGS things are funny when you are tired and hungry
09:53 masak jnthn: maybe because it creates all those IO objects? I dunno.
09:54 JimmyZ btw: Parrot dir is not like JVM one, Parrot doesn't have opendir op, only a dir op returns all dirs
09:55 FROGGS 0.6s for a directory that has like 20 things in it
09:55 jnthn o.O
09:55 JimmyZ that's really slow ...
09:56 jnthn yes.
09:56 JimmyZ try MoarVM
09:56 JimmyZ :/
09:56 jnthn ok, I should go find my flight...
09:56 FROGGS ( perl6 -e 'say dir(".")' # 1.2s, perl6 -e 'say 1' # 0.6s )
09:56 nwc10 jnthn: have you checked behind the sofa? :-)
09:58 timotimo i like trains
09:59 FROGGS okay, that includes .gist
10:00 woolfy Getting empty in the lobby.  Liz is bringing away [Coke], tadzik and diakopter to the airport.  I am here with cognominal, mberends and not_gerd
10:01 FROGGS nah, it is the same when assigning to an array and don't say'ing it
10:01 timotimo dir being slow is probably why ufo is so slow
10:03 xinming joined #perl6
10:03 timotimo apparently it is time for rain now
10:06 masak woolfy: hi and hugs to me from everybody! :) I should have said this sooner! :/
10:06 masak er, *from* me *to* everybody. :)
10:06 * masak .oO( demanding hugs: how to come off as excessively needy ) :P
10:07 timotimo too late, most have already dispersed
10:07 * moritz hugs masak
10:07 moritz our culture doesn't really support that, bug hugs *are* essential
10:08 cognominal happy birthday masak
10:08 woolfy slightly startled faces, but mberends, not_gerd and cognominal gracefully accepted your hug, given to them by proxy of me
10:09 woolfy did you have a nice birthday yesterday?
10:09 woolfy ooow, we did not even sang you a song yesterday by proxy
10:09 woolfy happy birthday to you, happy birthday to you, happy birthday dear masak, happy birthday to you
10:10 moritz masak++
10:10 FROGGS yeah, think of all the flowers O.o
10:10 woolfy virtual flowers everywher
10:10 woolfy e
10:12 * masak beams, blushes, and bristles :)
10:13 masak I did have a nice burfday yesterday.
10:13 FROGGS masak: happy birthday!! \o/
10:13 masak decided to spend it with @family, which was an exceptionally wise decision.
10:14 iSlug joined #perl6
10:15 FROGGS joined #perl6
10:15 masak cognominal, woolfy, FROGGS: thank you.
10:15 * masak raises his cup of hot chocolate in toast, to many more happy years in the name of Perl 6
10:17 FROGGS absolutely
10:17 * FROGGS raises something virtually
10:20 timotimo mhhh chocolate on toast
10:21 pernatiy joined #perl6
10:23 timotimo https://gist.github.com/timo/dc358f4f3999232f6303 - even this gives me No applicable candidates found to dispatch to for 'Int' .
10:23 timotimo it seems i'm incapable of compiling a simple pir op this way
10:23 timotimo what could i be doing wrong? do i have to write coercers for all the ops children?
10:23 FROGGS joined #perl6
10:27 denisboyun joined #perl6
10:27 FROGGS hmmm, ooc, I can't declare a generalized lexical postfix for things like `say 2²` ?
10:28 timotimo what is a generalized lexcal postfix?
10:32 timotimo putting coercers there gives me Method 'result' not found for invocant of class 'QAST::SVal'
10:32 woolfy lizmat, mberends, me, not_gerd and cognominal are going to have lunch at the same place we had lunch this weekend: Arche Nova in the conference building.  Nice meal awaits us.
10:32 woolfy Bye bye
10:32 woolfy left #perl6
10:32 timotimo good appetite :)
10:52 kivutar joined #perl6
10:56 * [Coke] waves to woolfy et al.
10:56 [Coke] (from the airport)
10:56 mdxi joined #perl6
10:56 mdxi left #perl6
10:56 * [Coke] had a great time and will hack hack hack once he recovers. :)
10:58 pdurbin left #perl6
11:20 FROGGS joined #perl6
11:25 dalek v5: ebdcd7c | (Tobias Leich)++ | / (7 files):
11:25 dalek v5: use our own ModuleLoader, jnthn++
11:25 dalek v5:
11:25 dalek v5: This has the consequene that we cant use Config.pm from Terms.pm. Turned it around.
11:25 dalek v5: review: https://github.com/rakudo-p5/v5/commit/ebdcd7c434
11:25 dalek v5: 74de2ff | (Tobias Leich)++ | Makefile:
11:25 dalek v5: fix Config.pm's dependecy
11:25 dalek v5: review: https://github.com/rakudo-p5/v5/commit/74de2ff08a
11:25 dalek v5: b9f6f24 | (Tobias Leich)++ | lib/Perl5/Terms.pm:
11:25 dalek v5: fix that occourance of %Config
11:25 dalek v5: review: https://github.com/rakudo-p5/v5/commit/b9f6f24e26
11:32 FROGGS joined #perl6
11:32 FROGGS .tell jnthn when I set %*LANG<Perl5> is explodes due to reblessing the CURSOR in token statement like: "P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type"
11:32 yoleaux FROGGS: I'll pass your message to jnthn.
11:32 FROGGS ossum, took ages to connect >.<
11:32 FROGGS <FROGGS> if I declare a postfix:<²>(){} it would be lexically scoped... and it is specific for ²
11:32 FROGGS <FROGGS> what I'd need (well, not really), would be a way tell put a range and a quantifier in the "sym"
11:32 FROGGS <FROGGS> like: multi postfix:{ <[¹..³]>+ } () {...}
11:32 FROGGS <FROGGS> (would be 0..9 of course)
11:32 FROGGS <FROGGS> I can imagine that TimToady++ already specced sugar like that
11:32 FROGGS <FROGGS> maybe this is saner: multi postfix:/<[¹..³]>+/ () {...}
11:33 FROGGS timotimo: that was what I meant ^^
11:35 hoelzro back at home! \o/
11:37 [Coke] hoelzro: already?
11:37 [Coke] I am in the airport still
11:37 hoelzro I left really early
11:37 hoelzro I actually just came back from lunch!
11:38 * [Coke] is sitting next to diakopter
11:38 hoelzro ah, very good
11:38 hoelzro diakopter: would you mind setting me up with the evalbot stuff?
11:44 diakopter hoelzro: howdy
11:59 btyler joined #perl6
12:02 gfldex joined #perl6
12:14 iSlug joined #perl6
12:21 pupoque left #perl6
12:22 timotimo .tell FROGGS that looks more like a job for an is parsed macro.
12:22 yoleaux timotimo: I'll pass your message to FROGGS.
12:22 timotimo turns out my desktop wasn't even on. i wonder if it shut down by itself or if i just didn't turn it on in the first place :|
12:27 dmol joined #perl6
12:30 [Coke] yikes
12:31 [Coke] did it come back up ok, at least?
12:31 kivutar joined #perl6
12:32 timotimo yeah
12:32 timotimo no problems there
12:34 daxim any blorg posts about internal workshop yet?
12:34 [Coke] I will try to post one once I'm home, but I'm second furthers from home.
12:34 [Coke] *furthest
12:36 daxim okay; are you pu(bli)?shing to planetsix?
12:37 [Coke] ... I am reminded that planetsix was supposed to die ages ago.
12:37 [Coke] Yes, I have keys to planetsix, I'll make sure it shows up there.
12:39 jnap joined #perl6
12:40 [Coke] rant: the idiots spamming blogs.perl.org
12:40 daxim that's what you get for running MT
12:45 timotimo multi-tasking?
12:46 daxim movable type™
12:46 daxim it's the best worst perl multiblog software
12:47 cognominal joined #perl6
12:54 moritz if I ever write something that is supposed to superseed Movable Type, it'll be called Electronic Type, short ET :-)
12:55 kbaker joined #perl6
12:56 PacoAir joined #perl6
12:56 [Coke] you have to bundle in something like google voice if you do that.
12:56 timotimo and the followup will be called FU? :)
13:05 fhelmberger_ joined #perl6
13:07 justforfun joined #perl6
13:07 * justforfun hello Folks
13:07 [Coke] Hallo
13:07 * [Coke] wonders if nqp subs have slots on which he can save attributes.
13:08 justforfun Is Perl6 a new generation of Perl?
13:08 justforfun my mean is like Python 2 and Python 3
13:08 timotimo different from python 2 and 3
13:09 justforfun no Perl6 is a new generation of Perl?
13:09 justforfun like Python 2 and Python 3 that Python 3 is a new generation
13:09 timotimo perl5 and perl6 will be continuously developed at the same time
13:09 justforfun Thus why Perl6?
13:10 timotimo it's a new member in the perl language family
13:10 nwc10 there's a bunch of stuff you can't fix in Perl 5
13:10 timotimo at the beginning, it seemed like perl6 would be replacing perl5 soon
13:10 nwc10 most obviously concurrency
13:10 justforfun it created to fix Perl 5 bugs?
13:11 nwc10 but the Unicode handling isn't ever going to be effecient for Graphemes
13:11 justforfun aha thus it is a new generation
13:11 timotimo perl 5 language bugs, not really implementation bugs
13:11 timotimo perl6 is a completely clean slate
13:11 justforfun Perl5 will be rare and Perl 6 is a new replacement
13:11 timotimo python 3 is just a continuation from python 2
13:11 * jnthn home :)
13:11 yoleaux 11:32Z <FROGGS> jnthn: when I set %*LANG<Perl5> is explodes due to reblessing the CURSOR in token statement like: "P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type"
13:12 nwc10 jnthn: which was more on time, the plane or the train?
13:12 justforfun timotimo: Can I send Pm?
13:12 [Coke] jnthn: ... I am still at the airport! jealous!
13:12 timotimo yeah, send patrick this way! :)
13:12 * [Coke] missed pmichaud and hopes he's doing Ok.
13:12 timotimo same
13:13 * [Coke] is also sad he missed moritz.
13:13 nwc10 also, it's a big maitenance drag that a lot of Perl 5 is written in C, because most people who use Perl don't know C, and most people who know C don't use Perl.
13:17 PZt joined #perl6
13:19 jnthn nwc10: Plane left a little late but we just about made it up. Train was on time and I managed to get lucky with the every-20-minute thing and had a short wait this time :)
13:20 nwc10 now logged at http://irclog.perlgeek.de/​perl6/2013-09-16#i_7592020 just in case it's a one off in "things actually worked" :-)
13:21 fhelmberger joined #perl6
13:25 jnthn It happens... :)
13:26 timotimo [Coke]: i think most of us are :(
13:28 * moritz is certainly sad to have missed all those 6ers, especially those that he never met in person before
13:36 [Coke] no doubt W. will post pics soon, anyway.
13:36 * masak waves from a train! o
13:37 JimmyZ \o/
13:42 rurban joined #perl6
13:46 [Coke] masakes on a train, starring SLJ.
13:51 thou joined #perl6
13:52 FROGGS joined #perl6
13:54 kaare__ joined #perl6
13:55 grondilu joined #perl6
13:59 FROGGS .
13:59 yoleaux 12:22Z <timotimo> FROGGS: that looks more like a job for an is parsed macro.
14:00 FROGGS hmmmm, I have to read how that works...
14:00 ajr joined #perl6
14:01 stevan_ joined #perl6
14:03 dalek Perlito: 8064a20 | (Flavio S. Glock)++ | / (3 files):
14:03 dalek Perlito: Perlito5 - js - CODE objects
14:03 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/8064a203b1
14:03 xinming joined #perl6
14:07 itz_ joined #perl6
14:08 grondilu joined #perl6
14:09 grondilu rn:  class Foo { our $.x; has Int $.y; multi method new { self.new: :y(-1) } }; say Foo.new.perl
14:09 camelia rakudo 223075: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 129011 (src/gen/CORE.setting.pir:55508) (src/gen/CORE.setting:10752)␤called from Sub '' pc 22603 (src/gen/perl6-bootstrap.pir:7493) (src/gen/BOOTSTRAP.nqp:1014)␤called from Sub '' pc 22571 (s…»
14:09 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«Foo.new(...)␤»
14:10 grondilu rn: my $n; sub foo { $n; LEAVE $n++ }; say foo() xx 4;
14:10 camelia rakudo 223075, niecza v24-95-ga6d4c5f: OUTPUT«␤»
14:10 grondilu rn: my $n; sub foo { return $n; LEAVE $n++ }; say foo() xx 4;
14:10 camelia niecza v24-95-ga6d4c5f: OUTPUT«1 2 3 4␤»
14:10 camelia ..rakudo 223075: OUTPUT«(Any) 1 2 3␤»
14:11 benabik joined #perl6
14:20 fridim__ joined #perl6
14:23 fhelmberger joined #perl6
14:26 krokite joined #perl6
14:26 krokite joined #perl6
14:28 pmurias joined #perl6
14:29 [Coke] whee, finally got a lobotomized partcl to build on the jvm
14:30 [Coke] just in time for diakopter to go catch his flight.
14:31 jnthn [Coke]++
14:32 [Coke] ... running it is a different story. crappity.
14:32 [Coke] https://gist.github.com/coke/6581483
14:32 [Coke] any pointers on diagnosing that?
14:34 jnthn [Coke]: Something that should never happen happened, looks like... :S
14:35 [Coke] ok, there's one use in that fiel, that if I comment it out, I can continue.
14:36 [Coke] that file is nearly 4000 lines of nqp.
14:38 [Coke] javap doesn't choke on the compiled class file for those 4K lines.
14:39 * [Coke] peeks at the .serialized and goes slightly blind in one eye.
14:40 pmurias jnthn: what do we use nqp::getstaticcode for?
14:45 moritz pmurias: for example in the rakudo BOOTSTRAP
14:45 moritz when we install methods into classes manually, we often want the actual static code object, not some closure
14:45 jnthn was gonna say, grep, but I suspect pmurias more means why we have it ;)
14:46 jnthn Anyway, yes, that. To get from a closure clone back to the original static code object
14:46 [Coke] .. you are now reading that send in jnthn's voice.
14:47 pmurias and why do we want to install a static code object instead of a closure?
14:48 jnthn Perhaps 'cus we don't want to serialize surrounding context in this case...
14:48 [Coke] I have a src/Partcl.pm -i fI run it directly, I can see that I am running MAIN; should I be able to run the corresponding .class file? (get an error that my input file is 0 len)
14:49 jnthn Should work
14:49 jnthn How are you trying to run it?
14:50 [Coke] perl wrapper with:
14:50 [Coke] system("./install-jvm/bin/n​qp","src/Partcl.pm",@ARGV);
14:50 [Coke] that works - .class does not.
14:51 xenoterracide joined #perl6
14:51 moritz and we also use the static id of r a code object in the backtrace printer :-)
14:51 [Coke] er, I mean jar
14:52 [Coke] using .jar => Error while reading from file: java.nio.charset.MalformedInputException: Input length = 1
14:52 jnthn Are you trying to give the .jar file to nqp?
14:52 [Coke] aye.
14:52 jnthn It won't know what to do with that...jar files need to be handed straight off to the JVM.
14:52 jnthn Just like a PBC or PIR file is given directly to parrot.
14:53 [Coke] ok makes sense. danke.
14:53 jnthn bitte
14:53 rurban joined #perl6
14:55 [Coke] I wonder if it would be helpful for nqp to catch that it was a lowlevel VM file and give a helpful warning.
14:56 [Coke] ... er, without the tautology.
14:58 jnthn That may be a good idea because it might be a good idea. :P
14:59 jnthn Guessing by extension may be enough.
14:59 [Coke] *thwap* :P
15:00 nwc10 you might be able to do it easily by "magic number"
15:00 jnthn 0xCAFEBABE or so, iirc :)
15:00 nwc10 Perl 5 (attempts) to deal with UTF-16 (BE and LE) if the "text" source code is alternating NUL bytes and something appropriate
15:00 nwc10 and I think that it's viable to extend that to UCS-32
15:01 [Coke] -> boardish
15:03 jnthn good flight
15:04 fhelmberger joined #perl6
15:13 dalek Perlito: 4b438fb | (Flavio S. Glock)++ | / (4 files):
15:13 dalek Perlito: Perlito5 - grammar - the "format" statement
15:13 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/4b438fb78f
15:15 pmurias jnthn: why does O hash take a string that it parses instead of a hash?
15:16 tba joined #perl6
15:16 jnthn pmurias: 'cus NQP has no hash constants yet and we had no good way to implement them back when O was done.
15:21 pmurias by hash constants you mean hash literals?
15:22 pmurias or does Perl6 have real hash constants?
15:22 denysonique joined #perl6
15:23 jnthn pmurias: I mean a way to do something close to STD's constant %term            = (:dba('term')            , :prec<z=>);
15:29 japhb joined #perl6
15:31 pmurias is constant %term; %term<dba> = 'term'; allowed?
15:31 dalek Perlito: 9f36ffc | (Flavio S. Glock)++ | / (3 files):
15:31 dalek Perlito: Perlito5 - grammar - the "format" statement - use proper assignment
15:31 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/9f36ffc336
15:40 rindolf joined #perl6
15:43 fhelmberger_ joined #perl6
15:46 pmurias is the object constant or only the variable?
15:46 FROGGS RE: jnthn: when I set %*LANG<Perl5> is explodes due to reblessing the CURSOR in token statement like: "P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type"
15:47 FROGGS jnthn: the said type change is about the cursor itself?
15:48 jnthn pmurias: I dunno if the spec makes it explicit; I know that we have no mechanism to actually enforce "constant all the way down"
15:49 jnthn FROGGS: Yeah, I guess it expects that you did no more than derive the language we were previously in...
15:50 FROGGS ... which was what I did in the first days, but which is not a good idea for most slangs I guess :o)
15:50 FROGGS I guess a design-pro must lay his hands on it... *cough*
15:51 FROGGS (or his thoughts)
15:51 jnthn yeah, I'm pondering...
15:55 TimToady every cursor is supposed to be a new object in theory, so reblessing is not the only way to get a new object :)
15:56 denis_boyun joined #perl6
16:03 iSlug joined #perl6
16:16 dalek nqp: f0716d4 | (Pawel Murias)++ | docs/ops.markdown:
16:16 dalek nqp: Copy over the documentation of the radix op from nqp.ops.
16:16 dalek nqp: review: https://github.com/perl6/nqp/commit/f0716d4cb4
16:26 denis_boyun joined #perl6
16:35 spider-mario joined #perl6
16:39 kaleem joined #perl6
16:47 masak I must confess to being fascinated by Go's mix of OO ingredients. http://nathany.com/good/
16:47 masak it feels a bit like Perl 5's mix, for some reason.
16:48 masak HN discussion here: https://news.ycombinator.com/item?id=6392545
16:50 tadzik hello #perl6
16:52 crazedpsyc joined #perl6
16:52 jnthn o/ tadzik
16:52 jnthn Get home ok?
16:53 tadzik yep, I dind't even crash the plane
16:54 jnthn well done!
16:55 tadzik that made me think of http://www.youtube.com/watch?v=bgg_oIK6rZ8
16:59 FROGGS hi tadzik!
17:06 jeffreykegler joined #perl6
17:10 ingy morning <o
17:10 FROGGS hi ingy
17:10 masak ingy! \o/
17:10 masak detrain &
17:10 SamuraiJack_ joined #perl6
17:12 TimToady .tell Mouq Yes, according to S05:45 niecza is corret and rakudo incorrect on http://irclog.perlgeek.de/​perl6/2013-09-15#i_7590246
17:12 yoleaux TimToady: I'll pass your message to Mouq.
17:12 synopsebot Link: http://perlcabal.org/syn/S05.html#line_45
17:13 jnthn The NFA engine in Rakudo/NQP just doesn't do the longest-literal tie-breaker yet.
17:24 iSlug joined #perl6
17:28 GlitchMr http://glitchmr.github.io/ - I've a feeling I copied perl6.org design.
17:29 flussence ooh, box shadows
17:29 not_gerd joined #perl6
17:29 not_gerd o/
17:29 FROGGS o/
17:40 denis_boyun joined #perl6
17:46 kbaker joined #perl6
17:51 zwut00 joined #perl6
18:00 stevan_ joined #perl6
18:08 ssutch joined #perl6
18:09 stevan_ joined #perl6
18:15 dmol joined #perl6
18:15 Rotwang joined #perl6
18:21 rurban joined #perl6
18:27 zby_home joined #perl6
18:30 PZt joined #perl6
18:34 brahmam joined #perl6
18:42 alester joined #perl6
19:01 GlitchMr http://glitchmr.github.io/
19:02 GlitchMr ok, here is real layout that doesn't copy perl6.org
19:02 GlitchMr (except it seems that GitHub caching is messing with me)
19:11 lowpro30 joined #perl6
19:12 denisboyun joined #perl6
19:19 ssutch joined #perl6
19:21 ajr joined #perl6
19:34 FROGGS GlitchMr++
19:34 FROGGS I like it
19:34 GlitchMr Thanks :-).
19:38 timotimo tadzik: http://www.youtube.com/watch?v=8LOarjz5EeY hellsongs - seasons in the abyss, i mentioned this to you
19:48 tadzik timotimo: haha, that's awesome
19:48 tadzik and they have plenty of those
19:49 timotimo GlitchMr: your blog is now very easy on the eyes :)
19:51 GlitchMr lol ;-)
19:51 GlitchMr Yeah, the previous blog was what happens when programmer who isn't designer designs a website.
19:52 masak GlitchMr: ss/it\'s a <(week)> since first Perl 6 changes article/year/ ?
19:52 GlitchMr lolyeah
19:52 timotimo so many changes in a week!
19:52 masak GlitchMr: compliments on the layout for that page. it looks really slick.
19:52 masak GlitchMr++
19:53 GlitchMr Actually, I didn't design it.
19:53 tadzik and they have more of those :)
19:53 masak I don't care; it's nice :)
19:53 GlitchMr Or rather, I did, but partially.
19:53 GlitchMr I wanted to update the layout, and showed it in certain IRC channel, and somebody improved it ;-).
19:54 FROGGS collab++
19:55 moritz that happened to me three times in here
19:55 moritz (irclogs, perl6.org and feature matrix came originally from me with aweful design, and then people stepped up and improved on it)
19:57 timotimo you mean they stepped on it? :P
19:57 PacoAir joined #perl6
19:57 GlitchMr I still don't understand why Ruby programmers make nicer webpages than Perl or Python programmers.
19:57 btyler joined #perl6
19:59 masak it's mostly a matter of paying attention to such aspects, I think.
20:00 masak there's no magic bullet. just stepwise improvements.
20:00 FROGGS maybe the perl hacker are older in general?
20:01 FROGGS ...and have therefor other expectations
20:01 GlitchMr http://grokcode.com/746/dear​-python-why-are-you-so-ugly/
20:01 GlitchMr This is rather interesting.
20:02 timotimo huh?
20:02 timotimo heroku counts as a ruby site?
20:02 masak FROGGS: there is that. waves upon waves of web developers, each new wave "stuck" in the esthetics of their time.
20:03 FROGGS yeah
20:03 GlitchMr Well, I use Heroku to host Node.js stuff.
20:03 FROGGS masak: we should do something in the near future about the perl6 sites...
20:04 GlitchMr But I assume many Ruby programmers use it.
20:08 masak FROGGS: aye.
20:09 lue hello world o/
20:09 timotimo well, how do we attract designers?
20:09 timotimo possibly somebody who wants to be paid
20:09 FROGGS timotimo: I know good ones (which wants/needs to be paid)
20:10 FROGGS hi lue
20:10 EvanTeitelman joined #perl6
20:12 GlitchMr I think it could be important. "Strangely Consistent" and "Whatever but Cool" look nicely, but other than that, Perl 6 websites are sort of ugly.
20:13 GlitchMr And how website looks does have meaning. Perl 6 websites shouldn't look like Perl 5 websites.
20:13 japhb Is there a variable to which the value of interactive evals gets assigned?  In other words, when using perl6 in interactive mode, entering one statement or expression after another, is there some variable that magically gets assigned with the value of each expression or statement executed?  If not, could there be?  My use case is roughly like bc's magic . variable, where I'm exploring some concept and want to use the result of one evaluation arbit
20:13 japhb rarily within the next one.
20:13 FROGGS GlitchMr: exactly
20:13 jnthn japhb: no
20:13 jnthn japhb: Though it's probably not a hard feature to introduce if we can figure out the details...
20:14 masak if there were one, I'd expect it to be a contextual.
20:14 masak $*LAST
20:14 GlitchMr >>> 2 + 2
20:14 GlitchMr 4
20:14 GlitchMr >>> _ + 2
20:14 GlitchMr 6
20:14 GlitchMr Something like this in Python?
20:14 masak yeah.
20:14 GlitchMr Also, I think such variable should have short name.
20:14 japhb GlitchMr, yeah.
20:14 jnthn We could consider just making $_ be that...
20:14 GlitchMr $_ would be very confusing.
20:14 masak agree.
20:14 masak I wonder if we could get away with $
20:14 masak std: say 4 + $
20:14 jnthn No :)
20:14 japhb I thought of that, but figured what GlitchMr said: confusing
20:14 camelia std 7c17586: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤Non-declarative sigil is missing its name at /tmp/1B5243U9Ch line 1:â�¤------> [32msay 4 + [33mâ��[31m$[0mâ�¤Use of uninitialized value $first in string eq at STD.pm line 66222.â�¤Use of uninitialized value $first in string lt at STD.pm…»
20:15 masak yeah, no.
20:15 jnthn Why is $_ confusing, ooc? :)
20:15 GlitchMr Because it would be mutated when you don't want it.
20:15 masak jnthn: because it may have been assigned to independently.
20:15 jnthn hm, true
20:15 GlitchMr Sometimes you could want to experiment with $_.
20:16 japhb Because I'd like debugging and interactive eval to feel similar.  In fact, I'd like the latter to be more or less a subset of the former.  Which kills messing with a commonly used variable.
20:16 GlitchMr $ would be good, but I don't think modifying grammar for REPL to work would be good idea.
20:16 GlitchMr std: my $var; sub term:<$> { 4 }; $var + $ + $var
20:16 camelia std 7c17586: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confused at /tmp/sPV7lZZgVx line 1:â�¤------> [32mmy $var; sub term:<$> { 4 }; $[33mâ��[31mvar + $ + $var[0mâ�¤    expecting any of:â�¤  POSTâ�¤   feed_separatorâ�¤ infix or meta-infixâ�¤    infixed functionâ�¤       postcircumfixâ�¤  postfixâ�¤
20:16 camelia ..postfix_prefix_…»
20:16 masak japhb: "The REPL is a special case of debugging." interesting slogan.
20:16 japhb I thought of $. in parallel with bc's . , but there's of course confusion from the perl5 world
20:16 masak japhb: I'm gonna mull over that a bit :)
20:17 GlitchMr $/ already means different thing in Perl 6 than in Perl 5.
20:17 japhb GlitchMr, no argument.  I'm just saying, it's not completely without baggage.
20:17 masak japhb: wouldn't it be nice if the answer was "Perl 6 is hookable enough that you just `use Last::Var;`, and then the value of the last expression can be found in the variable *mumble*"? :)
20:17 * japhb wonders whether mental mulling gives off the smell of mulled cider ....
20:18 jnthn masak: Well, the next step up is the REPL mode of the Rakudo debugger... :)
20:18 GlitchMr Underscore is safe in Python's REPL, because Python doesn't use _.
20:18 japhb masak, Why yes, it would!  And then I'd want that loaded always, so I'd probably alias perl6 to perl6 -MLast::Var.  ;-)
20:18 GlitchMr Also, Python's REPL contains interesting magic. If you write to _, it doesn't change its value.
20:18 jnthn So, let's just choose a char that Perl doesn't use...oh...wait...we used them all... ;-)
20:19 japhb heh
20:19 japhb UNICODE!
20:19 japhb :-/
20:19 timotimo $™
20:19 GlitchMr repl> 2 + 2
20:19 GlitchMr 4
20:19 GlitchMr repl> ☃ * 2
20:19 GlitchMr 8
20:19 japhb timotimo, is that your personal variable?
20:19 timotimo :D
20:19 jnthn Just use ↑
20:19 timotimo i can do whatever i like with it!
20:19 masak japhb: well, it's a precarious balance. it *should* be the default, if it being the default has exactly zero harmful side effects on anything else.
20:19 jnthn It points upwards to the thing :)
20:20 masak japhb: if it's a tradeoff, which it might well be, it should be all-is-fair-predeclare.
20:20 japhb jnthn, ooh, that's actually fun enough to think about.  And it could be a magical "constant".
20:20 GlitchMr It would be nice to just use $, but I'm not sure whatever it's not dangerous to Perl 6 grammar.
20:20 timotimo $ already means something
20:20 japhb masak, agreed.
20:20 timotimo r: my $ = 5;
20:20 masak GlitchMr: yeah, we already ruled that out above.
20:20 camelia rakudo 223075: ( no output )
20:21 GlitchMr Also, we used every character with exception for `.
20:21 GlitchMr But something like ` + 2 would be just ugly.
20:21 * japhb remembers when ` actually was used.
20:21 GlitchMr (well, actually ` is used in comments, but other than that)
20:21 japhb .oO( intrinsic units )
20:22 timotimo "backtick" matches nicely, though :)
20:22 GlitchMr Alternatively, this magical variable can be »ö«. »ö« + 2 * 2
20:22 timotimo that looks like you're hypering in a term position :(
20:22 japhb Oh, *that* would be fun to type ... :-P
20:23 GlitchMr Perhaps just _.
20:23 GlitchMr In Perl 5, it was default filehandle, but it doesn't mean anything in Perl 6.
20:24 GlitchMr _ + 2
20:24 GlitchMr It would look just like in Python.
20:25 masak GlitchMr: I'm just wary of introducing a strange short symbol, Perl 5-style.
20:25 not_gerd oO( $$ + 2 )
20:25 timotimo r: my sub _() { say "this is the last value used" }; _ + 5
20:25 camelia rakudo 223075: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub _ at /tmp/bE06CHmhE1:1␤  in block  at /tmp/bE06CHmhE1:1␤␤»
20:26 GlitchMr $$ looks like PID, but...
20:26 masak it looks like Perl 5.
20:26 timotimo hm, not like that
20:26 japhb & # Gah, meeting
20:26 GlitchMr std: _
20:26 camelia std 7c17586: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    '_' used at line 1â�¤Check failedâ�¤FAILED 00:00 41mâ�¤Â»
20:27 GlitchMr std: sub _() { 42 }; say _ + 2
20:27 camelia std 7c17586: OUTPUT«ok 00:00 44m␤»
20:27 GlitchMr rn: sub _() { 42 }; say _ + 2
20:27 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Excess arguments to _, used 0 of 1 positionals␤  at /tmp/XDOohNQozS line 0 (_ @ 1) ␤  at /tmp/XDOohNQozS line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setti…»
20:27 camelia ..rakudo 223075: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub _ at /tmp/0EqsNJ0Q23:1␤  in block  at /tmp/0EqsNJ0Q23:1␤␤»
20:27 GlitchMr HUH?
20:27 GlitchMr rn: my constant _ = 42; say _ + 2
20:27 camelia rakudo 223075, niecza v24-95-ga6d4c5f: OUTPUT«44␤»
20:27 masak GlitchMr: listop.
20:27 masak GlitchMr: if you leave out the parens, don't be surprised when the rest gets passed as a parameter :)
20:29 GlitchMr But, I used space before and after "+" operator.
20:29 GlitchMr Shouldn't that assume _ takes 0 arguments.
20:29 BenGoldberg joined #perl6
20:32 GlitchMr rn: sub _() { 42 }; say _+2
20:32 camelia rakudo 223075, niecza v24-95-ga6d4c5f: OUTPUT«44␤»
20:32 GlitchMr This is strange.
20:32 BenGoldberg Why?
20:33 GlitchMr I would rather expect _+2 to do the same thing as _ + 2.
20:33 BenGoldberg rn: sub _() { 42 }; say _ + 2
20:33 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Excess arguments to _, used 0 of 1 positionals␤  at /tmp/TSmpoXoXrj line 0 (_ @ 1) ␤  at /tmp/TSmpoXoXrj line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setti…»
20:33 camelia ..rakudo 223075: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub _ at /tmp/1Y_bk0EdVB:1␤  in block  at /tmp/1Y_bk0EdVB:1␤␤»
20:33 jnthn japhb, masak: Module for you sir... https://gist.github.com/jnthn/6586219
20:33 masak GlitchMr: no, it's either parens or white space to pass arguments.
20:34 masak GlitchMr: adjust your expectations :)
20:34 GlitchMr I probably used Perl 5, CoffeeScript, and Ruby too much then :-).
20:34 masak jnthn: you know, I half-expected you to do that. :P
20:34 masak jnthn++
20:35 GlitchMr jnthn, shouldn't prev be a term, not subroutine?
20:35 jnthn GlitchMr: Patches welcome.
20:36 timotimo lovely
20:36 GlitchMr https://gist.github.com/GlitchMr/6586247
20:36 GlitchMr Patch
20:36 jnthn It's just a proof of concept for somebody with more time than me to do something nice with :)
20:37 timotimo rakudo internals could be said to have at least some whipuptitude
20:39 iSlug joined #perl6
20:39 GlitchMr It would be nice if "prev" wouldn't depend on internals, but considering REPL is implementation-specific, it's fine.
20:40 donaldh joined #perl6
20:42 masak we'll, you could always wrap this up into an implementation-agnostic API.
20:42 masak but the returns on that are probably pretty low.
20:45 FROGGS jnthn: ahh, and when I comment that die() when reblessing, it still doesnt work because it is not using my actions for some reason...
20:47 timotimo https://gist.github.com/timo/dc358f4f3999232f6303  -  please help me understand why this doesn't work whatsoever?
20:47 timotimo everything but the $qastcomp.as_post for the QAST::VM is commented out
20:48 Tene jnthn: I hear you're doing something with cardinal these days?
20:49 Tene jnthn: Oh, turns out I was rather misinformed by timotimo.
20:49 timotimo yes, i was hardcore trolling :)
20:50 jnthn Tene: Not really... I was doing a NQP/Rakudo internals course this weekend and needed some simple examples to illustrate/let people practice with ideas.
20:50 jnthn Tene: So I built a tiny bit of Ruby, then set implementing a tiny bit of PHP for the exercises. :)
20:50 Tene Ah.
20:51 jnthn Tene: I had literals, variables, functions, classes with methods...and that was about all :)
20:51 * masak .oO( no big deal. we just retreated over the weekend, and re-implemented Ruby and PHP... )
20:51 timotimo jnthn: the only thing missing from that feature list is rails
20:51 * masak .oO( we're Perl 6 core developers. FEAR US )
20:51 timotimo then you're golden :)
20:52 jnthn I hadn't quite imagined the level of resistance to having to write a PHP compiler :P
20:53 timotimo we're people, too, you know?
20:53 jnthn :)
20:53 timotimo actually, not even animals should ever have to do such a thing
20:53 timotimo only a water bear would go through that exercise unscathed
20:53 jnthn Trouble was, I wanted something that was (a) easy to parse, and (b) had basic class OO...
20:53 jnthn And (c) was untyped
20:54 Tene like smalltalk?
20:54 FROGGS nqp/src/stage1/QAST.pir:1618:    $P5576."add_core_pirop_mapping"("bindattr_i", "repr_bind_attr_int", "3PPsi", 1 :named("inlinable"))
20:54 FROGGS what is the 3 there?
20:54 FROGGS in 3PPsi ?
20:54 FROGGS I thought there would be only 0 for void...
20:55 Tene or was smalltalk prototyped?
20:55 timotimo yes, i was confused about that, too
20:55 jnthn I think the problem I had there was that smalltalk has everything as an object
20:55 jnthn I think I looked at it
20:55 FROGGS uhhh, everything is an object
20:56 FROGGS that must be awful
20:56 Tene No, smalltalk has classes, not prototypes.
20:57 timotimo FROGGS: even the natives?
20:57 timotimo even statements?
20:57 lizmat joined #perl6
20:57 jnthn Well, really it's just that I wanted something where hello world was as simple as [puts|echo|say] "string"
20:57 Tene PHP is a lot more widely known and familiar, is probably the other major criteria
20:57 jnthn That is, I wanted an example that was simple along a bunch of dimensions.
20:58 jnthn And yeah, familiar was a criteria
20:58 jnthn Probably less cruel woulda been fro me to do PHP and set Ruby as the exercise :)
20:58 lizmat &decommuted
20:58 jnthn wb lizmat++
20:59 lizmat we left around 2pm after having lunch at the Arche restaurant (where we had lunch twice before)
20:59 lizmat then went to Perl to replenish our stock of Perl wine, and had dinner there at Hammes
21:00 lizmat then back home
21:00 lizmat an enjoyable afternoon / evening  :-)
21:02 jnthn bbiab
21:13 lizmat TimToady, pmichaud: inspired by the RaNIW, I decided to have a go at converting [] and {} accesses from multi method to multi sub
21:13 lizmat this proved remarkably uneventful, except for 2 things:
21:13 lizmat 1. all tests that pass unhandled adverbs, now die instead of silently ignoring them
21:14 lizmat this is specifically true for []:exists and []:delete
21:14 timotimo hm, i wonder if i'd find anything interesting for dir slowness?
21:14 lizmat TimToady, pmichaud: will implement these and thus fix the problem
21:15 lizmat the second one is more serious, and needs some more thought
21:17 lizmat before this change, if a class wanted to provide [] or {} access to its object, the only thing it would need, was to provide a postcircumfix method
21:18 lizmat e.g. role Foo does Positional { @!array handles 'postcircumfix:<[ ]>' }
21:18 iSlug joined #perl6
21:18 lizmat this will no longer work
21:18 woolfy1 joined #perl6
21:18 lizmat jnthn's first suggestion, was to replace this with "handles 'at_pos'"
21:19 lizmat but that only works for single element accesses, not for slicese
21:19 lizmat *slices
21:19 lizmat similar problem with handles 'postcircumfix:<{ }>'
21:19 lizmat and handles at_key
21:20 lizmat also, how to handle the case of:
21:20 masak is it a show-stopper that it's not for slices?
21:20 masak seems to me the slices logic is (potentially) always the same
21:20 lizmat I think so
21:20 masak and only rarely would you want to override it
21:21 timotimo if you want super magic slices, you can still install a multi candidate for the postcircumfix, i think
21:21 masak at which point it's OK to do some more work.
21:21 masak right.
21:21 lizmat well, "at_key" and "at_pos" are really supposed to be internal methods
21:21 timotimo the existing slicing should just be using at_pos without too much trouble, right?
21:21 lizmat timotimo: no you can't
21:21 timotimo ah, that's a bit smelly
21:21 lizmat you could create a multi for the at_key perhaps
21:21 timotimo i can't install a multi sub postcircumfix:<{ }>(MyFancyClass $c)??
21:21 lizmat the existing slicing is using at_pos / at_key as appropriate
21:22 lizmat how can you guarantee that the sub is visible where the object is used ?
21:23 timotimo oh, i hadn't even thought of that
21:23 lizmat suppose an object A is created in one compunit, and is passed to a sub in another compunit
21:23 timotimo installing it in GLOBAL would be a way to do it, but that smells terrifying
21:23 lizmat yes, and collsions *will* happen then
21:23 timotimo GLOBAL doesn't know how to merge multis?
21:24 lizmat I guess you could
21:24 lizmat but then you're forcing the author to be hygienic about the signature
21:24 timotimo i don't think we should go there
21:24 lizmat I don't think so either
21:25 lizmat an alternative could be that the method access continues to exist
21:25 timotimo so at the beginning of the sub you check for a method to exist?
21:25 lizmat and that World only generates sub calls if it can be sure that they're going to be handled ?
21:25 lizmat (yuck)
21:26 lizmat anyways, I wanted to throw this in the group
21:26 timotimo no, you can't know that at the time the call needs to be generated
21:26 Mouq joined #perl6
21:26 lizmat indeed…. not a lot of times, indeed  :-)
21:26 not_gerd joined #perl6
21:27 lizmat so I hope that some people will think about this while I get some shuteye
21:27 Mouq r: 1
21:27 yoleaux 17:12Z <TimToady> Mouq: Yes, according to S05:45 niecza is corret and rakudo incorrect on http://irclog.perlgeek.de/​perl6/2013-09-15#i_7590246
21:27 synopsebot Link: http://perlcabal.org/syn/S05.html#line_45
21:27 camelia rakudo 223075: ( no output )
21:27 not_gerd lizmat: you could have a multi-candidate that dispatches to a method based on a role
21:27 timotimo oh, that could work well with the multi dispatch cache and so on
21:30 lizmat timotimo, not_gerd: the change I made, generates optrees with 'call' rather than 'callmethod'
21:30 timotimo yes, that's not what we mean
21:31 lizmat well, that's the change that has been on the todo list of rakudo for 1.5 years, afaik
21:31 timotimo we mean something like sub postcircumfix:<{ }>($thing) { ... }; postcircumfix:<{ }>(CustomHashAccess $thing) { ... }
21:31 timotimo and then you'd have your class read class FooBar does CustomHashAccess { ... }
21:31 not_gerd a/sub/multi/
21:32 not_gerd s/a/s/
21:32 timotimo er, yes. pseudocode obviously ;)
21:32 jnthn back
21:32 lizmat but that still wouldn't solve the problem of an object from one compunit being passed to another
21:32 lizmat unless you want to pollute GLOBAL with all of those multi-subs
21:33 timotimo er
21:33 timotimo i think i'm not being clear at all
21:33 jnthn multi subs are always looked up by lexical scope.
21:33 not_gerd role CustomCurlies { method curlies(|) { ... } }; multi sub postcircumfix:<{ }>(CustomCurlies $c, |arg) { $c.curlies(arg) }
21:33 not_gerd that sub would be in core
21:34 lizmat ah, ok
21:34 lizmat hmmm....
21:34 lizmat that could work, I guess
21:34 jnthn Typically, if you are making your own array mechanism, at_pos is the one you want to override...
21:34 jnthn And possibly bind_pos too
21:34 timotimo we were worried that it won't let us change slice semantics
21:34 lizmat jnthn: this is not the real problem
21:35 jnthn Right, if you need to do that then you'd have to write an extra multi-candidate for the postcircumfix with your type as the argument, and export it...
21:35 lizmat it is about providing generic [] and {} semantics on an object
21:35 lizmat jnthn: not_gerd's solution would just be about adding a role to a class
21:35 jnthn Yes, but normally you don't actually want to implement all of the slice semantics...
21:35 jnthn I don't see hwo the thing not_gerd wrote would work, or maybe I missed something.
21:36 jnthn That was a lexical multi candidate inside of a role...
21:36 timotimo no, the role is closed before the multi sub
21:36 jnthn And was not exported, thus it goes nowhere...
21:36 jnthn oh...
21:36 timotimo the multi sub that looks for CustomCurlies invokes the method
21:36 jnthn yeah, so it is.
21:36 jnthn sorry, missed that.
21:36 lizmat class A does CustomCurlies { method postcircumfix }
21:36 lizmat indeed
21:36 iSlug joined #perl6
21:36 jnthn Yeah but...why?
21:37 lizmat 1. code change would be minimal
21:37 timotimo because exporting the multi candidate to GLOBAL sounds like a terrible hack?
21:37 jnthn Why not just write the multi candidates for yoru type?
21:37 jnthn timotimo: "exporting to GLOBAL" sounds pointless. You don't ever look up multis in GLOBAL!
21:37 lizmat because they would need to be exported to GLOBAL
21:37 jnthn You dont' ever look up subs in GLOBAL
21:37 jnthn watch
21:37 timotimo ah, right. but how do subs in the core setting for example know how to handle your custom curlies?
21:38 lizmat jnthn: well, how would an object created in compunit A know where to find the multi subs in compunit B
21:38 timotimo or from foreign modules that know nothing of your shenanigans
21:38 jnthn lizmat, timotimo: That's what lift is for
21:38 timotimo does rakudo even lift?
21:38 jnthn And note this situation applies already for *everything else*.
21:38 lizmat and lift is NYI
21:38 jnthn No.
21:39 jnthn And look how terrible the consequences are. :P
21:39 jnthn I mean, we should implement it.
21:39 timotimo :)
21:39 jnthn But this problem already exists for every other operator in the language.
21:40 jnthn That is, pass your own two custom numeric types to something that wants to + them...
21:40 japhb jnthn++ # prev mini-implementation
21:40 jnthn And it also won't see your candidates without lift.
21:40 timotimo good point
21:41 not_gerd for what it's worth, postcircumfix feels more method-y to me than infix ops
21:41 jnthn not_gerd: It's not staying as a method.
21:41 bruges joined #perl6
21:41 jnthn If you do that we can't easily optimize native array access and we force every access to go through 2 levels of multi-dispatch.
21:42 jnthn *every array access
21:42 jnthn postcircumfixes are just postfixes with funny syntax.
21:42 jnthn And postfixes are subs.
21:42 lizmat ok, so basically: lift is the solution to this problems
21:42 timotimo i should start lifting, too
21:42 jnthn lizmat: aye
21:42 lizmat ok, I will sleep on that
21:42 jnthn lizmat: Maybe this just gives us another shove towards implementin git :)
21:42 jnthn uh, it
21:43 lizmat hehe
21:43 lizmat yes
21:43 lizmat so, my plan: 1: implement []:exists and []:delete
21:43 lizmat 2. commit method -> sub change
21:43 lizmat 3. mark failing tests as "todo" or "skip"
21:43 lizmat *still failing
21:43 jnthn How close are we to monthly release?
21:43 lizmat tests that need lift
21:44 japhb .oO( Our new STM model: in-memory Git )
21:44 not_gerd jnthn: I was thinking about my expectation as a user - I'd expect for matrix[2..3][4..5] to always do the right thing even if I didn't include Math::LinearAlgebra
21:44 jnthn I think we're close, and we may want to put this in a branch and merge it after the next release...
21:44 not_gerd whereas I could live with having to do so when doing mat1 + mat2
21:44 lizmat jnthn: I will wait with 2 until after the monthly release, ok ?
21:44 jnthn lizmat: +1
21:44 lizmat or do you want me to waith with 1. as well ?
21:45 jnthn No, 1. makes things better today rather than risking breaking anything, iiuc?
21:45 lizmat indeed...
21:45 jnthn not_gerd: And it will unless your matrix class somehow needs to handle slice semantics in an unusual way...
21:45 lizmat it doesn't work atm, so I doubt anybody is using it  :-)
21:46 lizmat r: my @a=1,2,3; say @a[*]:exists
21:46 camelia rakudo 223075: OUTPUT«1 2 3␤»
21:46 jnthn wow :)
21:46 lizmat r: my @a=1,2,3; say @a[*]:delete; say @a
21:46 camelia rakudo 223075: OUTPUT«1 2 3␤1 2 3␤»
21:46 jnthn yeah, if anybody is using it then they're just getting lucky somehow... :)
21:46 lizmat indeed
21:49 cognominal joined #perl6
21:50 lizmat gnight, #perl6!
21:50 lizmat it has been a fun weekend
21:50 lizmat sleep&
21:51 jnthn Indeed it has
21:51 jnthn lizmat++ # organizing it all
21:51 jnthn well, with help from others, but I mean, being the person who triggered it happening :)
21:52 timotimo i'm just glad i didn't get a cup to my head
21:52 jnthn I used to be a Perl 5 programmer once...but then I took a cup to the head...
21:53 arnsholt jnthn: From a cursory grep through the NQP sources, it looks like get_boxed_ref isn't exposed directly through an nqp::op. That sound more or less correct to you?
21:53 jnthn arnsholt: Correct, it can't be, it's not safe :)
21:53 jnthn arnsholt: It returns a pointer into the middle of an object :)
21:53 arnsholt Right, of course
21:54 arnsholt In that case, I'm gonna make a branch and see if I can't refactor it into something more JVM-implementable
21:54 jnthn Well, since that particular bit of the REPR API is in no way exposed, we've no need to handle the use cases it serves the same way on all backends.
21:55 jnthn Just like we don't have gc_mark and gc_free methods in the JVM objects.
21:55 jnthn s/objects/repr api/
21:55 arnsholt That's true
21:56 arnsholt But AFAICT, the way it's implemented on Parrot lets you have multiple box targets that don't box to int/num/str
21:56 arnsholt As long as they've different REPRs
21:56 jnthn Right
21:57 jnthn We actually "need" it for bigint too...
21:57 jnthn But cheat because that's just a single field
21:58 jnthn We could just say "on JVM, if you inline anything, you must inline it to a single field, so we can get_ref it"
21:58 jnthn Which'd mean we'd hold the various bits of info about a native callsite at an extra level of indirection...
21:59 ssutch joined #perl6
22:03 not_gerd good night
22:04 not_gerd ~~
22:04 not_gerd left #perl6
22:06 jnthn o/
22:21 tba joined #perl6
22:23 jnthn 'night
22:25 masak o/, jnthn
22:26 stevan_ joined #perl6
22:26 stevan_ joined #perl6
22:41 masak 'night, #perl6
23:06 ssutch joined #perl6
23:08 TgMts joined #perl6
23:10 benabik joined #perl6
23:23 zwut00 left #perl6
23:44 ssutch joined #perl6

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

Perl 6 | Reference Documentation | Rakudo