Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-12-18

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 cognominal joined #perl6
00:03 jnthn sleep &
00:03 replore joined #perl6
00:05 Psyche^ joined #perl6
00:19 grondilu I wrote a small example on irrational numbers in Perl5:  http://perlmonks.org/?node_id=1009200.  One of these days, I'll write a full class in Perl6.
00:22 hash_table joined #perl6
00:25 replore joined #perl6
00:40 robinsmidsrod joined #perl6
00:43 cognominal_ joined #perl6
00:59 benabik joined #perl6
01:02 31NACLKVD joined #perl6
01:07 anuby joined #perl6
01:13 anuby_ joined #perl6
01:24 cognominal joined #perl6
01:27 Pleiades` joined #perl6
01:34 anuby joined #perl6
01:43 thou joined #perl6
01:46 [Coke] fetch stage failed for Term::ANSIColor: Failed cloning the repo
01:50 [Coke] seen tadzik
01:50 aloha tadzik was last seen in #perl6 5 hours 14 mins ago saying "/o\".
01:50 [Coke] phenny: tell tadzik that the ecosystem has the wrong git URL for Term::ANSIColor (:: vs. - confusion)
01:50 phenny [Coke]: I'll pass that on when tadzik is around.
01:51 flussence tried to reproduce that, but I just get «===SORRY!===␤No object at index 164» for every panda command... *sigh*
01:54 [Coke] sadly, that means I can't install the debugger right now. :|
01:54 japhb_ flussence, I'm getting the same sort of thing.
01:55 japhb_ I swear I saw panda bootstrap properly though (I have a script that builds a new rakudo then run's panda's reboostrap.pl)
01:55 japhb_ s/run\'s/runs/
01:56 japhb_ [Coke], re http://irclog.perlgeek.de/​perl6/2012-12-17#i_6250713 , my local PM (Sonoma.pm) has never been used, IIRC.
01:57 flussence yeah, I use a similar script... it's been working fine for months but recently things have started breaking in subtle ways (panda seems to lose its installed package list each update)
02:03 FROGGS_ joined #perl6
02:06 japhb_ [Coke], flussence, here's my current script: https://gist.github.com/4324368
02:06 [Coke] I wonder if it would be helpful to be able to do something like "panda install git://github.com/tadzik/perl6-Term-ANSIColor.git"
02:06 japhb_ It's probably worth merging the good ideas from each of our rebuild/reinstall scripts
02:08 japhb_ I should note that for my script, there's an assumption that ~/git/rakudo-current/ is a symlink to the rakudo clone I'm currently hacking in, and ~/git/rakudo-current-lib/ is a symlink that abstracts the current perl6 install lib so that I don't have to keep hacking my PATH.
02:08 diakopter [Coke]: do you code on Windows or *n*x?
02:09 diakopter (mac counts as *n*x)
02:10 flussence FROGGS_: my one is at https://github.com/flussence/p6-misc​/blob/master/buildscripts/rakudo.sh - I haven't updated it in a while, maybe it broke when the library directories all got moved
02:10 [Coke] diakopter: intel osx
02:11 flussence whoops, I meant japhb_: there
02:11 [Coke] I was going to debug my t1 solution a bit, but instead I will go read how to win at PLO/8
02:11 [Coke] g'night, #p6.
02:11 diakopter o/
02:11 japhb_ o/
02:12 flussence .oO( my brain must've mistabbed from the wrong end of the string... )
02:13 japhb_ flussence, ah, interesting.
02:13 * japhb_ has to decommute now, but will take a look later ....
02:16 bruges joined #perl6
02:19 s1n joined #perl6
02:20 benabik joined #perl6
02:22 cognominal joined #perl6
02:29 anuby_ joined #perl6
02:30 erkan joined #perl6
02:30 erkan joined #perl6
02:32 integral joined #perl6
02:32 integral joined #perl6
03:11 cognominal joined #perl6
03:27 takesako_ joined #perl6
03:33 Kharec joined #perl6
03:36 araujo joined #perl6
03:36 geekosaur joined #perl6
03:42 geekosaur joined #perl6
03:44 Kharec joined #perl6
04:22 noggle joined #perl6
04:26 am0c joined #perl6
04:30 stevan_ joined #perl6
04:45 arkydo joined #perl6
04:51 sjohnson joined #perl6
04:54 popl joined #perl6
04:59 hypolin joined #perl6
05:21 rindolf joined #perl6
05:28 DarthGandalf joined #perl6
05:49 noggle joined #perl6
05:53 Pleiades` joined #perl6
05:53 birdwindupbird joined #perl6
06:16 moritz good morning
06:20 japhb o/
06:22 dalek rakudo/nom: a045381 | moritz++ | docs/release_guide.pod:
06:22 dalek rakudo/nom: release name suggestion: Sonoma.pm
06:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a045381457
06:25 japhb s/japphb/japhb/
06:25 moritz did I manage to misspell again :(
06:25 moritz sorry
06:25 dalek rakudo/nom: 0b96624 | moritz++ | docs/ (2 files):
06:25 dalek rakudo/nom: fix typo, japhb++
06:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b96624242
06:26 japhb No worries.  :-)
06:26 popl moritz doesn't care about japphb :(
06:27 popl (it was a very subtle joke, sorry)
06:27 SamuraiJack joined #perl6
06:30 dalek rakudo/nom: 9fcbcb6 | moritz++ | docs/deprecations:
06:30 dalek rakudo/nom: deprecation notice for sink context
06:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9fcbcb6089
06:30 * moritz isn't quite awake enough for subtleties :-)
06:35 am0c joined #perl6
06:48 CooL joined #perl6
06:49 lawrmcfa joined #perl6
07:01 kaleem joined #perl6
07:10 arkydo joined #perl6
07:13 Kharec joined #perl6
07:13 Khisanth joined #perl6
07:16 bapa joined #perl6
07:23 LV joined #perl6
07:36 FROGGS joined #perl6
07:48 FROGGS morning
07:48 popl Hello.
07:50 Kharec joined #perl6
07:57 cognominal joined #perl6
08:07 fgomez joined #perl6
08:09 popl Is discussing Perl5 in #perl6 verboten?
08:09 bonsaikitten it's usually offtopic
08:10 popl Oh. OK.
08:12 moritz well, asking for Perl 5 help here is frowned upon. Discussing the language is done quite often here
08:16 popl Ok. I wasn't going to ask for help.
08:17 popl In approximately eight hours and 10 minutes Perl will be ~25 years old. :)
08:18 bonsaikitten awesome
08:19 popl I suppose it is arbitrary and as meaningful as any other anniversary.
08:21 REPLeffect joined #perl6
08:22 kresike joined #perl6
08:22 kresike good morning everyone
08:23 FROGGS cool, someone should make a medal "Perl 5\n25th anniversary " and give it to Larry
08:23 FROGGS morning kresike
08:23 popl FROGGS: A cake, at the very least.
08:23 kresike FROGGS, o/
08:23 popl That's what people do for birthdays.
08:23 FROGGS kresike: I almost didn't recognized you, you said something else than usual :P
08:24 * kresike is not too happy today :(
08:24 FROGGS popl: but sending a cake from germany to CA is not option I guess
08:24 FROGGS kresike: ohh, why?
08:25 FROGGS popl: shortbread would work though
08:25 kresike bad weather, sleepy, need more coffee, that sort of stuff ...
08:25 popl FROGGS: Shortbread is good.
08:25 popl I wish I had some now.
08:27 FROGGS kresike: ohh, except the coffee nothin' serious
08:28 kresike no, nothing serious :)
08:30 japhb Happy Birthday, Perl!
08:30 japhb Now I'm going to bed.  ;-)
08:30 FROGGS gnight japhb
08:30 FROGGS japhb: when do you have time to talk a bit?
08:30 FROGGS (about S11 versioning)
08:31 japhb I might be able to spare some time in ~9 hours. Not sure.
08:31 sorear FROGGS: I think larry is allergic to wheat
08:31 sorear FROGGS: best not to send any kind of bread without discussing plans first
08:31 japhb Is he allergic to chocolate?  Because flourless chocolate torte is often a winning choice ....
08:32 FROGGS sorear: hehe, k ;o)
08:32 japhb Anyway, afk for real.
08:32 popl for realz
08:33 FROGGS I guess the best is not to send food at all
08:33 popl bah, wheat allergy
08:33 FROGGS ya, I'm glad that I'm not
08:44 cognominal joined #perl6
08:44 REPLeffect anyone else having trouble accessing any linode-hosted domain (including linode.com)?
08:45 eternaleye joined #perl6
08:46 benabik REPLeffect: Not here, also: http://www.isup.me/linode.com
08:46 moritz REPLeffect: works fline here
08:46 REPLeffect interesting -- I've tried on 2 separate networks I have access to
08:47 benabik Local DNS/connectivity issue?
08:47 REPLeffect no, the 2nd network I access via a vpn, and it has a different dns/etc
08:47 moritz same continent? :-)
08:47 REPLeffect might be regional, both in the same state
08:48 FROGGS joined #perl6
09:03 Kharec joined #perl6
09:04 am0c joined #perl6
09:21 fhelmberger joined #perl6
09:25 dakkar joined #perl6
09:46 jnthn morning o/
09:47 FROGGS hi jnthn
09:51 dalek rakudo/nom: 47b8766 | jnthn++ | docs/deprecations:
09:51 dalek rakudo/nom: Deprecations update.
09:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/47b87665a2
09:59 brrt joined #perl6
10:01 arkydo joined #perl6
10:01 brrt hi! what with perl being 25 years old today, i'd thought i'd come by and congratulate
10:02 brrt congratulations perl and TimToady++
10:05 SmokeMachine joined #perl6
10:06 kst` joined #perl6
10:06 brrt now, i have also a serious question for the nqp folks
10:07 brrt in short, parrot more-or-less needs to update its IO system
10:07 brrt i need parrot to update its IO system
10:08 brrt one of the changes will likely entail splittings file handles and pipe handles
10:08 brrt i don't need that; i need a user handle
10:08 brrt (that is to say, i need an IO handle that is defined within parrot)
10:08 brrt well, that will mean breaking changes again
10:09 brrt what do you think? could you be persuaded to parrot changing this stuff?
10:10 benabik brrt: whiteknight's started work on just such a thing, although I believe his tuit supply is unsteady https://github.com/parrot/parrot/commit/​5b7ac58067ce889dc534bfbe0e0039aad0619c8b
10:11 benabik Hm.  Newer branch: https://github.com/parrot/parrot/​commits/whiteknight/io_userhandle
10:11 brrt benabik, yes that is exactly the branch i'm talking about
10:11 brrt whiteknight has not nearly any resources
10:12 brrt but the point is
10:12 brrt we need to break some stuff for it to work
10:19 sqirrel joined #perl6
10:21 benabik What does it break other than splitting Pipe from FileHandle?
10:23 brrt that
10:23 brrt :-)
10:23 brrt and it unbreaks - hopefully - having user supplied filehandles
10:23 brrt and mod_parrot desperately needs those
10:24 jnthn https://perl6advent.wordpress.com/2012/12​/15/day-15-phasers-set-to-stun/#comments - somebody spotted a spec/Rakudo inconsistency. I commented; arguments either way welcome.
10:26 * benabik is a big fan of for and map acting identically.  :-)
10:28 jnthn benabik: Oh, that bit's not in question.
10:28 jnthn benabik: If we change the semantics of the NEXT phaser for one, it'll change for the other.
10:30 jnthn brrt: What will it mean at an API level?
10:30 jnthn brrt: At the moment, though, NQP does little abstraction of Parrot's IO stuff
10:30 jnthn That will have to change in the next couple of months.
10:31 brrt well, if that changes...
10:31 brrt for one thing
10:31 brrt opening a pipe is now opening a file with the 'p' modifier
10:31 brrt so fortune would be: f = new FileHandle('/usr/bin/fortune', 'p')
10:31 brrt that would become: f = new PipeHandle('/usr/bin/fortune')
10:32 jnthn Will FileHandle and PipeHandle have the same API?
10:32 brrt afaik, that is a change we could make nearly automatically
10:32 benabik jnthn: Ah, I misread your comment a tad.  LEAVE then NEXT seems to make sense to me.  Leaving the block seems to happen before you decide to go to the next iteration.  Although I'm somewhat surprised NEXT triggers immediately before LAST.
10:32 brrt yes
10:32 bbkr hi/ i'm not exactly sure what this sink deprecation means in https://github.com/rakudo/rakudo/commit/​9fcbcb6089d1a755652449a40404a8cd2715fe11 . does "such code is now run after the block" applies to return statement or whole loop? can someone please give simplest example that is working now and will stop working in next release?
10:32 brrt most of the tricky bits of the api is in the buffering; they will share that
10:32 brrt so readline() etc will still work
10:33 brrt whiteknight++ did a pretty good job in abstracting api use from implementation
10:33 jnthn brrt: OK, in which case none of this keeps us from having it done with :p at the Perl 6 level.
10:33 brrt no
10:33 jnthn My main concern is "can we still reasonably provide the same Perl 6 API on top of the change without it being a huge effort to do so"
10:34 jnthn And it seems we'll be able to, in which case I'm not too worried.
10:35 brrt good :-)
10:35 brrt do you use (as i have done) user-supplied io handles for rakudo?
10:36 moritz brrt: (re deprecation notice)  consider  sub a { try { for ^42 { die 'oh noez' if $_ % 5 } } }
10:36 moritz now if you call that sub, it returns a lazy list
10:37 brrt moritz, wasn't my question, it was bbkr's :-)
10:37 benabik moritz: s/brrt/bbkr
10:37 moritz oh sorry, bbkr
10:37 moritz so
10:37 jnthn brrt: What do you mean by "user-supplied"?
10:37 moritz once that list is reified, it'll die, because there's a die() call
10:37 moritz but it's not inside the dynamic scope of the try block
10:37 moritz so the exception isn't caught
10:37 moritz surprise, suprise
10:38 brrt jnhtn, basically, to define an object that works as a handle (like StringHandle, for example), and then replace the stdio handles with it
10:38 jnthn brrt: Ah, no, I don't think we do that.
10:38 brrt so that say "foo" will say foo to that handle
10:38 jnthn Just use the standard ones Parrot provides.
10:38 brrt well, i could have guessed, otherwise io_cleanup1 would never have merged
10:39 brrt good
10:39 brrt so that can never be a breaking change
10:39 moritz my $*OUT = (class { method say() { do whatever you want here } }).new
10:40 brrt yeah, that is never going to work as-is
10:40 brrt (not knowing to what it compiles, though)
10:40 benabik It wouldn't work at a Parrot level, but if you only do I/O through HLL methods, there's no problem.
10:41 jnthn brrt: We *never* give out Parrot filehandles to Perl 6 userspace.
10:41 brrt uhuh, and that is exactly what doesn't work now ;-)
10:41 brrt hmm
10:41 jnthn They're always hidden inside a proper object.
10:41 brrt ok, i guess that is fair
10:41 bbkr moritz: thanks for explanation. this change will be confusing :( most people think in "if it's between the brackets then it's in the scope" way
10:41 benabik brrt: No, what doesn't work right now is redirecting low-level I/O operations back up to a HLL object.
10:41 brrt that, too
10:42 brrt i guess you are right
10:42 moritz brrt: yes, it will be confusing
10:42 brrt bbkr :-)
10:42 moritz the same problem already exists though
10:42 moritz r: sub f { <a b c>.map { return if /b/; .uc } }; say f
10:42 p6eval rakudo 47b876: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/DOFqTdX0S8:1â�¤------> [32msub f { <a b c>.map [33mâ��[31m{ return if /b/; .uc } }; say f[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤ …
10:42 benabik try functions on dynamic scope, not lexical?  fun
10:42 moritz r: sub f { <a b c>.map: { return if /b/; .uc } }; say f
10:42 p6eval rakudo 47b876: OUTPUT«Attempt to return outside of any Routine␤  in block  at src/gen/CORE.setting:466␤  in block  at /tmp/Yuho07XwiF:1␤␤»
10:43 moritz that's what I meant
10:43 moritz here the map is lazy, so the return happens after the routine has completed
10:43 jnthn benabik: It's what you normally expect :)
10:43 jnthn try { some-function-call() } # I hope this catches anything that call throws :)
10:43 moritz benabik: otherwise   sub a() { die "foo" }; try a()   wouldn't catch the exception
10:45 benabik I somewhat expect exceptions to flow up lexically, then dynamically.
10:45 brrt basically, having different object systems between parrot and rakudo is hurting a lot
10:46 benabik Although that may be because my brain's been warped by continuations and I sometimes translate throw($ex) to $exception_handler($ex)
10:46 moritz having parrot's object system is also hurting a lot
10:47 brrt no arguing there
10:47 benabik I'm pretty much a fan of punting Parrot's OO from Parrot.  But that's not a small project.
10:47 brrt we have… three object systems all in all
10:47 brrt - PMC
10:47 brrt - Parrot classes
10:47 brrt - rakudo classes
10:48 brrt (rakudo = 6model)
10:48 benabik PMC != Parrot class ?
10:48 brrt nooooo
10:48 brrt a PMC is a MAGIC class, you see
10:48 brrt a pmc (defined in C) can do stuff a 'regular' parrot / winxed class just can't do
10:48 brrt such as much about with pointers
10:49 benabik Given that it has access to the C guts of parrot, that's not terribly surprising.
10:49 brrt parrot classes are built out of pmcs, but they are not the same
10:49 benabik But AFAIK, it uses the same basic object system.
10:53 bbkr__ joined #perl6
10:55 benabik In order for NEXT to occur before LEAVE, wouldn't you have to decide to continue to iterate before leaving the loop's block?  That seems odd to me.
10:55 jnthn benabik: No, NEXT fires whether we're going to go around again or not.
10:56 jnthn Otherwise the example I did with finding the max score would not work if the max score was the final score in the list.
10:56 jnthn To do it I think we'd have to compile a block with a NEXT to have a call to the next as well as an exception handler that saw next control exceptions and passed them on.
10:56 benabik "at loop continuation time"?
10:57 jnthn r: my $a; { $a; my $a }
10:57 p6eval rakudo 47b876:  ( no output )
10:57 jnthn std: my $a; { $a; my $a }
10:57 p6eval std a8bc48f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Lexical symbol '$a' is already bound to an outer symbol (see line 1);â�¤  the implicit outer binding at line 1 must be rewritten as OUTER::<$a>â�¤  before you can unambiguously declare a new '$a' in this scope at /tmp/q53pu8pPeN line 1:â�¤---…
10:58 jnthn moritz: I'm spectesting a patch that gives us the STD behavior here. I don't expect it to bite any real-world code, but I guess there's a risk. Do you think it's OK to go in this release?
10:59 benabik NEXT is KEEP unless last is called?
10:59 moritz jnthn: I'd wait
10:59 jnthn moritz: hm, ok
10:59 moritz the real world is always messier than expected :-)
10:59 jnthn guess I put it in a branch then
11:00 jnthn I'd already decided to put off the unused warnings until next time.
11:00 jnthn which means I can put off implementing them too :)
11:00 jnthn benabik: I would have to check the spec on that one.
11:04 benabik Hm.  I had thought NEXT would be like a separator (which is a useful thing to have, IMHO).  But it appears to be something like LEAVE but skip if $! && $! !~~ Next.
11:04 dalek rakudo/outer-bound: 0199241 | jnthn++ | src/ (2 files):
11:04 dalek rakudo/outer-bound: Make "my $a; { $a; my $a } an error.
11:04 dalek rakudo/outer-bound:
11:04 dalek rakudo/outer-bound: This commit doesn't break any tests and actually makes a TODO test
11:04 dalek rakudo/outer-bound: pass. However, it's a bit close to release to include it now, so it
11:04 dalek rakudo/outer-bound: goes in a branch for now and can be merged afterwards.
11:04 dalek rakudo/outer-bound: review: https://github.com/rakudo/rakudo/commit/0199241400
11:06 Su-Shee_ joined #perl6
11:06 benabik Does KEEP fire if you leave a block due to control exception?
11:07 dalek rakudo/nom: 7794edf | jnthn++ | docs/deprecations:
11:07 dalek rakudo/nom: Mention future "my $a; { $a; my $a }" error.
11:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7794edf338
11:07 benabik rn: for ^1 { last; LEAVE say 'hi' }
11:07 p6eval rakudo 47b876:  ( no output )
11:07 p6eval ..niecza v24-12-g8e50362: OUTPUT«hi␤»
11:07 jnthn Um. That LEAVE shoulda fired there.
11:07 benabik That's what I thought...
11:08 jnthn Don't expect a quick fix. The whole exception stuff is quite horrible due to mis-match between Perl 6's needs and what Parrot does.
11:09 jnthn Once, a certain mls++ figured it all out and fixed many of the things.
11:09 tadzik [Coke]: aye, I think panda has a ticket for that (panda install git://...)
11:09 phenny tadzik: 01:50Z <[Coke]> tell tadzik that the ecosystem has the wrong git URL for Term::ANSIColor (:: vs. - confusion)
11:09 tadzik (hello #perl6)
11:09 jnthn Which was awesome, but I still only sorta grok the code he gave us.
11:09 benabik jnthn: Fair enough.  Was just wondering what the expected behavior there was.
11:10 jnthn Yeah, Rakudo gets it wrong for sure here.
11:10 jnthn o/ tadzik
11:10 tadzik [Coke]: that url doesn't seem wrong to me :?
11:10 tadzik jnthn: o/
11:11 benabik I'd offer to help sort out exceptions, but I don't think I'm going to have enough time between finals and next semester.  :-D
11:14 * jnthn looks back through the year's change log to see exactly what happened in Rakudo in 2012 :)
11:15 moritz lots of stuff, it seems :-)
11:16 moritz oh right, we had a 2012.04.1 release
11:16 moritz after the Oslo hackathon, for the star release
11:16 moritz or something
11:18 jnthn yeah, think that was it
11:23 jnthn Some months have had loads of awesome stuff, and every month had something noteworthy :)
11:32 rindolf joined #perl6
11:40 timotimo so, LTA error is "less than awesome" and LTE error is "less than expected"? (i.e. no error when an error was expected or something)
11:46 jnthn I...don't think I've seen LTE :)
11:46 jnthn afk for a bit
11:47 benabik I see LTE all the time on my phon.e
11:47 timotimo https://rt.perl.org/rt3/Ti​cket/Display.html?id=83512 - looking at this old bug, it's changed quite dramatically: for example, rakudo now complains about undeclared &prefix:<|> in the last evaluation. has the spec changed or something?
11:47 timotimo jnthn: https://rt.perl.org/rt3/Ti​cket/Display.html?id=77786 - you were the one who wrote LTE! :)
11:48 benabik I think that's spelled something like :(:@even, :@odd) := \(classify ...) now
11:48 moritz looks like a typo
11:50 timotimo replacing the | with a \ will now give the positional parameters error, so nothing much changed i guess
11:50 timotimo don't really know why i expect old bugs to have been fixed without being marked as fixed :P
11:52 benabik r: my @list = 1..4; my (@even, @odd); :(:@even, :@odd) := classify { $_ % 2 ?? 'odd' !! 'even' }, @list; say @even, @odd
11:52 p6eval rakudo 7794ed: OUTPUT«2 41 3␤»
11:54 timotimo oh, it works now? feel like updating that ticket?
11:56 benabik I don't know if I have write access into RT and I'm already taking too much time away from the paper I stayed up all night writing...
11:57 timotimo OK
11:59 timotimo i believe the core of the ticket is, that "my (@even, @odd)" and ":(:@even, :@odd) := …" are two separate statements, maybe it won't work as one. i'll try before i touch the ticket.
11:59 timotimo r: my @list = 1..4; my :(:@even, :@odd) := classify { $_ % 2 ?? 'odd' !! 'even' }, @list; say @even, @odd
11:59 p6eval rakudo 7794ed: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed myâ�¤at /tmp/_wF7XmTkZa:1â�¤------> [32mmy @list = 1..4; my [33mâ��[31m:(:@even, :@odd) := classify { $_ % 2 ??[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
11:59 timotimo r: my @list = 1..4; my (:@even, :@odd) := classify { $_ % 2 ?? 'odd' !! 'even' }, @list; say @even, @odd
11:59 p6eval rakudo 7794ed: OUTPUT«2 41 3␤»
11:59 timotimo there we have it.
12:00 timotimo std: my @list = 1..4; my (:@even, :@odd) := classify { $_ % 2 ?? 'odd' !! 'even' }, @list; say @even, @odd
12:00 p6eval std a8bc48f: OUTPUT«ok 00:00 46m␤»
12:09 brrt joined #perl6
12:11 dalek roast: 817476a | (Timo Paulssen)++ | S02-names-vars/signature.t:
12:11 dalek roast: test for RT #83512 - siglist binding with hash.
12:11 dalek roast: review: https://github.com/perl6/roast/commit/817476ae04
12:14 timotimo at a rate of about 1 bug per day, i'll be done going through currently old "new" bugs in under half a year!
12:20 FROGGS timotimo++
12:20 FROGGS ;o)
12:23 daxim joined #perl6
12:27 lichtkind joined #perl6
12:29 moritz rakudo: / : /
12:29 p6eval rakudo 7794ed:  ( no output )
12:40 timotimo moritz: would this be a reason to update the ticket and still leave it "new"?
12:42 moritz timotimo: if there's still a bug, leave it open, yes
12:42 moritz (and comment)
12:43 moritz if the original bug is fixed, and there's a new problem, it's probably better to open a new issue for the new bug
12:43 moritz and close the old one
12:43 moritz maybe add a comment pointing to the new report
12:43 moritz (we've had tickets where the actual subject changed three times during the course of the ticket; such tickets are very tedious to review)
12:44 timotimo moritz: excuse me, i meant to say "new" rather than "open"
12:46 timotimo moritz: https://rt.perl.org/rt3/Ti​cket/Display.html?id=67064 - would "say [X] [<a b c>] xx 3" make a decent test case for this bug? i'm pretty sure it's testable by now, but i may not realise what's involved here.
12:47 timotimo a quick grep over the spectests show there's not a single mention of [X], which surprises me quite a bit
12:48 timotimo (well, there are mentions, but they are all in perl5 regex tests
12:48 am0c joined #perl6
12:51 timotimo excuse the unbalanced parens) - the number of resolved to non-resolved tickets would be a good measure for project progress if there were not a hundred two-year-old bugs that have not been looked at for a *long* time :p
12:52 moritz timotimo: once you replied to a ticket, it's always "open", never "new"
12:52 moritz but that's OK
12:52 bowtie joined #perl6
12:52 moritz and you should avoid say() in tests
12:53 moritz rather put the result in a variable and test that
12:55 timotimo OK. the calculation is suitable, though? would you say S03-metaops/reduce.t is a good place for the test?
12:56 cognominal joined #perl6
12:57 moritz the test file is good, yes
12:57 moritz let me think for a while
12:57 moritz r: say ([X~] <a b>).perl
12:57 p6eval rakudo 7794ed: OUTPUT«("ab",).list␤»
12:58 moritz r: say ([X~] <a b> xx 2).perl
12:58 p6eval rakudo 7794ed: OUTPUT«("abab",).list␤»
12:58 moritz r: say ([X~] [<a b>] xx 2).perl
12:58 p6eval rakudo 7794ed: OUTPUT«("aa", "ab", "ba", "bb").list␤»
12:58 moritz I kinda suspect it should work without the [] too
12:59 timotimo r: say [X] <a b c> xx 3
12:59 p6eval rakudo 7794ed: OUTPUT«a b c a b c a b c␤»
13:00 timotimo r: say [X] [<a b c>] xx 3
13:00 p6eval rakudo 7794ed: OUTPUT«a a a a a b a a c a b a a b b a b c a c a a c b a c c b a a b a b b a c b b a b b b b b c b c a b c b b c c c a a c a b c a c c b a c b b c b c c c a c c b c c c␤»
13:00 timotimo huh.
13:00 timotimo so, precedence difference?
13:02 moritz no, but say() + stringification flattens it all out
13:02 moritz r: say ([X] [<a b c>] xx 3).perl
13:02 p6eval rakudo 7794ed: OUTPUT«(("a", "a", "a"), ("a", "a", "b"), ("a", "a", "c"), ("a", "b", "a"), ("a", "b", "b"), ("a", "b", "c"), ("a", "c", "a"), ("a", "c", "b"), ("a", "c", "c"), ("b", "a", "a"), ("b", "a", "b"), ("b", "a", "c"), ("b", "b", "a"), ("b", "b", "b"), ("b", "b", "c"), ("b", "c"…
13:02 timotimo ah, i see.
13:02 moritz note that I used xx 2, and only 2 symbols
13:02 moritz and X~ instead of X to reduce the number of list elements
13:02 moritz just to make the output more managable :-)
13:03 timotimo what exactly causes the difference between [X~] [<a b>] xx 2 and [X~] <a b> xx 2?
13:04 arnsholt [< ... >] and < ... > have different flattening semantics at least
13:04 arnsholt The [] case might appear as a single item list to the reduce
13:05 timotimo ah, that makes some sense.
13:06 timotimo this may be the difference right here:
13:07 timotimo r: say [<a b c>] xx 2; say <a b c> xx 2;
13:07 p6eval rakudo 7794ed: OUTPUT«a b c a b c␤a b c a b c␤»
13:07 timotimo er, hah
13:07 timotimo r: say ([<a b c>] xx 2).perl; say (<a b c> xx 2).perl;
13:07 p6eval rakudo 7794ed: OUTPUT«(["a", "b", "c"], ["a", "b", "c"]).list␤(("a", "b", "c"), ("a", "b", "c")).list␤»
13:07 timotimo i can see how the right one would flatten into one list
13:07 timotimo and the left one would be treated as two items, each one being a list
13:07 pmichaud joined #perl6
13:07 moritz r: say ['a', 'b', 'c']
13:07 p6eval rakudo 7794ed: OUTPUT«a b c␤»
13:08 moritz r: say ['a', 'b', 'c'].Str
13:08 p6eval rakudo 7794ed: OUTPUT«a b c␤»
13:08 pmichaud good morning, #perl6
13:08 moritz \o pmichaud
13:08 * moritz is happy to report that rakudo will get sink context right after the release
13:09 pmichaud \o/
13:09 pmichaud I've seen the commit log messages (but not the patches themselves) -- excellent work
13:09 moritz thanks; as usual, jnthn++ did some of the triaging and patching too
13:10 timotimo that's very cool, moritz++ jnthn++
13:10 pmichaud I'll brb -- errand
13:20 cognominal joined #perl6
13:20 dalek roast: cdca426 | (Timo Paulssen)++ | S03-metaops/reduce.t:
13:20 dalek roast: add a test for [X] (RT #67064)
13:20 dalek roast: review: https://github.com/perl6/roast/commit/cdca426f79
13:24 * timotimo errs a runnand
13:26 kivutar joined #perl6
13:27 pmichaud back again
13:28 FROGGS hi pmichaud
13:30 pmichaud we need to set up a login for people to upload tarballs to the rakudo.org server, I think
13:30 moritz indeed
13:32 att__ joined #perl6
14:00 [Coke] tadzik: the url IN the ecosystem is fine. when I try to install it, though, it tries to clone something with a "::" in it.
14:01 moritz then probably the URL in the meta.info file is wrong
14:02 tadzik I think I checked that one too. Hrm
14:03 tadzik http://feather.perl6.nl:3000/ doesn't work though
14:04 Su-Shee so, will there a birthday release today? :)
14:05 moritz yes, masak++ will do it
14:05 Su-Shee \o/ then I will do a birthday compilation and installation. :)
14:10 timotimo is the exact time of birth known?
14:11 atrodo joined #perl6
14:12 PacoAir joined #perl6
14:14 moritz erm, wait
14:14 moritz rakudo release is in two days
14:14 moritz parrot release is today
14:14 * moritz all confused
14:14 moritz sorry :(
14:14 [Coke] moritz: no, that seemed correct, also.
14:15 [Coke] it was just at install time that it got confused.
14:15 [Coke] tadzik: is there a ticket for panda to use the perl6 that invoked it rather than the perl6 in the path?
14:16 [Coke] (and is that desirable? I would prefer it, but I haven't had to deal with the install hell of multiply installed perls, I just use perlbrew)
14:17 tadzik [Coke]: if there's none, please create it :)
14:21 [Coke] tadzik: done.
14:23 tadzik great, thanks
14:24 [Coke] I can't really test out the failure I was seeing while at work. I'll do it tonight and open a proper ticket.
14:24 [Coke] (if I try to install the debugger now it complains that it can't talk to github.)
14:24 moritz iirc star already does that for the panda it installs
14:28 [Coke] moritz: if I just want an installed bundle to work with, how hard would it be to build a star candidate and install it every time instead of hand rolling an installing?
14:28 [Coke] *install
14:29 * jnthn is back
14:29 GlitchMr joined #perl6
14:31 moritz [Coke]: probably not hard at all
14:32 kevin99 joined #perl6
14:46 sbox joined #perl6
14:51 [Coke] :q
14:51 * hugme hugs [Coke], good vi(m) user!
14:58 GlitchMr :w
14:58 GlitchMr oh right, [Coke] already left vim
15:00 stopbit joined #perl6
15:03 kaare_ joined #perl6
15:03 dalek roast: c50e4ea | (Timo Paulssen)++ | S02-magicals/args.t:
15:03 dalek roast: add tests for RT #74478
15:03 dalek roast: review: https://github.com/perl6/roast/commit/c50e4ea2e9
15:03 [Coke] timotimo++
15:04 timotimo those "testneeded" tickets are quite nice :]
15:04 skids joined #perl6
15:05 am0c joined #perl6
15:07 cognominal_ joined #perl6
15:10 brrt perl6 advent calendar is impressive as usual
15:11 * sjn agrees
15:13 FROGGS joined #perl6
15:14 TheAthlete joined #perl6
15:14 PerlJam http://irclog.perlgeek.de/​perl6/2012-11-30#i_6201034
15:15 PerlJam That's where we were at on Nov 30.
15:15 PerlJam #perl6++
15:15 TheAthlete left #perl6
15:15 tadzik so, anyone wants to review my post for tomorrow? :)
15:16 tadzik I'll schedule it once I get back home
15:16 brrt sure
15:16 tadzik https://gist.github.com/4280548 it is
15:17 brrt „I know!”, a gemstone-fascinated person would say, „We can monkey-patch IO::Socket::INET”. And then we have two problems. No, we'll go the other way, and follow the glorious path of Dependency Injection. - nice :-)
15:17 PerlJam tadzik: "If you look at how Perl 5's AnyEvent::HTTP,..." probably shouldn't have "how"  (or there's another word missing)
15:19 tadzik PerlJam: indeed, corrected
15:20 felher cedrvint++ #todays blog post. Nice one. :)
15:21 kivutar joined #perl6
15:21 timotimo new structured exceptions go in src/core/Exception.pm, yes?
15:22 moritz timotimo: yes
15:22 PerlJam tadzik: another minor typo: "general ideas" ~~ s/ideas/idea/
15:22 PerlJam tadzik++ that article is quite neat!
15:23 timotimo thanks. i'm going to add a structured exception, throw it and test for it for https://rt.perl.org/rt3/Ti​cket/Display.html?id=73184
15:23 brrt yes, tadzik++, although it took a while for me to get it
15:24 tadzik brrt: same here :)
15:24 tadzik PerlJam: thanks and thanks :)
15:25 brrt it does seem a bit hacky, but it is clever though
15:25 moritz tadzik++ # very nice post
15:25 PerlJam tadzik: I seem to recall dngor saying something like "Perl 6 won't need POE" (and utlimately I think that's right), but ... you've got the essentials to making a POE-a-like there :)
15:26 tadzik that's what MuEvent is :)
15:26 tadzik I now wonder if IRC::Bot did ever have to be made MuEvent-friendly
15:29 isBEKaml joined #perl6
15:32 [Coke] ISTR it hung a lot when I tried to use it for CJbot.
15:34 mattp_ joined #perl6
15:36 isBEKaml [Coke]: Is CJBot the same one that pulled in tweets from times so long ago? (count years) :)
15:36 isBEKaml (OHHAI, #perl6!)
15:39 GlitchMr hi
15:41 tadzik yeah, it was imperfect
15:42 isBEKaml tadzik: (about your gist of today's draft) - You supply a public member attribute but refer it as private? I can see what's going on, but readers may be confused.
15:42 isBEKaml We'll add an attribute to LWP::Simple, let's call it $!socketclass
15:42 tadzik $!socketclass is the name of an attribute
15:43 tadzik $.socketclass is a syntax that says "make and attribute $!socketclass and a public method socketclass()"
15:43 isBEKaml I'm enjoying it, tadzik++
15:43 isBEKaml Hmm, flaky memory. $.attribute creates accessors.
15:44 tadzik ayes
15:44 tadzik but I understand the way of thinking "$. means public, $! means private"
15:44 tadzik I used to think that way too, the C++ legacy's still on the back of my brains :)
15:44 [Coke] isBEKaml: yes, that was cjbot.
15:45 tadzik the front of brains now thinks "there can be no public attributes, nonono"
15:45 isBEKaml tadzik: yeah, that's what C++ does. :)
15:46 PerlJam tadzik: you might add a parenthetical statement to the effect of what you just said  "make an attribute $!socketclass and a public method socketclass()" some where around there to possibly avert any potential confusion
15:47 PerlJam plus that would re-enforce "right thinking" about Perl 6 OOP :)
15:47 Su-Shee there is a right thinking? ;)
15:47 isBEKaml *reinforce :D
15:47 moritz s/right/recommended/ :-)
15:47 PerlJam Su-Shee: if you get your head on straight, Perl 6 makes alot more sense than otherwise
15:48 isBEKaml Su-Shee: it's all off the left field. :P
15:48 timotimo wow, what have i done? my @a = 1..*; try { @a[Inf] = "dog"; }; say $!.item.perl;  -  this timeouts/endlessloops >_<
15:48 Su-Shee PerlJam: I'm irritated by "there is a right way of thinking now?" ;)
15:50 timotimo oh, haha, it's not supposed to be $!.item, it's supposed to be $!.index
15:52 isBEKaml Oh, wow - Perl is 25 today and I see references to grey beards on reddit and HN.
15:53 Su-Shee I don't even have a beard...
15:54 tadzik I'd be surprised if you had one at age 75 :)
15:54 isBEKaml I don't know if it's an insult or compliment to say that most of the people who use perl are grey beards.
15:54 FROGGS ha, shame on you! (in case you are a man)
15:54 tadzik I'm not even 25 :}
15:54 FROGGS bah -.-
15:55 FROGGS I'm not even two :P
15:55 isBEKaml heh. I'm an year old! :P
15:55 PerlJam I have a little bit of grey in my beard.  But it's mostly black.
15:55 dalek roast: f4ba686 | (Timo Paulssen)++ | S02-types/array.t:
15:55 dalek roast: test for @a[Inf] and @a[NaN] -> X::Item.
15:55 dalek roast: review: https://github.com/perl6/roast/commit/f4ba686569
15:56 timotimo http://t.h8.lv/0001-throw-X-​Item-for-a-NaN-or-Inf.patch - this is the corresponding patch for rakudo.
15:57 MayDaniel joined #perl6
15:57 moritz looks good to me
15:57 jnthn Whiteness in beard does NOT imply old :P :P
15:57 * moritz tests locally
15:57 [Coke] timotimo: isn't there a test function for "dies by throwing this type of exception" ?
15:58 FROGGS there is
15:58 timotimo i thought there was something called "dies_like", but ack told me i was hallucinating
15:58 FROGGS throws_like or so
15:58 timotimo or misremembering
15:58 timotimo oh, well, that would explain it. i'll change the test then.
15:58 isBEKaml moritz, timotimo: does that patch mean that rakudo now barks for using potentially NaN or Inf producing code?
15:59 kivutar_ joined #perl6
15:59 FROGGS timotimo: see this example https://github.com/perl6/roast/commit/9​8bd3469d0fb5a76a3dc3496f961aef789282182
15:59 timotimo found one locally, thanks :)
16:00 FROGGS timotimo: but you need that too: https://github.com/perl6/roast/blob​/98bd3469d0fb5a76a3dc3496f961aef789​282182/S32-exceptions/misc.t#L3-L4
16:00 jnthn throws_like in in a module, iirc
16:00 FROGGS since throws_like is not in Test.pm
16:00 jnthn ah, FROGGS++ beat me to it :)
16:00 FROGGS ;o)
16:01 [Coke] can we just make throws_like canon?
16:01 timotimo :)
16:01 FROGGS jnthn: it's hard to be faster than you actually
16:01 [Coke] timotimo: and while you're at it, go rewrite all the tests I wrote a few weeks ago that didn't use that. ;)
16:01 jnthn .oO( just make throws_like trebuchet )
16:02 timotimo [Coke]: sure, i can do that. have a commit range for me or something, though?
16:03 [Coke] ahahah. no, I was kind of kidding.
16:03 moritz :-)
16:03 [Coke] checking, though.
16:03 dalek roast: 741266b | (Timo Paulssen)++ | S02-types/array.t:
16:03 dalek roast: use throws_like instead of ad-hoc DIY solution.
16:03 dalek roast: review: https://github.com/perl6/roast/commit/741266bafd
16:04 thou joined #perl6
16:05 timotimo isBEKaml: "rakudo now barks for using potentially NaN or Inf producing code" - do you have a test case? i don't really know what you're asking.
16:05 dalek rakudo/nom: 358f486 | (Timo Paulssen)++ | src/core/ (2 files):
16:05 dalek rakudo/nom: throw X::Item for @a[NaN] or Inf.
16:05 dalek rakudo/nom:
16:05 dalek rakudo/nom: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
16:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/358f486bb6
16:05 moritz timotimo: re your last roast commit: please only use Test::Util in a single block where you put all the throws_like calls
16:05 moritz timotimo: that way it's much easier for [Coke]++ et al to fudge for rakudo
16:06 isBEKaml timotimo: I was referring to your patch.
16:06 timotimo oh, yes, sure.
16:06 moritz and use 'use lib "t/spec/packages";' instead of that ugly @*INC hackery
16:06 moritz (I know many tests use that, but use lib is cleaner)
16:06 timotimo isBEKaml: @a[maybe_nan] = 5; => Cannot index Array with NaN; @a[maybe_nan] = 5; => 5
16:06 Kharec joined #perl6
16:07 moritz rr: say <a b c>[Inf]
16:07 moritz rm: say <a b c>[Inf]
16:07 moritz rn: say <a b c>[Inf]
16:07 p6eval rakudo 7794ed: OUTPUT«Cannot coerce Inf to an Int␤  in method Numeric at src/gen/CORE.setting:10290␤  in sub infix:<+> at src/gen/CORE.setting:2761␤  in method exists at src/gen/CORE.setting:5764␤  in method at_pos at src/gen/CORE.setting:5744␤  in method postcircumfix:<[ ]> at src/gen/…
16:07 p6eval ..niecza v24-12-g8e50362: OUTPUT«Any()␤»
16:07 * moritz has a hard time typing today
16:07 moritz rn: say <a b c>[-Inf]
16:07 p6eval rakudo 7794ed: OUTPUT«Cannot use negative index -Inf on List␤  in method gist at src/gen/CORE.setting:10292␤  in sub say at src/gen/CORE.setting:7483␤  in block  at /tmp/UtUyWmUwtT:1␤␤»
16:07 p6eval ..niecza v24-12-g8e50362: OUTPUT«Any()␤»
16:07 moritz rn: say <a b c>[NaN]
16:07 p6eval rakudo 7794ed: OUTPUT«a␤»
16:07 p6eval ..niecza v24-12-g8e50362: OUTPUT«Any()␤»
16:07 isBEKaml timotimo: Yes, that's what I figured, but couldn't say much about Inf conditions.
16:08 moritz nr: say so NaN
16:08 p6eval rakudo 7794ed, niecza v24-12-g8e50362: OUTPUT«True␤»
16:08 moritz maybe that should be false
16:08 moritz since a NaN is kinda like undefined
16:09 isBEKaml rn: say so "a"
16:09 p6eval rakudo 7794ed, niecza v24-12-g8e50362: OUTPUT«True␤»
16:09 dalek roast: 4aa7777 | (Timo Paulssen)++ | S02-types/array.t:
16:09 dalek roast: use Test::Util only locally.
16:09 dalek roast: review: https://github.com/perl6/roast/commit/4aa7777e7d
16:09 timotimo i think this should be satisfactory now :)
16:10 timotimo moritz: want me to hunt&fix a few of the @*INC using test files?
16:11 [Coke] timotimo: 69076df (check for type instead of text?) ff9539f (use throws_like)
16:12 [Coke] timotimo: yes that would be helpful.
16:12 moritz though writing new tests is better use of time
16:12 [Coke] (the inC cleanup)
16:12 moritz n: use lib 'lib'; say 'alive';
16:12 p6eval niecza v24-12-g8e50362: OUTPUT«alive␤»
16:12 moritz ok, niecza also supports use lib
16:12 moritz then, +1
16:12 kresike joined #perl6
16:13 [Coke] pugs: use lib 'lib'; say "dead"
16:13 p6eval pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤    at /tmp/VOJEQPFtEc line 1, column 1␤»
16:13 timotimo i wonder if i can speed the process up reliably by doing a sed search&replace ...
16:13 moritz pugs: BEGIN { @*INC.push: 'foo' };
16:13 p6eval pugs: OUTPUT«pugs: *** Can't modify constant item: VUndef␤    at /tmp/deDI4EuUF9 line 1, column 9-27␤       /tmp/deDI4EuUF9 line 1, column 9-27␤»
16:13 [Coke] sadly, pugs still can't build on feather.
16:14 moritz but it also dies on the alternative :-)
16:15 isBEKaml timotimo: Like moritz said, adding new tests is a better use of your time. Of course, you can fix up those wherever & whenever you see one. :)
16:16 timotimo [Coke]: so for 69076df should i create a structured exception? because currently it throws X::AdHoc.
16:16 timotimo i suppose i could try adding more tests rather than fixing old ones
16:17 moritz timotimo: yes, 69076df needs a typed exception
16:17 timotimo sure can do.
16:18 kaleem joined #perl6
16:19 dalek roast: e76e8b9 | (Timo Paulssen)++ | S12-introspection/meta-class.t:
16:19 dalek roast: changed up ad-hoc $! test to use throws_like.
16:19 dalek roast: review: https://github.com/perl6/roast/commit/e76e8b92d8
16:22 timotimo it could be a X::Syntax::Missing, though.
16:22 moritz yes
16:22 [Coke] timotimo++
16:22 moritz (I haven't said it needs a *new* typed exception :-)
16:22 [Coke] I did the bare minimum on that one.
16:23 [Coke] there's probably tons of tests like that that need updating.
16:25 timotimo is '"while" or "until"' an acceptable value for X::Syntax::Missing.what?
16:27 kivutar joined #perl6
16:27 moritz yes
16:30 benabik joined #perl6
16:32 dalek roast: db9ed20 | (Timo Paulssen)++ | S04-statements/repeat.t:
16:32 dalek roast: enhance 114432 test case with typed exception.
16:32 dalek roast: review: https://github.com/perl6/roast/commit/db9ed206f4
16:34 timotimo http://t.h8.lv/0001-throw-Missing-o​n-repeat-without-while-until.patch - and this is the rakudo patch
16:34 timotimo hum, that should have read RT #114432 :\
16:36 kaleem joined #perl6
16:37 thou joined #perl6
16:41 timotimo http://t.h8.lv/0002-replace-.pan​ic-missing.-with-.missing.patch  - this, too :)
16:43 dalek rakudo/nom: 1e37817 | (Timo Paulssen)++ | src/Perl6/Grammar.pm:
16:43 dalek rakudo/nom: throw Missing on repeat without while/until.
16:43 dalek rakudo/nom:
16:43 dalek rakudo/nom: Signed-off-by: Moritz Lenz <mlenz@noris.net>
16:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1e37817534
16:43 dalek rakudo/nom: 22518b8 | (Timo Paulssen)++ | src/Perl6/Grammar.pm:
16:43 dalek rakudo/nom: replace .panic: "missing..." with .missing: ...
16:43 dalek rakudo/nom:
16:43 dalek rakudo/nom: Signed-off-by: Moritz Lenz <mlenz@noris.net>
16:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/22518b88dd
16:44 timotimo thank you :)
16:44 timotimo although just mending some paper cuts, i feel like i'm contributing <3
16:45 moritz you do
16:45 moritz (nearly) everybody starts small
16:45 moritz I certainly did
16:45 moritz t/spec/S12-introspection/meta-class.rakudo              (Wstat: 0 Tests: 13 Failed: 1) Failed test:  13 Parse errors: Bad plan.  You planned 12 tests but ran 13.
16:46 jnthn timotimo++ # patching Rakudo and tests
16:47 timotimo oh? whoopsie. that was me, wasn't it :)
16:47 moritz timotimo: I suspect so
16:47 timotimo will be fixed in just a second
16:48 kresike bye folks
16:48 dalek roast: 60f15db | (Timo Paulssen)++ | S12-introspection/meta-class.t:
16:48 dalek roast: bump up the plan properly.
16:48 dalek roast: review: https://github.com/perl6/roast/commit/60f15db22c
16:49 grondilu joined #perl6
16:50 grondilu the day 18 about measure seems cool.  Anybody working on a full module International System of measures?
16:51 grondilu I mean a module for this:  https://en.wikipedia.org/wiki/​International_System_of_Units
16:55 Kharec joined #perl6
17:14 stanley left #perl6
17:15 thou joined #perl6
17:17 bbkr__ README for Rakudo Star mentions --parrot-config param while "Configure.pl --help" shows no such thing, only '--with-parrot' is available. which one is correct?
17:21 [Coke] Might be a copy over from rakudo compiler's optinos.
17:22 bbkr__ i'll fill an issue
17:31 bbkr__ also it's not clear if --prefix is propagated to NQP/Parrot when --gen-* options are used
17:36 lawrmcfa joined #perl6
17:40 TimToady diakopter++ showed up here at the Wall Nuthouse with a birthday cake for Perl!
17:41 timotimo bon appetit~
17:44 japhb Awesome!
17:44 hoelzro how nice =)
17:45 japhb TimToady, OOC which is older, Perl or your (human) children?
17:45 TimToady Perl is Geneva's younger twin(ish) sister
17:45 TimToady so older than Lewis
17:45 TimToady er, quietfanatic
17:46 huf some of your kids are here too?
17:46 japhb A quarter century of TimToady children, some human, some not.  ;-)
17:46 huf (btw has anyone else noticed how parents feel _much_ younger and entirely unparentish on irc?)
17:47 huf my dad gtalks like a 20something year old
17:47 * japhb tries to draw himself up to his full stature of parenthood, fails utterly
17:47 TimToady http://wall.org/~larry/Perl25th.jpg  # diakopter, Timtoady, quietfanatic, markb (maternal uncle of Perl)
17:47 moritz diakopter++
17:48 japhb Akpth, upside down
17:48 huf quirky
17:48 japhb And ... uh, I think we're slamming your server.
17:48 huf wouldnt feel right if it was right side up :D
17:48 huf i wonder which one is your son.. :)
17:48 diakopter it's ritht side up for me in Chrome
17:48 japhb Wow, quietfanatic looks very much the mini-you
17:49 PerlJam funy how that happens.  :)
17:49 PerlJam er, funny even
17:49 huf he looks more like you upside down
17:49 huf which is quite surprising
17:50 japhb This box has an ancient browser ... I'm guessing not new enough to respect metadata image rotations, or somesuch.
17:50 masak diakopter++ # cake not a lie
17:50 huf i have a fairly recent firefox and it didnt do it right either
17:50 moritz http://moritz.faui2k3.org/tmp/perl-cake.jpeg # totated
17:51 PerlJam What are the sticks with string in the background?
17:51 diakopter wall art?
17:52 PerlJam huf: btw, why is it surprising that they look more alike upside down?
17:52 isBEKaml quirky bows.
17:53 TimToady geneva made that out of leftovers from our yard
17:54 rindolf Is the guy to the right of TimToady RAFL?
17:54 masak wonderful picture.
17:54 Chillance joined #perl6
17:54 rindolf The shortest one I mean.
17:54 moritz no
17:55 masak wow, that's the first time I see quietfanatic's photo.
17:55 moritz http://www.flickr.com/photos/sartak/3909252367/ # that's rafl
17:55 rindolf moritz: I met RAFL.
17:55 isBEKaml nice picture, quirky bows or not. :)
17:55 rindolf moritz: once.
17:57 PerlJam huf: or .. my explaination: human brains are geared towards facial recognition, but when you turn a picture upside down we no longer tend to focus on "faces" as much as we focus on "shapes".  Since TimToady and quietfan1tic have very similar angles and shapes, they tend to look "more alike" when viewed upside down.  :-)
17:58 hoelzro so I'm starting to work on a Perl6 lexer for pygments
17:59 hoelzro and I was wondering which set of extensions I should consider for Perl 6
17:59 hoelzro so far, I have .pl  .pm .p6 .nqp
17:59 hoelzro should I add anything to or remove anything from that list?
17:59 flussence .p[lm]6 maybe
18:00 tadzik hoelzro++
18:01 hoelzro oh, also! what MIME type should I use? I currently have text/x-perl6 and application/x-perl6
18:02 isBEKaml pygments? for github?
18:04 hoelzro isBEKaml: yes!
18:04 huf PerlJam: yeah, that was my guess too
18:04 moritz \o/
18:04 huf PerlJam: i'd just never noticed _this_ particular thing before
18:04 hoelzro well, I'll have to modify linguist too, but that's the easy part*
18:04 hoelzro *for some value of 'easy'
18:04 isBEKaml hoelzro: awesome! hoelzro++ # we have poor support on github, WBNI we see that on editors too.
18:05 * hoelzro looks at vim-perl for Perl 6 keywords
18:06 hash_table joined #perl6
18:11 kivutar joined #perl6
18:12 * hoelzro finds it funny that he'll be spending Perl 6 tuits writing Python =P
18:13 tadzik If you know yourself, but not the enemy, for every victory gained, you will also suffer a defeat
18:13 tadzik or something like that
18:13 * PerlJam wonders who "the enemy" is in this scenario
18:23 bowtie joined #perl6
18:25 * [Coke] wonders if he'll get bonus points on t2 if he ends up adding a module to the ecosystem.
18:25 [Coke] . o O (Don't answer that question!)
18:25 thou joined #perl6
18:42 sorear good * #perl6
18:43 timotimo hm, my desktop does Stage parse in 95 seconds, my laptop does in 150. i should seriously move my rakudo hacking over to my desktop!
18:45 pmichaud hello, happy birthday Perl -- but why isn't the cake falling?
18:45 pmichaud btw, I suspect this is close to Rakudo's 5th birthday, then.
18:46 diakopter fg
18:47 [Coke] pmichaud: Guten Morgen!
18:51 jnthn pmichaud: ooh :)
18:51 jnthn pmichaud: Wait, how many years have I been hacking on this? 5?!
18:51 PerlJam pmichaud: See commit 2dceda54f6bc225a3d0924db15dc28d01a739add  :-)
18:52 pmichaud December 2007 was release #0
18:52 PerlJam jnthn: commit bf6fe0dc4ab0c90be49ddde722b4fcf719dd409d for you  :)
18:53 Su-Shee "that doesn't look like a date to me" ;)
18:54 pmichaud commit bf6fe0dc was 2007-12-16
18:56 Su-Shee wow, seems shorter than 5 years...
18:56 jnthn Aye
18:57 tadzik advent post scheduled for tomorrow
18:57 pmichaud tadzik++
18:58 tadzik also, my threads.nqp thing, which used to segfault, now works
18:58 tadzik (on green threads)
18:58 tadzik let's see it rakudo works as well
18:58 PerlJam pmichaud: you know ... Dec 24 is still open on the advent schedule.  Care to write something?
19:03 pmichaud PerlJam: I think I'm likely to be unreliable for that this year  :-/
19:03 pmichaud or, anything I write would be sub-standard
19:03 pmichaud (for me, at least)
19:05 pmichaud afk, bank
19:07 PerlJam TimToady: would you be willing/able to contribute a Dec 24 advent post?
19:11 pmichaud (I'm out of town 12/20-12/23, and in the days before/after those I'm entertaining family visitors)
19:18 bowtie_ joined #perl6
19:21 popl joined #perl6
19:22 Kharec joined #perl6
19:23 tadzik gist.github.com is acting funny, so here are threads in Rakudo: http://wklej.org/id/901046/txt/
19:23 tadzik works for just 'async &count' too
19:25 kthakore hi friends
19:25 PerlJam tadzik: must you have a newest version of parrot/nqp/rakudo to use it?  Or tadzik's-local-patches?
19:25 PerlJam kthakore: greetings!
19:26 tadzik PerlJam: parrot HEAD, but....
19:26 tadzik build with using --without-threads :D
19:26 tadzik native threads still don't work for nqp, --without-threads makes them green threads, which work alright
19:26 kthakore PerlJam: how is it going?
19:27 PerlJam tadzik: ok
19:27 * kthakore is waiting on FROGGS :|
19:27 PerlJam kthakore: It's going good.  Are you still hacking on SDL?
19:27 tadzik jnthn: how can I has non-perl6 attribute in a class?
19:28 leont joined #perl6
19:28 kthakore PerlJam: yeah I have been out of it for a while cause I have been working on 2 startups and my masters
19:28 kthakore PerlJam: but FROGGS took over SDL6 and I am going to help where I can when I get a break
19:29 kthakore The passing of the torch and all that.
19:29 kthakore Perl5 SDL and Alien::SDL are on Debian and about as stable as it can get
19:29 kthakore How about you PerlJam ?
19:31 tadzik or specifically: how do I pass a non-perl6 value to a sub?
19:32 PerlJam kthakore: I've lots of ideas and very little time apparently.
19:32 FROGGS kthakore: https://gist.github.com/4321746
19:33 diakopter tadzik: a non-6model object?
19:33 tadzik Mu \foo greets me with Unmarshallable foreign language value passed for parameter 'foo'
19:33 tadzik diakopter: yes
19:33 tadzik hmm
19:33 tadzik I can workaround it, actually
19:33 popl why did I read unmarshmallowable?
19:33 popl :(
19:33 FROGGS popl: hungry?
19:33 PerlJam popl: heh
19:35 popl FROGGS: maybe
19:35 jnthn tadzik: Passing them to subs is tricky. Attributes - work out fine but use nqp::getattr and nqp::bindattr to deal with them.
19:36 popl PerlJam: Your handle is the first to tab-complete when I try to talk to perlbot. :P
19:36 tadzik yeah, I worked around it a bit
19:36 tadzik lazy-bound the attributes :)
19:36 FROGGS_ joined #perl6
19:36 tadzik having http://wklej.org/id/901067/ now
19:37 leont left #perl6
19:37 tadzik ideally one wouldn't have to call .schedule to assign $!task
19:37 * Ulti now has an Erdos number of 4
19:38 popl Ulti: \o/
19:39 popl Ulti: What did you write?
19:39 Ulti a journal paper with my supervisor ;) who has an Erdos number of 3
19:39 [Coke] Ulti: hurm. I have a Bacon number of 4 if you squint properly.
19:39 popl What was the topic of the paper?
19:40 moritz Ulti++
19:40 [Coke] Ulti++ #yours is better. :)
19:40 Ulti popl it was a bout a database I built for predictions of a specific aspect of protein structure
19:40 popl Oh neat.
19:40 sorear no, no
19:40 sorear Ulti min= 4
19:40 Ulti true
19:41 Ulti lol my supervisor has gone crazy, he's worked out we are in the direct lineage of PhDs from Galileo (somehow)
19:42 Ulti surely most of western science is
19:42 popl crazy?
19:42 Ulti yeah he is now trying to work out our Darwin numbers
19:42 popl :)
19:43 Woodi hallo everyone :)
19:43 Ulti hi .0/
19:43 popl Is that how many times removed from apes we are?
19:44 Ulti lol almost
19:45 Ulti only takes 9th cousins for you to be related to all of humanity
19:45 Ulti iirc
19:45 MikeFair joined #perl6
19:46 Woodi for me Perl have gravity :) you trying to write in other language but you got distracted for a moment or two and then you see you are floating down the gravity well :)
19:46 popl I wish you wouldn't bring up my estranged relatives. I don't talk to them for a reason, you know. They always double-dip at the family reunions. :P
19:47 GlitchMr https://github.com/tadzik/Threads
19:47 GlitchMr Threads :-)
19:49 tadzik Yep. Threads :)
19:50 dalek ecosystem: eb3b8df | tadzik++ | META.list:
19:50 dalek ecosystem: And so it has come to this... add Threads
19:50 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/eb3b8df322
19:51 kivutar joined #perl6
19:51 GlitchMr 'built with
19:51 GlitchMr --without-threads'
19:51 GlitchMr Makes sense...
19:53 tadzik I'll now use it for ALL THE THINGS
19:54 tadzik seen nine
19:54 aloha nine was last seen in #parrot 67 days 9 hours ago joining the channel.
19:54 [Coke] tadzik++
19:54 [Coke] nine++
19:54 [Coke] rurban++
19:55 Woodi cedrvint++ # for kΩ ± % ¥€$ and rest :)
19:55 Woodi and tadzik++ :)
19:55 xinming joined #perl6
19:56 flussence I spent way too long thinking about writing a measurements DSL/whatever, but it never actually went anywhere useful. I think I had half of a grammar for parsing values from strings somewhere...
19:57 Woodi cedrvint: do in '($resistance ~~ 4.7kΩ ± 5%)' '~~' can be replaced by '=' somehow ?
19:58 TimToady no, because the right side is a pattern
19:58 hoelzro this pygments lexer is actually coming along pretty easily: http://hoelz.ro/files/perl6-pygments.png
19:58 hoelzro at least, until I get to the "fun" stuff ;)
19:58 bbkr_ awesome advent post!
19:58 tadzik whee
19:58 Woodi flussence: I was writing Money 'class' in C and cedrvint++ outdated my sweatings :)
19:59 tadzik hoelzro++ #  gooood stuff :)
19:59 hoelzro it's a start!
20:05 kurahaupo joined #perl6
20:10 tadzik it's a good start too
20:11 FROGGS hoelzro: are you going to supply a patch for github?
20:12 hoelzro FROGGS: when it's ready, I shall
20:12 FROGGS awesome!!
20:12 hoelzro but that's the idea =)
20:12 FROGGS ++hoelzro
20:12 hoelzro it'll be interesting when I start doing the more complicated bits
20:13 hoelzro but it's programming in Python, doing some parsing stuff, with revision control in Mercurial
20:13 pawanPandey joined #perl6
20:13 hoelzro three things I'm not accustomed to =)
20:13 FROGGS ya, it would be more fun in Perl 6 with grammars in git ;o)
20:14 hoelzro probably, but I like stretching my brain a bit!
20:15 FROGGS sure, no doubt
20:15 FROGGS (Perl 6 and grammars do the trick for me)
20:15 FROGGS I'm currently writing a grammar to parse Perl 6 code...
20:16 hoelzro oh, nice!
20:16 FROGGS so I would be able to get the classes and modules and whatever it defines
20:16 FROGGS it gets top level stuff so far, and skipps stuff in pod blocks
20:20 dalek perl6-bench: 64f1831 | (Geoffrey Broadwell)++ | README:
20:20 dalek perl6-bench: Several README improvements, including significantly more clarity about prereqs
20:20 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/64f1831a66
20:21 tadzik bah, there's no http://rosettacode.org/wiki/Dining_philosophers for Perl 6
20:21 diakopter I'll be impressed...
20:22 tadzik diakopter: http://img.izismile.com/img/img5/201202​24/640/soon_meme_collection_640_03.jpg
20:22 tadzik I'm putting semaphores together
20:25 pmichaud back again briefly
20:30 [Coke] o/ pmichaud
20:30 pmichaud o/ Coke
20:32 jnthn r: say "Hey Pm" "My errors suck less now"
20:32 p6eval rakudo 22518b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/bVIs3kZETO:1â�¤------> [32msay "Hey Pm" [33mâ��[31m"My errors suck less now"[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤        statement endâ�¤        statement…
20:33 pmichaud yes, I've noticed the high-water mark work.  Excellent job.
20:34 tadzik r: sub foo { has $.a; method b {} }
20:34 p6eval rakudo 22518b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤You cannot declare attribute '$.a' here; maybe you'd like a class or a role?â�¤at /tmp/MEvjn6GzqW:1â�¤------> [32msub foo { has $.a[33mâ��[31m; method b {} }[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        constraintâ�¤Â»â€¦
20:34 tadzik hrm
20:34 jnthn Yeah, it made things...vastly more accurate.
20:37 tadzik Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling block : Error while compiling block : Error while compiling block wait: Error while compiling block : Error while compiling op p6typecheckrv: Error while compiling op lexotic: Error while compiling op p6decontrv: Cannot infer type from ''
20:37 tadzik yeah... thanks...
20:37 GlitchMr https://github.com/tadzik/Thre​ads/blob/master/lib/Threads.pm
20:37 GlitchMr Threads are... so easy?
20:37 tadzik GlitchMr: well, it took some effort to write that short, clear code, but yeah :)
20:38 [Coke] there is a lot of parrot heavy lifting you don't see there.
20:38 GlitchMr The shortest threads module I've ever seen.
20:38 [Coke] plus also tadzik is AWESOME
20:39 tadzik I'm also flattered :)
20:39 GlitchMr Too bad you had to use low-level NQP/Parrot calls that don't have to exist in full Perl 6 specification.
20:39 jnthn tadzik: On that error, most probably you have some pir op or so that returns void and have it last in a block or sub
20:39 GlitchMr But full Perl 6 implementation won't need it.
20:39 [Coke] method join!
20:39 GlitchMr And niecza already has Threads.
20:39 pmichaud afk, kid pickup
20:40 GlitchMr Also, join is a bad name for method.
20:40 diakopter GlitchMr: but it's the traditional name
20:40 [Coke] GlitchMr: Surely it's ok for your perl6 implementation to call out to your VM?
20:40 tadzik jnthn: ah, that'd be it, yes
20:40 jnthn Some things *have* to call down to the VM. Like, say, nativecall.
20:41 GlitchMr NativeCall should be part of Rakudo.
20:41 GlitchMr (not really)
20:41 [Coke] I wonder if we can somehow mark a module as for a particular impl.
20:41 GlitchMr For me, anything that uses cil::, nqp:: or pir:: isn't Perl 6.
20:41 [Coke] module threads :impl(Rakudo);
20:41 cogno joined #perl6
20:42 GlitchMr Or whatever Niecza used for Common Intermediate Language calls
20:42 [Coke] GlitchMr: it can't be elephants all the way down.
20:42 [Coke] (should have said turtles! bad coke)
20:42 jnthn .oO( At some point, you gotta hit the turtle... )
20:43 GlitchMr nqp::/pir:: is for implementation specific modules.
20:43 GlitchMr Except, implementation specific means it isn't Perl 6
20:44 Su-Shee *sniff* diakopter: the cake is so nice. *sniff* :)
20:44 GlitchMr It isn't Perl 5 with just one real implementation.
20:44 GlitchMr (I know, Perlito already works with Perl 5 well, but nobody actually uses it)
20:48 [Coke] GlitchMr: I think your distinction doesn't matter. I'm not running perl6, I'm running rakudo.
20:48 [Coke] (or niecza. or pugs)
20:49 [Coke] Ideally, yes, you hide those impl. specific stuff, and they're not part of the language, and you don't have to call them yourself, but SOMETHING is going to be using them.
20:49 [Coke] (unless you're using yapsi)
20:49 [Coke] Is this going to stop you from using Threads?
20:51 tadzik aahhh, shit
20:51 FROGGS if I wanna use NativeCall or tadzik Threads module I dont care what it does inside, and I wont care if there are different NativeCall modules shipped with niecza and rakudo, as long as the API is the same
20:51 tadzik http://wklej.org/id/901183/
20:52 tadzik spot a bug
20:52 tadzik I dare you
20:52 xinming_ joined #perl6
20:52 tadzik or at least I think it is so hard to spot
20:52 tadzik (and I did identify it correctly)
20:53 tadzik hmm, maybe I didn't
20:54 [Coke] tadzik: "acquire" ? ;)
20:54 tadzik ahaha
20:54 tadzik yeah, that too :)
20:54 tadzik it shifts from an empty array somewhere
20:54 tadzik and it doesn't seem to be this sink context thing again
20:54 rurban talking as release manager of parrot-4.11.0: we will ship parrot 4.11.0 with native threads support enabled. nqp cannot call functions in threads(tasks) with access to lexicals outside yet. parrot --without-threads you can do, but we encourage you to fix nqp instead. see nqp branch gh67-threads.
20:56 rurban nqp also needs to be updated to generate writer functions for shared variables automatically., read-only access works if you use parrot's lexpad.pmc
20:57 pmichaud I don't think we can use parrot's LexPad -- it's not quite advanced enough for us.
20:57 rurban see t/nqp/67-threads.t in my branch for a simple failing read-only testcase
20:58 rurban This is a new experimental feature. I hope you'll like and embrace it. (hyper in full speed)
20:58 pmichaud we'd like to see an example of hyper in PIR first, I think.
20:58 rurban hyper in pir? ok, why not
20:58 hoelzro where is the list of legal characters for an identifier found?
20:59 pmichaud hoelzro: alphabetics, numerics, and underscore
20:59 hoelzro not dash?
20:59 pmichaud oh, and hyphen and apostrophe if followed by an alphabetic
20:59 hoelzro ok, thanks!
20:59 rurban 2nd problem I found was this: --without-icu nqp throws a parse-time error when encountering charnames
20:59 rurban cannot this be made a run-time error instead?
20:59 pmichaud rurban: yeah, it's a known problem.  There's not an easy fix that I know of.
21:00 rurban I tried to fix it but I found no good nqp support for it.
21:00 pmichaud if it's a compile-time error it's hard to make it runtime :)
21:01 pmichaud besides, normally one wants to catch errors as early as possible -- that means moving runtime errors to compile-time, not vice-versa :)
21:02 dalek nqp-rx/rurban/find_codepoint-error: a352bfb | rurban++ | src/HLL/Actions.pm:
21:02 dalek nqp-rx/rurban/find_codepoint-error: Failed attempt to fix find_codepoint errors
21:02 dalek nqp-rx/rurban/find_codepoint-error:
21:02 dalek nqp-rx/rurban/find_codepoint-error: --without-icu
21:02 dalek nqp-rx/rurban/find_codepoint-error: review: https://github.com/perl6/nqp-rx/commit/a352bfb957
21:02 rurban agreed. see my branch
21:02 rurban It's only for the testsuite.
21:04 pmichaud rurban: the problem is that find_codepoint throws an exception if ICU isn't loaded
21:04 rurban I tried to fix that part in libparrot, returning -1 instead
21:05 rurban I should have documented it in the commit message. with current libparrot you have to catch the exception
21:05 pmichaud at any rate, anything that happens in HLL::Actions is liable to be compile-time
21:05 pmichaud since that's what the Actions stuff does.
21:05 rurban I wanted to have a nice SKIP testmessage for this failing test
21:05 jnthn nqp: BEGIN { }
21:05 p6eval nqp:  ( no output )
21:06 jnthn Could check it at BEGIN time before it hits the parse error
21:06 pmichaud SKIP seems a bit advanced for NQP, though.
21:06 pmichaud NQP is supposed to remain simple/lightweight
21:06 jnthn aye
21:06 jnthn I was more thinking that you just use BEGIN to look at config
21:06 jnthn But then we make the test Parrot specific
21:06 jnthn When we're meant to be doing the exact opposite.
21:07 rurban ok, maybe print at the test header that --without-icu compile-time errors are expected
21:09 pmichaud for now, we could avoid the call to find_codepoint if icu isn't loaded.
21:09 pmichaud but I'm not sure what to do with the string constant in that case.
21:11 pmichaud i.e., if ICU isn't loaded, then what should NQP do with  "\c[LATIN SMALL LETTER O]" .   Leave it alone?  Replace the character with some sort of "invalid character" placeholder?
21:11 pmichaud seems to me that a compile-time error is the right response.
21:11 jnthn Aye.
21:12 * jnthn ain't sure why we're spending time on trying to "fix" this...
21:12 pmichaud well, so that people who run "make test" on nqp when icu isn't present don't get strange errors, I think.
21:12 jnthn ah
21:13 jnthn But most end users don't do that.
21:13 jnthn As in, most NQP end users are actually Rakudo end users.
21:13 pmichaud depends on "end user" -- in this case, it's a parrot dev that wants to make sure a Parrot change hasn't broken nqp
21:13 jnthn Ah...
21:13 jnthn Well, the Parrot change to remove ICU from the Parrot repo *did*. :P
21:14 pmichaud which we ought not discourage parrot devs from testing changes against nqp :)
21:14 jnthn Aye
21:14 pmichaud well, removing icu from the parrot repo was a necessary thing, imo
21:14 pmichaud otherwise distro packagers would be carping about parrot including icu
21:14 pmichaud as in carping LOUDLY
21:16 pmichaud anyway, the correct approach is likely to change the test file.  Maybe turn the test into an eval statement of some sort.
21:17 pmichaud at least, for now.
21:19 jnthn *nod*
21:20 jnthn Yeah, the \c[...] really should complain if it can't do anything sensible.
21:20 jnthn Well, there compiler is available through compreg
21:20 jnthn Which I expect we probably will want a backend-independent thing for. After all, it's basically just a hash... :)
21:21 pmichaud could be a nqp::op initially
21:21 jnthn yeah, I've been tempted to add it once or twice :)
21:21 pmichaud nqp::compiler('rakudo')  or somesuch
21:21 jnthn ooh, nice name :)
21:22 pmichaud could also be   $?COMPILER, which gets you to the current compiler and it knows how to locate others
21:23 sjohnson joined #perl6
21:23 skids .oO(on a tangent, maybe the versioning system could be tapped to deal with runtime testing for optional third-party libs.  e.g. choosing pure-perl6 implementations when an NCI dependency is not installed.)
21:25 pmichaud well, more generally we have to figure out how we want to handle strings in NQP when faced with multiple backends -- that's where this problem falls.
21:25 jnthn pmichaud: Something like that may actually be better...as a problem with a global hash like compreg is things get messy in bootstrap situations...
21:26 pmichaud jnthn: yes, having method-based access was where I was headed with   pir::compreg('Parrot')  back in the PCT days
21:26 pmichaud i.e., one could always ask for the generic compiler, then ask it to find the other compilers or help out with conversions
21:28 cogno joined #perl6
21:30 cognominal joined #perl6
21:30 abth joined #perl6
21:32 xilo_ joined #perl6
21:44 masak 'night, #perl6
21:45 moritz knight, masak
21:46 tadzik good knight masak
21:47 moritz (notice that nobody calls masak a knave :-)
21:48 tadzik bah, no free slot to write about threads
21:48 tadzik next year theN :)
21:48 moritz or, you know, just blog :-)
21:48 moritz or ask PerlJam if he actually has a topic for the 22th :-)
21:49 * moritz -> sleep
21:49 tadzik good knight moritz
21:50 pmichaud I'm afk for a while
21:50 [Coke] ~~
21:53 pmurias joined #perl6
21:58 Tyrannical_Shaun joined #perl6
21:58 Tyrannical_Shaun ...
21:58 Tyrannical_Shaun hello...
21:59 pmurias [Coke]: re marking for particular implementation maybe a 'use rakudo'?
21:59 [Coke] Hio.
22:01 thou joined #perl6
22:04 abth left #perl6
22:04 [Coke] use implementation <rakudo>, maybe?
22:08 * pmichaud converts rakudo's github account into an organization account.
22:08 pmichaud it's taking a while...
22:08 * jnthn saw the flurry of emails
22:08 jnthn er, well, 2 of them :)
22:12 pmichaud ...and I've added various accounts to the owners team
22:13 rurban nqp and rakudo pass all tests with parrot-4.11.0 threaded on linux
22:13 snearch joined #perl6
22:14 pmichaud well, the "transforming rakudo" page is still showing, but it appears to have been transformed already.
22:16 bowtie joined #perl6
22:18 lichtkind moritz: ping
22:26 lichtkind jnthn: do you have calendar access
22:27 timotimo rurban: what does threaded mean in this context? green threads?
22:28 * colomon is on team rakudo!
22:28 timotimo i don't feel comfortable dismissing niecza just like that :|
22:29 lichtkind allright i will mail it moritz
22:30 tadzik timotimo: non-green I guess
22:30 tadzik green threads are Parrot built --without-threads
22:30 timotimo ah, OK.
22:30 timotimo so, does it use threading at all?
22:31 timotimo perhaps (perheaps?) a threaded GC?
22:33 grondilu joined #perl6
22:34 grondilu well, I have to say.  I signed up for the 2012 coding context, but honestly I'm starting to have regrets.  This thing is tough.
22:36 PerlJam tadzik: I'd happily let you write about threads on the 22nd (since I haven't evene decided on a topic yet)
22:36 pmichaud threads +1
22:37 tadzik there is not too much to write
22:37 PerlJam tadzik: also, the 24th currently seems empty.  :)
22:37 * colomon did a bunch of coding for the 21st "Collatz" post, but started thinking maybe a grand overview of p6's operator philosophy might be more appropriate after reading Hacker News today.
22:37 tadzik esp since green threads do block the entire interpreter on IO, which limits the usecases a bit
22:37 tadzik but it's cool nonetheless :)
22:37 [Coke] grondilu;eh. you don't ahve to finish them all, just do your best.
22:38 [Coke] I only did one last year, and hit a wall. it was still a good experience, I think.
22:38 tadzik but maybe we can figure out some cool usage example 'til 22
22:38 grondilu [Coke]: that's the problem with "do your best".  Everyone will know how much I suck :/
22:38 rurban timotimo: green + native OS
22:38 pmichaud a good post somewhere would be simply to identify all of the places where perl 6 enables parallelism to occur
22:38 pmichaud or, at least, doesn't prevent it :)
22:38 rurban timotimo: see http://www.parrot.org/news/parrot-t​hreads-perl6-advent-calendar-day-11
22:39 tadzik hm, we could now write all those hyperops with parrot threads
22:39 tadzik it's just that we have to use green ones, as nqp doesn't support the native ones
22:39 pmichaud well, we also have to watch locking
22:40 rurban parrot threads are almost lock-free.
22:40 pmichaud I'd like to see an example first :)
22:40 pmichaud (as in, a hyperop implemented in PIR)
22:41 PerlJam tadzik: remember what I said about POE before?  Look at how successful POE has been even with all of its limitations.   Maybe a post that re-implements some simple POE thingy would be useful?
22:41 rurban The GC needs some more locking though. (race when alloc in one thread and the other is doing mark&sweep)
22:42 tadzik PerlJam: I don't quite see the connection between POE and threads
22:44 PerlJam tadzik: What I'm saying is that you've got a simple threads implementation that isn't quite perfect.  If you squint, that's very much like POE  ;)   So, if you could find a simple problem that POE solves, but is normally solved with threads, you could do that as an advent post.
22:44 rurban https://github.com/parrot/parrot/issues/889
22:45 [Coke] grondilu: eh, don't worry about it. everyone has different skills/time availability. I'm taking the contest as a challenge to learn more Perl 6.
22:47 PerlJam [Coke]++  I've been waffling about participating or not (same as I did last time)  because I'm not sure I'll be able to devote enough time to it.  But, this year, I think I'll participate and see what happens.
22:47 PerlJam grondilu: then you won't have to worry so much about sucking because I'll be there with you  :-)
22:47 pmichaud I'm afk -- bbt
22:49 tadzik PerlJam: true. I
22:49 tadzik 'll think of something
22:56 timotimo so how long until we see a perl6 program being faster with threads enabled than without in rakudo? :]
22:57 timotimo special bonus if there's no explicit mention of threading in it, maybe some for loops, maps, hyperops, lazy eval, junction, ... being sped up behind the scenes
22:58 gfldex joined #perl6
23:16 thou joined #perl6
23:35 hash_table joined #perl6
23:39 skids joined #perl6
23:48 gfldex left #perl6
23:48 gfldex joined #perl6
23:50 Vlavv` joined #perl6

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

Perl 6 | Reference Documentation | Rakudo