Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-11-23

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 dalek snake: 38f8069 | (Arne Skjærholt)++ | src/Snake/Metamodel/ClassHOW.nqp:
00:01 dalek snake: Preliminary implementation of class attributes.
00:01 dalek snake: review: https://github.com/arnsholt/snake/commit/38f806916f
00:01 kjs_ joined #perl6
00:06 noganex_ joined #perl6
00:17 vendethiel joined #perl6
00:47 timotimo my optimization for metaop_assign doesn't cope well with my Rat $a; $a += 0.1
00:48 timotimo i wonder what candidate it used to work with
00:48 timotimo because that'd trigger infix:<+>(Rational \a, Rational \b) because of no ":D"
00:53 timotimo is t/spec/S32-scalar/undef.rakudo.moar failing a test for anybody else?
00:56 sprocket joined #perl6
00:57 timotimo m: my Rat $a; $a += 0.1;
00:57 camelia rakudo-moar 3bbf7b: ( no output )
00:57 timotimo m: my Rat $a; say $a += 0.1;
00:57 camelia rakudo-moar 3bbf7b: OUTPUT«0.1␤»
00:57 timotimo how does that work?
00:57 timotimo m: my Rat $a; say $a.perl;
00:57 camelia rakudo-moar 3bbf7b: OUTPUT«Rat␤»
00:57 timotimo m: my Rat $a; say &infix:<+>.^can(Rat, 0.1);
00:57 camelia rakudo-moar 3bbf7b: OUTPUT«Too many positionals passed; expected 3 arguments but got 4␤  in any can at src/gen/m-Metamodel.nqp:2693␤  in block <unit> at /tmp/2hDj2QDGUk:1␤␤»
00:57 timotimo m: my Rat $a; say &infix:<+>.can(Rat, 0.1);
00:57 camelia rakudo-moar 3bbf7b: OUTPUT«Too many positionals passed; expected 2 arguments but got 3␤  in method can at src/gen/m-CORE.setting:1243␤  in block <unit> at /tmp/XuNm4eNaCm:1␤␤»
00:58 timotimo m: my Rat $a; say &infix:<+>.can(\(Rat, 0.1));
00:58 camelia rakudo-moar 3bbf7b: OUTPUT«use of uninitialized value of type Rat in string context  in any can at src/gen/m-Metamodel.nqp:2697␤␤use of uninitialized value of type Rat in string context  in any can at src/gen/m-Metamodel.nqp:2697␤␤use of uninitialized value of type Rat in st…»
00:58 timotimo m: my Rat $a; say &infix:<+>.can(\(Rat, 0.1)).perl;
00:58 camelia rakudo-moar 3bbf7b: OUTPUT«use of uninitialized value of type Rat in string context  in any can at src/gen/m-Metamodel.nqp:2697␤␤use of uninitialized value of type Rat in string context  in any can at src/gen/m-Metamodel.nqp:2697␤␤use of uninitialized value of type Rat in st…»
00:58 timotimo m: my Rat $a; say &infix:<+>.can(\(Rat, 0.1))>>.perl;
00:58 camelia rakudo-moar 3bbf7b: OUTPUT«use of uninitialized value of type Rat in string context  in any can at src/gen/m-Metamodel.nqp:2697␤␤use of uninitialized value of type Rat in string context  in any can at src/gen/m-Metamodel.nqp:2697␤␤use of uninitialized value of type Rat in st…»
00:58 timotimo m: my Rat $a; say &infix:<+>.can(|(Rat, 0.1))>>.perl;
00:58 camelia rakudo-moar 3bbf7b: OUTPUT«Too many positionals passed; expected 2 arguments but got 3␤  in method can at src/gen/m-CORE.setting:1243␤  in block <unit> at /tmp/z9Ecii9nAI:1␤␤»
00:58 timotimo m: my Rat $a; say &infix:<+>.can(:(Rat, 0.1))>>.perl;
00:58 camelia rakudo-moar 3bbf7b: OUTPUT«␤»
00:58 timotimo how do i ...
00:58 timotimo m: my Rat $a; say &infix:<+>.can(:(Rat, 0.1)).perl;
00:58 camelia rakudo-moar 3bbf7b: OUTPUT«()␤»
00:58 timotimo m: my Rat $a; say &infix:<+>.candidates
00:58 camelia rakudo-moar 3bbf7b: OUTPUT«sub infix:<+> (Any $x = { ... }) { #`(Sub|86785480) ... } sub infix:<+> (Any \a, Any \b) { #`(Sub|86788672) ... } sub infix:<+> (Real \a, Real \b) { #`(Sub|86788216) ... } sub infix:<+> (Int:D \a, Int:D \b --> Int) { #`(Sub|86785936) ... } sub infix:<+> (i…»
00:59 timotimo m: say &say.can(:("hello"))
00:59 camelia rakudo-moar 3bbf7b: OUTPUT«␤»
00:59 timotimo m: say &say.can(:("hello")).perl
00:59 camelia rakudo-moar 3bbf7b: OUTPUT«()␤»
00:59 timotimo how does this work again?
01:00 timotimo m: say Rat + 0.1
01:00 camelia rakudo-moar 3bbf7b: OUTPUT«Cannot look up attributes in a type object␤  in method <anon> at src/gen/m-CORE.setting:3261␤  in sub infix:<+> at src/gen/m-CORE.setting:11402␤  in block <unit> at /tmp/21tVpbY9dE:1␤␤»
01:00 timotimo m: say Rat += 0.1
01:00 camelia rakudo-moar 3bbf7b: OUTPUT«Cannot modify an immutable Rat␤  in block  at src/gen/m-CORE.setting:19582␤  in block <unit> at /tmp/BRqLCl_jHz:1␤␤»
01:00 timotimo how come the cannot look up attributes in a type object error doesn't happen with += ?
01:01 timotimo oooooh!
01:01 timotimo += has a a // op.() in it!
01:06 telex joined #perl6
01:06 rurban joined #perl6
01:09 timotimo i'd like someone to write some more tests that ensure that METAOP_ASSIGN properly does the a // op.() thing
01:11 adu joined #perl6
01:15 vendethiel joined #perl6
01:17 ab5tract joined #perl6
01:17 timotimo because the fact that only one single test failed and it was about rats threw me for quite a loop.
01:18 raiph joined #perl6
01:20 dalek rakudo/nom: e663375 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp:
01:20 dalek rakudo/nom: optimize METAOP_ASSIGN by kind-of-sort-of-inlining
01:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e66337568a
01:20 dalek rakudo/nom: af7c0c3 | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c:
01:20 dalek rakudo/nom: profiler: p6getouterctx allocates
01:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af7c0c3063
01:51 xinming joined #perl6
02:01 regreg joined #perl6
02:01 dalek rakudo/nom: 8124c41 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp:
02:01 dalek rakudo/nom: let's constant-fold metaop_negate and metaop_reverse, too
02:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8124c4132c
02:13 dalek rakudo/nom: dad5fa3 | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
02:13 dalek rakudo/nom: i prefer eqat to index ... == 0
02:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dad5fa3e59
02:26 rurban joined #perl6
02:28 esaym153 joined #perl6
02:29 rurban1 joined #perl6
02:50 KCL_ joined #perl6
02:53 hagiri joined #perl6
03:05 vendethiel joined #perl6
03:10 bjz joined #perl6
03:20 adu joined #perl6
03:22 zakharyas joined #perl6
03:24 noganex joined #perl6
03:37 BenGoldberg joined #perl6
03:40 gfldex joined #perl6
03:49 vendethiel joined #perl6
04:09 rmgk_ joined #perl6
04:13 vendethiel joined #perl6
04:44 Alina-malina joined #perl6
04:47 vendethiel joined #perl6
05:24 awwaiid joined #perl6
05:42 * araujo looks around
05:43 raydiak araujo: what do you see?
05:54 chenryn joined #perl6
05:57 awwaiid joined #perl6
06:00 araujo raydiak, bunch of perl6 fellows ... either too busy coding or away for RealLife things :)
06:02 erkan joined #perl6
06:03 raydiak :)
06:07 vendethiel joined #perl6
06:07 awwaiid joined #perl6
06:09 awwaiid joined #perl6
06:32 chenryn joined #perl6
06:40 vendethiel joined #perl6
06:45 chenryn joined #perl6
06:48 bjz_ joined #perl6
06:48 chenryn joined #perl6
07:03 chenryn joined #perl6
07:07 vendethiel joined #perl6
07:11 chenryn joined #perl6
07:40 rindolf joined #perl6
07:45 regreg joined #perl6
07:46 japhb araujo: You're seeing the Europe Sleeping Lull.  It's quiet ... maybe too quiet.  :-)
07:46 * japhb heads to sleep too
07:48 kaare__ joined #perl6
08:04 dalek roast: bba16ae | usev6++ | S04-phasers/enter-leave.t:
08:04 dalek roast: Add tests for RT #113950, change fudging (now "todo") for RT #121530
08:04 dalek roast: review: https://github.com/perl6/roast/commit/bba16ae7e0
08:04 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=113950
08:10 jack_rabbit joined #perl6
08:21 chenryn joined #perl6
08:28 Akagi201 joined #perl6
08:39 masak gooood CET morning, #perl6!
08:40 jack_rabbit whats CET?
08:40 vendethiel joined #perl6
08:41 moritz jack_rabbit: Central European Time
08:41 moritz \o masak, jack_rabbit, japhb, *
08:43 araujo japhb, :)
08:43 araujo masak, moritz jack_rabbit  o/
08:44 araujo I wonder guys if you know any couchdb driver for perl6
08:57 chenryn joined #perl6
09:00 darutoko joined #perl6
09:10 chenryn joined #perl6
09:11 smls joined #perl6
09:12 smls m: say IO::FileTestable
09:12 camelia rakudo-moar dad5fa: OUTPUT«Could not find symbol '&FileTestable'␤  in method <anon> at src/gen/m-CORE.setting:13777␤  in any find_method_fallback at src/gen/m-Metamodel.nqp:2725␤  in any find_method at src/gen/m-Metamodel.nqp:988␤  in block <unit> at /tmp/6IsUrPCfjc:1␤␤»
09:12 smls ^^ deprecated, or NYI?
09:12 smls p6doc has a page for it...
09:22 moritz smls: merged into IO::Path, I think; but lizmat++ considered resurrecting it
09:22 moritz no idea what the current status is
09:23 sqirrel__ joined #perl6
09:27 itz_ joined #perl6
09:31 masak araujo: I can't recall hearing of one.
09:32 * moritz neither
09:39 rindolf joined #perl6
09:40 mr-foobar joined #perl6
09:52 JimmyZ joined #perl6
09:54 araujo masak, ah.. ok,.. I briefly searched on the module page and couldn't find any either
09:54 araujo mm..
09:54 masak a fine opportunity to expand into uncharted territory!
09:55 araujo since it is just plain http request methods (restful) , I guess it wouldn't be hard to cook something for it....
09:57 jack_rabbit joined #perl6
09:59 timotimo o/
10:04 JimmyZ \o
10:04 anaeem1_ joined #perl6
10:05 rindolf joined #perl6
10:07 denis_boyun_ joined #perl6
10:09 vti joined #perl6
10:12 dalek rakudo/RT123215: ffa9f33 | (Tobias Leich)++ | src/Perl6/ (2 files):
10:12 dalek rakudo/RT123215: attempt to fix RT #123215
10:12 dalek rakudo/RT123215: review: https://github.com/rakudo/rakudo/commit/ffa9f3350b
10:12 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123215
10:13 vti hi, i am trying to use smth like __DATA__, which i understand is supposed to be in $=data, but it doesn't seem to work now (Variable '$=data' is not declared), so i just tried pod blocks, but they are not verbatim, i have tried =begin input, still not verbatim, the only working solution is to use =begin code, but i don't like it, since it's not code, any advice? using rakudo 2014.09, thanks
10:14 masak hm, good question.
10:15 masak there ought to be a nice such example somewhere that we could link people to.
10:15 vti i have cloned ALL perl6 modules and couldn't find an example
10:15 vti and google also didn't help, this channel is the last resort :)
10:19 timotimo yeah, the data section thingie is not yet implemented ;(
10:21 vti that's ok, i was just thinking there was an alternative, but i will probably stick with =begin code for now
10:22 timotimo a heredoc should be good, no?
10:22 timotimo you know heredocs can be indented in perl6?
10:26 vti hm, i will try heredocs maybe, thanks
10:40 rindolf joined #perl6
10:49 rurban joined #perl6
10:50 arnsholt Are we doing an advent calendar this year?
10:50 timotimo i sure hope so!
10:51 timotimo https://github.com/perl6/mu/tree/master/misc/perl6advent-2014
10:52 arnsholt Oh cool. Cheers!
10:55 timotimo it'd be good to have a post on HTTP::UserAgent
10:58 telex joined #perl6
11:02 xinming joined #perl6
11:09 gfldex joined #perl6
11:12 jnthn 12 hours of sleep. Guess I was tired. :)
11:12 jnthn afternoon, #perl6 :)
11:12 timotimo heyo jnthn :)
11:13 nine Hi jnthn
11:13 yoleaux 22 Nov 2014 23:53Z <raiph> nine: http://www.reddit.com/r/perl6/comments/2n27el/perl6_20141121_cool_just_opened_my_first_qt/cm9orki
11:14 nine .tell raiph: thanks. Of course there'll always be edge cases that need some workarounds. But from my practice using Perl 5's Inline::Python I can say, that there are always workarounds and most code does just fine
11:14 yoleaux nine: What kind of a name is "raiph:"?!
11:14 nine .tell raiph[3~: thanks. Of course there'll always be edge cases that need some workarounds. But from my practice using Perl 5's Inline::Python I can say, that there are always workarounds and most code does just fine
11:14 yoleaux nine: What kind of a name is "raiph[3~:"?!
11:14 nine ???
11:14 nine .tell raiph thanks. Of course there'll always be edge cases that need some workarounds. But from my practice using  Perl 5's Inline::Python I can say, that there are always workarounds and most code does just fine
11:14 yoleaux nine: I'll pass your message to raiph.
11:17 timotimo jnthn: what do i need to do to make sure an optimization in rakudo's optimizer optimizes all branches of a want? or should i just appreciate the fact that i can see a before/after optimized tree in the two branches of a Want? %)
11:18 jnthn timotimo: The latter; when the optimizer doesn't walk both, it's 'cus it has a good idea that they mostly share the tree.
11:18 jnthn timotimo: As is the case with sink
11:18 jnthn timotimo: We could a HUGE win by not walking both.
11:18 jnthn *got a
11:19 jnthn bbi10
11:20 timotimo in that case i should perhaps modify the nodes in-place rather than replacing parts of it
11:25 timotimo or perhaps just not care? :\
11:34 vendethiel There's a lot of backlog these days! That's good, but a bit bad as well
11:34 jnthn timotimo: "Not care" may be a better option that it sounds
11:35 timotimo sorry, i'll shut up, vendethiel! :P
11:35 jnthn timotimo: If we're lucky, then there's always some QAST::Stmt or so above the node that is shared
11:35 vendethiel timotimo, it's fine, I don't read your lines anyway :)
11:36 nine Indentable heredocs...you just _have_ to love this language :)
11:37 jnthn nine: With regard to that feature - if you're implementing it, you love it much less :D
11:37 vendethiel indentablewhat?
11:37 nine jnthn: I guess that's true for many of Perl 6's features.
11:37 * vendethiel just also read that in the backlog :)
11:38 psch joined #perl6
11:38 nine I'm so glad I backlogged...this is exactly what I need with all that inlined Python code. with Python being so picky about indentation...
11:39 psch ho #perl6 \o
11:39 vendethiel nine: I backlogged, but saw no such example
11:39 smls jnthn: Are heredocs de-dented at compile time?
11:40 psch FROGGS: testers.perl6.org is down, from the looks of it
11:40 jnthn smls: I originally had it as "yes if they're constant, no if you interpolate"
11:40 psch FROGGS: does submitting depend on the site being reachable?
11:41 jnthn smls: I think that now the interpolating case does something more interesting.
11:41 smls Why would you want spaces from interpolated variables to affect indentation?
11:42 timotimo they are dedented at compile time
11:42 timotimo that means spaces from interpolated stuff don't get cut off
11:42 jnthn smls: I dunno, frankly I just *would not write code* that interpolates a multi-line string an a darn heredoc! :P
11:42 jnthn *in a
11:43 smls I'd just de-dent before interpolating
11:43 jnthn But apparently folks changed it so it does what folks who like to write such code get what they expect. :)
11:43 timotimo before the dedentation was turned compile-time, a "tried to dedent but not enough space available" error was very common to get here and there
11:44 nine jnthn: simple example where it does make sense. A bog standard mailer for a contact form on a website.
11:44 nine Message body as heredoc, variables interpolated and multi line values quite common
11:45 jnthn hmm
11:45 jnthn I guess.
11:45 FROGGS psch: yes
11:45 * jnthn hasn't written a form mailer for 10+ years :)
11:45 jnthn But yeah, I can see that...
11:45 jnthn nine++
11:45 ab5tract joined #perl6
11:46 FROGGS psch: should be up now again
11:46 jnthn FROGGS: Would it make sense to set up some cron-job that auto-restarts the service every $time-period?
11:46 kurahaupo joined #perl6
11:47 FROGGS jnthn: yeah, I fear that this is necessary :o(
11:47 * psch biab
11:48 nine FROGGS: if it's a systemd service, just tell systemd to restart it on crash
11:48 FROGGS jnthn: though, I need to refactor it anyway, so that static html pages are generated
11:48 FROGGS nine: it does not crash though
11:48 jnthn 'k
11:48 timotimo i don't see that exactly, what did you mean, nine?
11:50 nine timotimo: I'm not sure what you're referring to?
11:50 timotimo the form mailer thing
11:53 nine timotimo: https://gist.github.com/niner/bba04e647b97ddf6cab5
11:54 timotimo OK, the problem being?
11:55 timotimo you want the message to be indented?
11:55 timotimo because it's multiline?
11:58 jack_rabbit joined #perl6
12:01 nine timotimo: no problem. It's just a use case where I think it makes sense to interpolate a multi line string into a heredoc. And where it's great that Perl 6 dedents there heredoc for me before interpolating
12:02 timotimo oh
12:02 timotimo i thought you were arguing *against* the current behavior %)
12:03 nine timotimo: oh no, it's brilliant!
12:04 nine If I weren't a fan of Perl 6, I'd have to become one on the spot here :)
12:04 timotimo hah
12:04 timotimo yay :)
12:04 timotimo i was the one who fixed that particular behavior :)
12:04 timotimo i'm always glad when i can see people benefit from stuff i do "directly"
12:06 * timotimo is running benchmarks again
12:07 zakharyas joined #perl6
12:17 vendethiel "Sincerely, your form mailer" if even the form mailer starts to get smart...
12:19 timotimo is there something a regular person like me can do to make spammer's lives less easy?
12:20 vendethiel .oO( stop buying viagra )
12:22 timotimo the thought of botnets is kind of annoying
12:32 colomon ack, seven new failures this morning.  :( http://host08.perl6.com:8080/report
12:36 erkan joined #perl6
12:41 timotimo http://t.h8.lv/p6bench/2014-11-23-rakudo_latest_stuff.html - doesn't seem like it has been really dramatically worth it ...
12:41 sqirrel__ joined #perl6
12:41 timotimo (dad5fa was built with nqp=master and moar=master (before randscale_n was jitted), whereas 8124c was built with NQP_REVISION and MOAR_REVISION)
12:43 pochi joined #perl6
12:43 colomon whoops.
12:44 colomon accidentally just updated moar on my OS X laptop.  and of course it doesn't work, and even if it did, ABC wouldn't.  :(
12:44 timotimo ;(
12:47 timotimo m: say "timo, don't be sad! you made the rand benchmark faster by a factor of { 9.4 / 12.3 } compared to the moarvm commit before current head!"
12:47 camelia rakudo-moar dad5fa: OUTPUT«timo, don't be sad! you made the rand benchmark faster by a factor of 0.764228 compared to the moarvm commit before current head!␤»
12:47 timotimo er, wrong way around
12:47 timotimo m: say "timo, don't be sad! you made the rand benchmark faster by a factor of { 9.4 R/ 12.3 } compared to the moarvm commit before current head!"
12:47 camelia rakudo-moar dad5fa: OUTPUT«timo, don't be sad! you made the rand benchmark faster by a factor of 1.308511 compared to the moarvm commit before current head!␤»
12:47 jnthn colomon: "doesn't work"?
12:48 colomon jnthn: the malloc thing
12:48 jnthn ah fuck
12:48 colomon build fails
12:48 jnthn Yeah, I'll have to look into that.
12:48 timotimo jnthn: yeah, there's a lot of "oh fuck" to that bug :(
12:48 jnthn I'm sure somebody can get me an OSX shell account...
12:49 erkan joined #perl6
12:49 timotimo m: say "with the very latest perl6, the rand benchmark is now faster by a factor of { 9.4 R/ 28.4 }. neat!"
12:49 camelia rakudo-moar dad5fa: OUTPUT«with the very latest perl6, the rand benchmark is now faster by a factor of 3.021277. neat!␤»
12:49 timotimo (compared to the 2014.11 release, that is)
12:49 jnthn Not bad.
12:49 timotimo i'll take it
12:49 timotimo next step would be to get rid of the defor if it's not needed
12:49 timotimo sounds like something spesh could do well
12:50 jnthn May already be able to...
12:50 jnthn May need to learn about .DEFINITE
12:50 timotimo it's not in there yet
12:50 timotimo oh, it's not equivalent to "isconcrete", eh?
12:50 jnthn I think isconcrete is already spesh'
12:50 timotimo yes
12:50 jnthn Right, it gives a p6bool instead iirc
12:51 jnthn But that is just adding facts to say it's a constant value
12:51 jnthn And I guess the conditional spesh then will see it's a constant boolean value and do the right thing...
12:52 timotimo you're suggesting to call the .DEFINITE method at spesh-time?
12:53 jnthn It's not a method.
12:53 jnthn That's why it's uppercase.
12:53 arnsholt jnthn: Aside from putting in a QAST::Var(:decl), are there any other ways to tell a lexpad that it's OK to bind to a symbol?
12:53 colomon jnthn: you need an OS X login?
12:54 timotimo oh, eh?
12:54 raiph joined #perl6
12:54 jnthn colomon: Given that seems the only platform things reliably go wrong... :)
12:54 timotimo i should look into that some more
12:54 colomon jnthn: let me see what I can do.
12:55 jnthn colomon: But maybe somebody in Europe (lizmat?) could offer me one...
12:55 jnthn colomon: Which'd be more responsive :)
12:55 jnthn But I'll take what I can get :)
12:55 colomon jnthn: true.
12:55 timotimo jnthn: but implementing // simply as QAST::Op( :op('defor'), :name('&infix:<//>') ) should be correct?
12:56 jnthn timotimo: Oh, right, I see what you mean...
12:56 jnthn timotimo: And yes.
12:56 timotimo ah, .DEFINITE is just p6definite
12:56 jnthn Right.
12:56 jnthn But I don't think // uses it
12:56 timotimo that seems to be the case, yes
12:56 timotimo so defor should be easier to do
12:56 jnthn Guess so
12:57 timotimo oh
12:57 timotimo defor gets compiled down to an isconcrete + if_i in QASTCompilerMAST
12:57 timotimo so nothing more to do there
12:58 jnthn Check that Rakudo doesn't override it.
12:58 timotimo 'k
12:58 jnthn But yeah, I think nothing more to do.
12:59 timotimo oh
12:59 timotimo rakudo does "callmethod defined"
12:59 jnthn ah...
12:59 jnthn Does it guard it with a isconcrete first?
12:59 timotimo doesn't seem so
13:00 timotimo m: nqp::null // "hi"
13:00 camelia rakudo-moar dad5fa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/IDjTTf1__2�Null regex not allowed�at /tmp/IDjTTf1__2:1�------> [32mnqp::null //[33m�[31m "hi"[0m�»
13:00 timotimo m: nqp::null() // "hi"
13:00 camelia rakudo-moar dad5fa: OUTPUT«Cannot call method 'defined' on a null object␤  in block <unit> at /tmp/NqvozeNhL6:1␤␤»
13:00 colomon http://www.phoronix.com/scan.php?page=news_item&amp;px=MTgzNjY # seems like there ought to be some nice p6-y use for these...
13:00 timotimo m: Mu // "hi"
13:00 camelia rakudo-moar dad5fa: ( no output )
13:06 timotimo re-running the dad5f3a checkout with an up-to-date moarvm
13:06 timotimo the improvements to rand may show up in forest-fire, too
13:09 KCL joined #perl6
13:17 mr-fooba_ joined #perl6
13:21 chenryn joined #perl6
13:24 denis_boyun_ joined #perl6
13:28 PacoLinux joined #perl6
13:29 timotimo huh. forest-fire became slower?
13:30 timotimo http://t.h8.lv/p6bench/2014-11-23-rakudo_latest_stuff.html
13:36 raiph joined #perl6
13:47 itz joined #perl6
13:52 PacoLinux joined #perl6
13:53 colomon https://gist.github.com/colomon/c640e86439337b6c606d # LWP::Simple error
14:00 bjz joined #perl6
14:02 BenGoldberg joined #perl6
14:05 masak m: say "ABCDEF" ~~ m:th(2)/\w/
14:05 camelia rakudo-moar dad5fa: OUTPUT«「B」␤␤»
14:05 masak m: say "ABCDEF" ~~ m:th(*-1)/\w/
14:05 camelia rakudo-moar dad5fa: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: *%_)␤  in sub infix:<<> at src/gen/m-CORE.setting:4607␤  in block  at src/gen/m-CORE.setting:6719␤  in block  at src/gen/m-CORE.setting:8529␤  in block  at src/gen/m-CORE.setting:8533…»
14:06 masak I expected the above to work. should it?
14:07 colomon no
14:07 masak oh.
14:07 colomon well, I guess I shouldn't speak with the voice of authority.
14:07 masak what's the idiomatic way to find the last occurrence of something?
14:08 masak .comb and then *-1 ?
14:08 colomon m: say ("ABCDEF" ~~ m:g/\w/)[*-1]
14:08 camelia rakudo-moar dad5fa: OUTPUT«False␤»
14:08 colomon comb would certainly be more elegant and work
14:09 masak I don't really see what's inelegant about :th(*-1)
14:09 masak I would have been delighted had it worked.
14:09 colomon the string ~~ m:th(*-1)/\w/ doesn't strike you as less elegant that .comb[*-1] ?
14:10 colomon m: say "ABCDEF"m:th(*-1)/\w/
14:10 camelia rakudo-moar dad5fa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/v0e7Y8B6wfâ�¤Two terms in a rowâ�¤at /tmp/v0e7Y8B6wf:1â�¤------> [32msay "ABCDEF"[33mâ��[31mm:th(*-1)/\w/[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or …»
14:11 colomon m: say "ABCDEF".comb[*-1]
14:11 camelia rakudo-moar dad5fa: OUTPUT«F␤»
14:11 erkan joined #perl6
14:11 * colomon is having trouble with cut-n-paste this morning
14:11 masak I think it would be elegant that *-1 worked not just in array indices and substr, but also in this case.
14:12 smls ...and in s///, which can't be replaced by comb
14:13 masak oh, and that.
14:14 * colomon is looking at the source
14:14 colomon https://github.com/rakudo/rakudo/blob/nom/src/core/Str.pm#L593
14:15 colomon huh, it does look doable
14:16 sqirrel__ joined #perl6
14:16 ab5tract joined #perl6
14:17 masak \o/
14:17 masak now I only need to convince you that it's the right thing to do ;)
14:21 colomon or you could figure it out and do it yourself.  ;)
14:22 masak heh :)
14:24 * colomon did have a hand in writing the match code about two major versions of rakudo ago.  doesn't have much in common with the current code...
14:29 masak oh, I found what might be a reason to not do this.
14:29 masak a weak one, but one I didn't think of until I dug down into the code.
14:29 colomon …. ~~ Callable?
14:30 masak these :nth indices are 1-based, as opposed to everything else that handles *-1
14:30 masak in a way, that actually makes 2 and *-2 *more* symmetric, not less.
14:30 masak but it may be a reason to exercise caution.
14:31 * colomon adds a +1 to the code he was just writing
14:31 masak oh, you're implementing it, too? :)
14:31 colomon trying, anyway
14:31 masak anyway, I don't think I want to do ~~ Callable; I want to ~~ WhateverCode
14:33 masak t/spec/S17-lowlevel/thread.t .................................. Failed 4/25 subtests
14:33 colomon I've got a working version
14:33 colomon but I haven't spectested yet
14:33 colomon assuming you have a working version as well?
14:33 chenryn joined #perl6
14:35 masak think so.
14:35 masak but still spectesting the before-the-change.
14:35 masak here, let me gist my diff.
14:36 masak https://gist.github.com/masak/082fc27b6e270d852e65
14:37 colomon mine: https://gist.github.com/colomon/b5299bc4a21b21b7661d
14:37 colomon :)
14:37 smls m: say (^10).list.[-> $n {$n - 1}]
14:37 camelia rakudo-moar dad5fa: OUTPUT«9␤»
14:37 colomon smls++ # I was just about to type that myself
14:37 smls ^^masak: For lists, it works with other callables than WhateverCode
14:37 masak is that spec'd?
14:38 smls no idea
14:38 masak to me that feels like "ooh, ooh, and wouldn't it be nice if *this* worked!?"
14:38 masak I'm not out to expand the spec, just to make it do something that I found was missing.
14:39 * masak checks the spec
14:39 * colomon is totally expanding the spec
14:40 colomon arg, very true, but that was meant to be "masak is totally expanding the spec"
14:40 masak :)
14:40 masak I have a weak preference against allowing arbitrary Callable inside of :nth
14:40 masak I can't verbalizy why.
14:41 masak verbalize*
14:41 masak it feels like a hobgoblin to me.
14:43 geekosaur feels downrigth nasty to me because it implies you do the whole thing and then backtrack to match the Whatever
14:43 geekosaur even worse for arbitrary Callable
14:43 masak I can't think of a use case where I would want to do the -> $n { ... } thing rather than the *-$n thing
14:43 colomon geekosaur: you do do the whole thing
14:43 masak or maybe (very rarely) the */2 thing
14:44 colomon geekosaur: but the magic is you only do it if someone uses this functionality
14:44 colomon geekosaur: :1st will not do it.  just :nth(*-1)
14:44 geekosaur still feels a litle too magic. maybe hold ti in abeyance for consideration for some future version...
14:44 Alina-malina joined #perl6
14:44 Alina-malina joined #perl6
14:45 colomon geekosaur: the only worrisome thing is the off-by-one issue
14:46 colomon geekosaur: but the implementations are quite trivial
14:46 masak my beef isn't even with "a little too magic". it's just with "there's no need that would ever make this feature pay for its weight".
14:46 * psch grmls at forgetting to set PANDA_REPORT_TESTREPORTS
14:46 psch s/REPORT/SUBMIT/
14:46 geekosaur I think colomon just claimed its weight is very light?
14:47 geekosaur if so, then maybe. (althought here is more than implementation weight. does supporting that syntax muck with the parser too much?)
14:47 colomon geekosaur: I meant allowing *-1 there, masak is worried about the distinction of allowing Callable versus WhateverCode
14:47 colomon geekosaur: no changes to the parser at all
14:48 colomon masak: my version spectests clean
14:48 masak colomon: I'm fine with you pushing it, except I'm still against allowing Callable there.
14:48 masak colomon: but overall having your version is better than nothing :)
14:48 colomon masak: I'm fine with pushing it, just to allow Callable there.  :)
14:48 masak colomon: I'm now looking at the spectest end.
14:49 colomon though I'm a bit worried about $n(@src + 1) versus $n(@src) + 1
14:49 virtualsue joined #perl6
14:49 masak colomon: you're right that the off-by-one makes the Callable there very confusing.
14:49 jnthn Whoa. Before I went on my last work trip, my r-m build was about 60s. Now it's about 67s. Wonder if that's something local or something that's changed.
14:49 colomon though I'm a bit worried about $n(@src + 1) versus $n(+@src) + 1
14:49 jnthn NQP is worse too; was 30s, now 33s.
14:49 masak colomon: the difference between our two versions confirms that.
14:49 colomon jnthn: no, it's real
14:50 colomon jnthn: or at least, stage parse has definitely gone from 26s to 27s on my Linux box
14:50 jnthn OK, that's a serious regression. Anybody know when it happened?
14:50 FROGGS jnthn: layz deserialization of objects/stables was deactivated
14:50 FROGGS lazy}
14:50 masak why? which commit?
14:50 colomon layz is one of those rappers, right?
14:50 FROGGS damn, whz do I have an english kezboard now_
14:50 jnthn I thought it was re-enabled, because the fix broke other things?
14:51 * masak had a script in production just segfault on him :/
14:51 FROGGS don|t think so
14:51 colomon jnthn: lizmat, hoelzro, and I were talking about this yesterday or the day before
14:51 colomon jnthn: the patch in question's still in there, as far as I know.  But it's value is extremely questionable.
14:52 colomon jnthn: it seems that something significant is broken in deserialization of objects/stables.
14:52 colomon jnthn: the patch fixes up some issues, but breaks others
14:52 masak an extremely questionable patch is slowing down build with 7 seconds?
14:52 colomon masak: I don't know if it is the full / only cause of that
14:52 masak if only we could measure things like this continuously...
14:53 colomon actually, I suspect it's only a piece of the slowdown
14:55 masak ok.
14:55 * colomon will try to time
14:57 * jnthn needs to do a reboot soon for some updates anyway...
14:57 dalek roast: c6ec69e | masak++ | S05-modifier/counted.t:
14:57 dalek roast: [S05-modifier] add (fudged) test for :nth(*-1)
14:57 dalek roast: review: https://github.com/perl6/roast/commit/c6ec69ed17
14:57 jnthn Will try again after that.
14:57 vike joined #perl6
14:57 masak colomon: awaiting your patch so I can unfudge that one :)
14:57 colomon I'm going to time a full build with and without 05b25a6359c7bcf5ab03357b0d0093f77d28ead6
14:57 colomon (that's MoarVM)
14:58 bjz joined #perl6
14:58 jnthn colomon++
15:00 Vlavv joined #perl6
15:01 dalek rakudo/nom: 2bda621 | (Solomon Foster)++ | src/core/Str.pm:
15:01 dalek rakudo/nom: Allow :nth(*-1) for masak++.
15:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2bda6217b1
15:05 colomon jnthn: https://github.com/MoarVM/MoarVM/commit/05b25a6359c7bcf5ab03357b0d0093f77d28ead6 does not significantly affect the build time of rakudo + nqp + moarVM
15:06 JimmyZ it affects startup time and memory use
15:06 colomon 2m33.3 before, 2m34.5 after
15:06 colomon right, I'm not saying it's a great patch
15:06 colomon it's just not responsible for the slowdown jnthn is looking at
15:08 masak oh, it seems that running instances of perl6 segfault when I `make install` a newly-compiled perl6.
15:08 masak :(
15:08 masak how can that even happen?
15:09 masak colomon: locally, your patch makes two tests fail in S05-modifier/counted.t
15:10 masak colomon: tests 27 and 28.
15:10 colomon :\
15:10 masak (and they passed before that)
15:11 JimmyZ 快,改成麦高的补丁!
15:11 JimmyZ :P
15:11 colomon masak: huh?  they're todo tests?
15:13 colomon 'nth(list) is ok'
15:13 colomon ?
15:24 guru joined #perl6
15:27 pecastro joined #perl6
15:30 hoelzro I agree that it's not a great patch, and it may be slowing down startup time, but it was fixing a bug that prevented some modules from being used at all
15:30 hoelzro I figured that correctness was more important than a little startup time
15:30 hoelzro granted, I didn't know that it would break ABC
15:30 masak colomon: oops, sorry -- yes, you're right.
15:31 hoelzro but that breakage is a *lot* more complicated than the breakage the patch fixes
15:31 masak colomon: dunno why I ran the file with `perl6` instead of `make`
15:32 masak anyway, colomon++, masak--
15:33 colomon jnthn, hoelzro: anyway, what we really need is to figure out what is going wrong with serialization and fix that.  but none of us really know how to tackle the problem.
15:33 jluis joined #perl6
15:33 hoelzro colomon: agreed
15:34 hoelzro I think we can all have our cake and eat it too; it's just that the cake is guarded by razor wire and vicious dogs
15:35 masak why doesn't a running `perl6` process survive a `make install`?
15:37 ab5tract joined #perl6
15:39 timotimo perhaps it has something mmapped that gets overwritten and then things explode?
15:39 timotimo hm, but the existing file should not have its contents replaced; the file itself should be replaced ... no?
15:40 hoelzro is it just on Moar, or other backends too?
15:41 hoelzro IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000), :family(2))
15:41 hoelzro r: IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000), :family(2))
15:41 camelia rakudo-moar 2bda62: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤  in method new at src/gen/m-CORE.setting:22474␤  in block <unit> at /tmp/tmpfile:1␤␤»
15:41 camelia ..rakudo-parrot 2bda62: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Int'␤  in any  at gen/parrot/BOOTSTRAP.nqp:1712␤  in method new at gen/parrot/CORE.setting:16828␤  in block <unit> at /tmp/tmpfile:1␤␤»
15:45 timotimo huh
15:46 timotimo um
15:46 timotimo PIO::PF_INET6()
15:46 timotimo what's that all about?
15:47 moritz IPv6 support
15:47 timotimo is that a sub?
15:47 timotimo m: say PIO::PF_INET6()
15:47 camelia rakudo-moar 2bda62: OUTPUT«Could not find symbol '&PF_INET6'␤  in method <anon> at src/gen/m-CORE.setting:13780␤  in any find_method_fallback at src/gen/m-Metamodel.nqp:2725␤  in any find_method at src/gen/m-Metamodel.nqp:988␤  in block <unit> at /tmp/r94SsaTSiG:1␤␤»
15:47 timotimo ah, it's in that module up there
15:47 timotimo why does it have () after it?
15:47 timotimo it does seem to be Int constants
15:47 moritz M.say IO::Socket::INET::PIO::PF_INET6
15:48 moritz m: say IO::Socket::INET::PIO::PF_INET6
15:48 camelia rakudo-moar 2bda62: OUTPUT«Could not find symbol '&PF_INET6'␤  in method <anon> at src/gen/m-CORE.setting:13780␤  in any find_method_fallback at src/gen/m-Metamodel.nqp:2725␤  in any find_method at src/gen/m-Metamodel.nqp:988␤  in block <unit> at /tmp/vhSnFzgRO_:1␤␤»
15:48 moritz timotimo: iirc constant didn't work (bootstrap-y issues) when the code was first written
15:48 timotimo that module is my-scoped
15:49 timotimo i still don't understand why you would ever put () there
15:51 masak hoelzro: for all I know, it's just on moar.
15:51 masak hoelzro: haven't tried it on any other platform, as moar tends to be what I build locally.
15:51 rurban joined #perl6
15:52 denis_boyun_ joined #perl6
15:52 carlin m: lcfirst # LTA since there is no .lcfirst
15:52 camelia rakudo-moar 2bda62: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/cqe79AvL4Y�Unsupported use of bare 'lcfirst'; in Perl 6 please use .lcfirst if you meant $_, or use an explicit invocant or argument�at /tmp/cqe79AvL4Y:1�------> [32mlcfirst # LTA since there…»
15:55 Juerd feather will be moved to a different box today. With downtime!
15:55 hoelzro timotimo: I'm looking at fixing that now
15:55 sqirrel__ joined #perl6
15:55 hoelzro ok, that error is fixe
15:55 hoelzro *fixed
15:56 hoelzro but I don't know if family is respected
15:56 dalek rakudo/nom: b7f0436 | (Rob Hoelz)++ | src/core/IO/Socket/INET.pm:
15:56 dalek rakudo/nom: Remove () from use of constants in IO::Socket::INET
15:56 dalek rakudo/nom:
15:56 dalek rakudo/nom: Otherwise IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000),
15:56 dalek rakudo/nom: :family(2)) fails
15:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b7f0436b1c
15:57 hoelzro I specified INET, but it's still trying to connect over v6
15:58 dalek rakudo/nom: 16fb5e4 | TimToady++ | src/Perl6/Grammar.nqp:
15:58 dalek rakudo/nom: update case functions in deftraps
15:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/16fb5e480f
15:58 TimToady carlin++
15:58 moritz why did I read "death traps"?
15:58 moritz :-)
15:59 moritz Juerd: fyi, the feather replacement has been ordered
15:59 Juerd moritz: Yay
15:59 ab5tract joined #perl6
15:59 Juerd End of an era, etc blah :)
15:59 moritz though it'll take at least another 2 weeks before it's delivered, likely a bit more
16:00 moritz 6 cores (12 including hyperthreading) and 32GB RAM
16:01 Juerd moritz: Very nice.
16:01 Juerd Is there a name for the new box yet?
16:02 Juerd (Bonus points for those who know where the name feather came from!)
16:02 timotimo .o( cadence )
16:02 moritz Juerd: I've registered p6c.org, but haven't decided on the hostnames yet
16:02 timotimo oh my god, perl six corgis!
16:02 moritz I thought "community" :-)
16:03 Juerd Does nobody know how "feather" got its name?
16:03 * moritz doesn't
16:03 timotimo well ... parrots have feathers, no?
16:04 [Sno] joined #perl6
16:04 Juerd Answer's hidden in http://www.perl.com/pub/2005/02/
16:04 mr-foobar joined #perl6
16:05 timotimo featherweight perl6, eh?
16:05 Juerd Yes
16:05 Juerd That's the language that pugs initially targetted
16:05 colomon jnthn: for what it's worth, I'm seeing a 3-4s slowdown in a full rakudo-nqp-moar build in the last month, from ~153 seconds to ~157
16:06 Juerd s/targetted/targeted/
16:06 hoelzro I was thinking about implementing determinate return values as specified by S06#Signatures (ex. method foo($x --> self) )
16:07 hoelzro can an arbitrary expression be used for the return value?
16:14 erkan joined #perl6
16:19 nine Oh if only the Inline::Python developer could get off his lazy ass and fix exception handling for good...
16:19 nine Oh wait, that's me!
16:23 vendethiel .oO( self-flagellement driven programming )
16:23 moritz std: method foo(Int --> self.thingy() { }
16:24 camelia std 76ccee1: OUTPUT«[31m===[0mSORRY![31m===[0m�In parameter declaration, typename 'self' must be predeclared (or marked as declarative with :: prefix) at /tmp/eZWPH61fBv line 1:�------> [32mmethod foo(Int --> self[33m�[31m.thingy() { }[0m�Parse failed�FAILED 00:00 …»
16:24 vendethiel EMISSINGPAREN
16:24 moritz std: method foo(Int --> 2 + 4) { }
16:24 camelia std 76ccee1: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse signature at /tmp/kWcQ2ynDk3 line 1:�------> [32mmethod foo[33m�[31m(Int --> 2 + 4) { }[0m�Couldn't find final ')'; gave up at /tmp/kWcQ2ynDk3 line 1:�------> [32mmethod foo(Int --> 2 [33m�[31m+ 4)…»
16:24 moritz std: method foo(Int --> self.thingy()) { }
16:24 camelia std 76ccee1: OUTPUT«[31m===[0mSORRY![31m===[0m�In parameter declaration, typename 'self' must be predeclared (or marked as declarative with :: prefix) at /tmp/Byad8lP0rC line 1:�------> [32mmethod foo(Int --> self[33m�[31m.thingy()) { }[0m�Parse failed�FAILED 00:00…»
16:25 moritz m: class A { method f ($a = self.^name } { $a } }; say A.new.f
16:25 camelia rakudo-moar 16fb5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/WUXuN1m_Xgâ�¤Missing blockâ�¤at /tmp/WUXuN1m_Xg:1â�¤------> [32mclass A { method f ($a = self.^name [33mâ��[31m} { $a } }; say A.new.f[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤   …»
16:25 moritz m: class A { method f ($a = self.^name ) { $a } }; say A.new.f
16:25 camelia rakudo-moar 16fb5e: OUTPUT«A␤»
16:25 moritz std: class A { method f ($a = self.^name ) { $a } }; say A.new.f
16:25 camelia std 76ccee1: OUTPUT«ok 00:00 141m␤»
16:26 moritz S06 still says
16:26 moritz "An unsuccessful call
16:26 moritz may always call C<fail> to return a C<Failure> object regardless of
16:26 moritz the return specification"
16:26 moritz is that a fossil?
16:27 jnthn Reboot didn't help after all...
16:28 jnthn Well, not with speed. My system is now rather better patched :)
16:29 nine What would be the method be called that actually executes a Callable?
16:30 timotimo hm. apply?
16:30 jnthn I think there's a .callwith
16:31 nine m: my $foo = sub { say "foo"; }; $foo.callwith();
16:31 camelia rakudo-moar 16fb5e: OUTPUT«No such method 'callwith' for invocant of type 'Sub'␤  in block <unit> at /tmp/bcymlJ0VCh:1␤␤»
16:31 KCL_ joined #perl6
16:32 nine m: say sub{}.^methods();
16:32 camelia rakudo-moar 16fb5e: OUTPUT«<anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> of returns onlystar assuming candidates cando multi soft wrap unwrap yada package WHY set_why perl <anon> add_phaser fire_phasers phasers perl <anon> <…»
16:33 nine Doesn't look like there's anything suitable
16:34 jnthn No. I mean, you just call it really :)
16:34 smls m: say &postcircumfix:<( )>
16:34 camelia rakudo-moar 16fb5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/l1ehMtAJ6kâ�¤Undeclared routine:â�¤    &postcircumfix:<( )> used at line 1. Did you mean '&postcircumfix:<[ ]>', '&postcircumfix:<{ }>', '&circumfix:<[ ]>', '&circumfix:<{ }>'?â�¤â�¤Â»
16:35 smls hm
16:35 moritz smls: iirc it's still implemented as a method
16:36 nine jnthn: that's kinda hard because I'm trying to do this from Python code
16:36 Juerd Being moved: feather3
16:37 moritz dalek, we hardly knew thee
16:38 geekosaur ( we hardly knew three )
16:39 jnthn TimToady: I don't suppose you did any performance comparison before/after your longlit work?
16:39 nine m: class PythonCallable { method postcircumfix:<( )>(\args) { say "foo"; } }; my $cb = PyCallable.new(); $cb."postcircumfix<( )>"();
16:39 camelia rakudo-moar 16fb5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/aON0M0CydDâ�¤Undeclared name:â�¤    PyCallable used at line 1. Did you mean 'Callable'?â�¤â�¤Â»
16:39 nine m: class PythonCallable { method postcircumfix:<( )>(\args) { say "foo"; } }; my $cb = PythonCallable.new(); $cb."postcircumfix<( )>"();
16:39 camelia rakudo-moar 16fb5e: OUTPUT«No such method 'postcircumfix<( )>' for invocant of type 'PythonCallable'␤  in block <unit> at /tmp/fSsaFJintb:1␤␤»
16:41 FROGGS m: class PythonCallable { method postcircumfix:<( )>(\args) { say "foo"; } }; my $cb = PythonCallable.new(); $cb."postcircumfix:<( )>"();
16:41 camelia rakudo-moar 16fb5e: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in method postcircumfix:<( )> at /tmp/v3Wuh1Eaab:1␤  in block <unit> at /tmp/v3Wuh1Eaab:1␤␤»
16:41 FROGGS m: class PythonCallable { method postcircumfix:<( )>(\args) { say "foo"; } }; my $cb = PythonCallable.new(); $cb."postcircumfix:<( )>"(42);
16:41 camelia rakudo-moar 16fb5e: OUTPUT«foo␤»
16:43 nine FROGGS: that looks good!
16:44 nine But it doesnt seem to work for arbitrary callables:
16:44 nine m: my $cb = sub { say "foo" }; $cb."postcircumfix:<( )>"();
16:44 camelia rakudo-moar 16fb5e: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Sub'␤  in block <unit> at /tmp/L7VtjBjrHk:1␤␤»
16:51 Juerd being moved: feather2
16:53 ab5tract joined #perl6
16:53 anaeem1 joined #perl6
16:54 FROGGS m: class PythonCallable { method postcircumfix:<( )>(\args) { say "foo"; } }; my $cb = PythonCallable.new(); $cb(42)
16:54 camelia rakudo-moar 16fb5e: OUTPUT«foo␤»
16:54 FROGGS nine: ^^
16:55 nine m: my $cb = sub { say "foo" }; $cb."postcircumfix:<( )>"();
16:55 camelia rakudo-moar 16fb5e: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Sub'␤  in block <unit> at /tmp/SuiC8_7nVL:1␤␤»
16:55 nine FROGGS: ^^
16:56 hugme joined #perl6
16:58 nine Solved it now by adding a second callback that's used just for calling objects
16:59 Juerd Sorry, feather1 is next
17:07 Juerd 80 GB, lots and lots of small files. Sorry people, this will take long.
17:08 timotimo when i put a "my $*OUT = PROCESS::<$OUT>" into the MAIN of perl6-bench/perl6/spinner, it goes from 6 seconds down to 4.9 seconds
17:09 ugexe im surprised you all get by with that little hardware
17:09 Juerd We don't :)
17:09 timotimo why do we initialize PROCESS::<$OUT>, but not $*OUT in the setting?
17:11 jnthn $*OUT falls back to looking in PROCESS
17:12 colomon joined #perl6
17:13 dalek joined #perl6
17:13 timotimo yes, and that takes a lot of time apparently :)
17:14 jnthn Does that hit the slow at_key thing in Stash also?
17:15 timotimo let me see
17:16 timotimo doesn't look like it
17:19 timotimo the version without the $*OUT shortcut doesn't trigger Stash.at_key it seems
17:20 timotimo interesting. that version collects more often
17:20 timotimo the one with the short cut, i mean
17:26 jfredett joined #perl6
17:32 jnthn TimToady: Turns out, at least on Windows, that looking up an environment variable every single time we evaluate an NFA is not the fastest thing to be doing...
17:35 jnthn TimToady: Pushed a MoarVM patch that looks it up once at startup, which helps things quite a lot.
17:36 * japhb goes to look at that patch just to understand how that ever happened
17:36 TimToady I tried to factor it out some, but it's fine to do more of that
17:36 TimToady we should also make envvars faster :)
17:37 TimToady also, I'll have a different longlit impl soon that doesn't have to pass a bunch of stuff around at merge time
17:38 FROGGS m: my $cb = sub { say "foo" }; $cb();
17:38 camelia rakudo-moar 16fb5e: OUTPUT«foo␤»
17:39 FROGGS nine: you don't need to call the postcircumfix:<( )> method explicitly
17:39 FROGGS nine: just invoke it
17:39 nine FROGGS: I cannot do that in Python
17:39 [Sno] joined #perl6
17:39 FROGGS nine: then look at the ast, and do the same
17:40 [Sno] joined #perl6
17:41 nine FROGGS: I'm already past that anyway. I did in the end just invoke it. Had to move the call from Python to Perl code for that but it works.
17:43 vendethiel- joined #perl6
17:45 kjs_ joined #perl6
17:48 jnthn TimToady: Uh, this was a *C* call to envvars ;)
17:49 jnthn I'm not sure we get to make that faster :)
17:49 jnthn It's just that it happened on every single NFA evaluation, and we do a lot of those over the build.
17:49 jnthn Anyway, fixed now, and the envvar is retained for your future debugging pleasure.
17:52 moritz jnthn: did you push something that dalek should have reported?
17:52 FROGGS_ joined #perl6
17:54 cognominal joined #perl6
17:54 timotimo in mvm
17:54 timotimo and it did report
17:58 moritz ok
18:08 raiph joined #perl6
18:21 erkan joined #perl6
18:21 erkan joined #perl6
18:24 dalek rakudo/nom: 74e3378 | jnthn++ | src/core/IO/Spec/Win32.pm:
18:24 dalek rakudo/nom: Unbust tmpdir on Windows.
18:24 dalek rakudo/nom:
18:24 dalek rakudo/nom: Fixes S16-io/tmpdir.t.
18:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/74e3378d26
18:26 dalek roast: e8f675d | jnthn++ | S19-command-line-options/02-dash-n.t:
18:26 dalek roast: Cope with test file having Windows newlines.
18:26 dalek roast: review: https://github.com/perl6/roast/commit/e8f675d209
18:27 ab5tract joined #perl6
18:32 jnthn m: say IO::Spec::Cygwin.rel2abs('/t1','/t1/t2/t3');
18:32 camelia rakudo-moar 16fb5e: OUTPUT«/t1␤»
18:33 jnthn m: say IO::Spec::Win32.rel2abs('/t1','/t1/t2/t3');
18:33 camelia rakudo-moar 16fb5e: OUTPUT«\t1␤»
18:34 jnthn Ah...that's why the Cygwin tests fails on Windows...
18:40 anaeem1_ joined #perl6
18:41 colomon jnthn: any luck getting an account on a closer OS X machine?
18:41 anaeem1_ joined #perl6
18:41 smls joined #perl6
18:41 smls say X::Composition::NotComposable.^mro
18:41 smls m: say X::Composition::NotComposable.^mro
18:41 camelia rakudo-moar 16fb5e: OUTPUT«(X::Composition::NotComposable) (Exception) (Any) (Mu)␤»
18:42 smls ^^ Why does this not inherit from X::Comp ?
18:42 smls Does composition not happen at compile-time?
18:43 jnthn If the compiler is constructing the meta-object, yes.
18:43 smls m: say "Alive!"; class A { }; class B does A { };
18:43 camelia rakudo-moar 16fb5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/fJQfjB7k5C�A is not composable, so B cannot compose it�at /tmp/fJQfjB7k5C:1�------> �»
18:43 jnthn If the user is doing their own meta-programming, no.
18:43 jnthn The code that emits the exception lives in the MOP, not the compiler.
18:43 smls but isn't that the same with inheritance?
18:44 smls X::Inheritance::Unsupported *does* compose X::Comp, for example
18:44 jnthn Which exception do you have in mind?
18:44 jnthn Hmm
18:44 jnthn Maybe it's just been done inconsistently...
18:45 smls I'm wondering whether I should call them "compilation errors" in p6doc
18:46 jnthn Not sure if moritz++ had a guiding principle on these things...
18:46 jnthn colomon: No, I didn't spot lizmat yet... :)
18:48 colomon jnthn: okay, I'll see what I can do here
18:49 dalek rakudo/nom: dc84dbc | jnthn++ | src/core/IO/Spec/ (2 files):
18:49 dalek rakudo/nom: Fix IO::Spec::Cygwin.rel2abs on Windows.
18:49 dalek rakudo/nom:
18:49 dalek rakudo/nom: The tests (I think correctly) don't expect to end up with a volume,
18:49 dalek rakudo/nom: but because we delegate to Windows rel2abs on Cygwin then tweak the
18:49 dalek rakudo/nom: slashes, we end up with one. Not sure this is the best fix, though it
18:49 dalek rakudo/nom: is better than the other obvious alternative (let the drive letter be
18:49 dalek rakudo/nom: put on by IO::Spec::Win32, then strip it off in IO::Spec::Cygwin).
18:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc84dbc367
18:49 jnthn colomon: OK, but no hurry; I'm still a bit get-lagged for segfault hunting today... :(
18:49 jnthn So just picking off a few easier bits here and there
18:49 jnthn Oh, I should remember to eat too...
18:49 jnthn My body has no clue what dinner time is any more. :)
18:50 colomon you're in China at the moment?
18:50 jnthn No, back home, but only as of last night
18:51 jnthn And I'll only be going European places in the next few months now.
18:51 smls btw is there something (akin to .^mro) for listing all roles that an object does?
18:52 jnthn .^roles iirc
18:52 jnthn m: say List.^roles
18:52 smls ah, thanks
18:52 camelia rakudo-moar 16fb5e: OUTPUT«(Positional)␤»
18:52 jnthn m: say Array.^roles
18:52 camelia rakudo-moar 16fb5e: OUTPUT«(Positional)␤»
18:52 jnthn Seems it shows inherited ones too
18:52 tadzik joined #perl6
18:53 smls m: say Set.^roles
18:53 camelia rakudo-moar 16fb5e: OUTPUT«(Setty)␤»
18:53 smls doesn't seem to be recursive (^^did not list QuantHash and Associative)
18:54 jnthn Ah, maybe it's not
18:55 jnthn m: say Setty.^roles(:transitive)
18:55 camelia rakudo-moar 16fb5e: OUTPUT«No such method 'roles' for invocant of type 'Perl6::Metamodel::ParametricRoleGroupHOW'␤  in block <unit> at /tmp/BP6aDSSgmw:1␤␤»
18:55 jnthn m: say Set.^roles(:transitive)
18:55 camelia rakudo-moar 16fb5e: OUTPUT«Cannot find method 'roles'␤  in any roles at src/gen/m-Metamodel.nqp:2654␤  in block <unit> at /tmp/JrxlhiO5Ib:1␤␤»
18:55 jnthn Aww.
18:56 jnthn That should probably work.
19:00 * colomon has gotten sidetracked improving his local network...
19:00 Ugator joined #perl6
19:03 dalek roast: fbfe061 | jnthn++ | S17-procasync/basic.t:
19:03 dalek roast: Fix a test on Windows; avoid a warning.
19:03 dalek roast: review: https://github.com/perl6/roast/commit/fbfe06170c
19:10 dalek nqp: a5f24ab | Carlin++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
19:10 dalek nqp: Add more signal codes to constant map
19:10 dalek nqp: review: https://github.com/perl6/nqp/commit/a5f24abc6d
19:10 dalek nqp: 878c1b3 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
19:10 dalek nqp: Merge pull request #178 from carbin/moar-signals
19:10 dalek nqp:
19:10 dalek nqp: Add more signal codes to constant map
19:10 dalek nqp: review: https://github.com/perl6/nqp/commit/878c1b3371
19:13 dalek perl6-roast-data: 488f5b9 | coke++ | / (5 files):
19:13 dalek perl6-roast-data: today (automated commit)
19:13 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/488f5b9b1a
19:13 dalek rakudo/nom: b438c29 | jnthn++ | tools/build/NQP_REVISION:
19:13 dalek rakudo/nom: Bump NQP_REVISION for signals, Moar perf fix.
19:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b438c2915c
19:14 dalek rakudo/nom: 0207082 | Carlin++ | src/core/signals.pm:
19:14 dalek rakudo/nom: add more signal mappings
19:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0207082eba
19:14 dalek rakudo/nom: 5e91f1e | Carlin++ | src/core/signals.pm:
19:14 dalek rakudo/nom: add more signal codes to the Signal enum
19:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e91f1ee37
19:14 dalek rakudo/nom: 8ff2af8 | jonathan++ | src/core/signals.pm:
19:14 dalek rakudo/nom: Merge pull request #303 from carbin/nom
19:14 dalek rakudo/nom:
19:14 dalek rakudo/nom: Handle more signals
19:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8ff2af8ebe
19:15 anaeem1 joined #perl6
19:16 dalek nqp: 20e6be9 | rurban++ | 3rdparty/dyncall/configure:
19:16 dalek nqp: on MacPorts need to enforce system /usr/bin/libtool for -static
19:16 dalek nqp:
19:16 dalek nqp: error message: libtool: unrecognized option `-static
19:16 dalek nqp: libtool: Try `libtool --help' for more information.
19:16 dalek nqp: because on macports libtool is taken from /opt/local/bin.
19:16 dalek nqp: -static is a xcode-only aberation.
19:16 dalek nqp: review: https://github.com/perl6/nqp/commit/20e6be9551
19:16 dalek nqp: 53e0c2c | jonathan++ | 3rdparty/dyncall/configure:
19:16 dalek nqp: Merge pull request #187 from rurban/dyncall-macports
19:16 dalek nqp:
19:16 dalek nqp: on MacPorts need to enforce system /usr/bin/libtool for -static
19:16 dalek nqp: review: https://github.com/perl6/nqp/commit/53e0c2c24f
19:18 waressearcher2 joined #perl6
19:19 waressearcher2 so perl6 is different animal than perl5 ?
19:20 sqirrel__ joined #perl6
19:20 timotimo yes
19:21 vendethiel- quite so...
19:22 * colomon is not covering himself with glory with this attempt to set up an account for jnthn....
19:23 ab5tract joined #perl6
19:23 nine waressearcher2: it's Perl5 with everything that sucks removed and much awesomeness added.
19:25 waressearcher2 nine: "everything that sucks", examples ?
19:25 jnthn colomon: I'm doing just as well at getting myself dinner :P
19:25 * jnthn visits the shop :)
19:25 jnthn bbiab
19:25 colomon o/
19:25 timotimo
19:26 nine waressearcher2: inconsistencies for example. Like having to use different sigils when referring to an @array vs. referring to an array element like $array[0].
19:27 kjs_ joined #perl6
19:28 nine waressearcher2: or needing tons of boiler plate like use strict; use warnings; use utf8; use features qw(say unicode_strings ...)
19:28 itz_ joined #perl6
19:29 timotimo nine: weird scoping of $_
19:30 timotimo it's so weird i don't even understand how it's supposed to work
19:31 nine timotimo: true. Seen a few problems from that in my career.
19:31 timotimo can you explain it to me a bit?
19:31 moritz $_ is globally scoped
19:32 moritz but some constructs, such as for (list) local()ize it implicitly
19:32 moritz so that they don't clobber the outer $_
19:32 moritz (p5, that is)
19:33 [Coke] joined #perl6
19:33 waressearcher2 so nowadays when people start to learn perl what version do they choose ? or you inevitable should know perl5 too ?
19:33 timotimo only some?
19:35 moritz timotimo: iirc 'given' introduces (or introduced) a lexical $_ instead
19:36 moritz so if you have sub printit { print $_ }; $_ = 42; for (1) { printint() }; given (1) { printit() };
19:36 moritz it will print 142
19:36 waressearcher2 timotimo: considering tons of libraries on CPAN that depend on perl5 its not a simple choice
19:36 Pleiades` joined #perl6
19:37 timotimo waressearcher2: well, you can use Inline::Perl5 to bridge the gap of not-yet-ported perl5 modules
19:38 nine waressearcher2: but you'd need to be able to read a bit of P5 at least.
19:40 raiph joined #perl6
19:45 masak joined #perl6
19:45 masak "Steve Peters had a few more questions about pairs, which made Osfameron notice that he could use pairs like Lisp's dotted pairs. Larry admitted that he could and had hoped that no one would notice." -- http://www.perl.com/pub/2005/02/
19:46 masak hehe. this must be before TimToady apparently started to like consing things together with infix:<< => >> :P
19:46 [Coke] daily failures (yesterday, os x): jvm: 14, moar-nojitt: 205, moar-jit: 14, parrot: 0!
19:48 masak m: sub postfix:<!>($n) { [*] 2..$n }; say 0!
19:48 camelia rakudo-moar dc84db: OUTPUT«1␤»
19:48 * masak .oO( just 0! more to go )
19:49 raydiak good almostnoon #perl6
19:50 masak oh haydiak
19:50 timotimo hey raydiak
19:50 raydiak \o masak, timotimo
19:51 raydiak ecosystem is broken
19:51 timotimo all of it?
19:51 raydiak just panda update & panda install :)
19:53 raydiak or is it just me again?
19:53 timotimo yeah connection refused
19:53 timotimo feather(s) got moved or rebooted or something similar
19:53 masak waressearcher2: Perl 6 is a glance at where Perl is heading. some of us use it daily, but we're still in a minority. there are lots of reasons to stick with Perl 5 still -- most of them having to do with existing codebases and dependencies -- but we're picking them off little by little.
19:53 raydiak ah...yeah something didn't come back
19:54 lizmat good *, #perl6!
19:54 masak yeah, feather moved host.
19:54 masak lizmat! \o/
19:54 lizmat masak colomon jnthn  o/
19:54 raydiak panda pulls from feather.perl6.nl:3000
19:54 lizmat trying to catch up on back log
19:54 raydiak \o lizmat
19:54 lizmat raydiak o/
19:55 moritz tadzik: I fear you have to restart the panda meta data server on feather
19:55 jnthn hi lizmat :)
19:55 lizmat is there anything I should look at immediately ?
19:57 tadzik moritz: ah, right
19:57 synopsebot joined #perl6
19:57 tadzik heh, I just wrote 'pit bull' instead of 'git pull'
19:58 moritz :-)
19:58 jnthn lizmat: Not "immediately" 'cus I'm too tired to use it immediately, but I'm interested in a shell account on an OSX box so I can investigate the SEGVs.
19:58 jnthn Well, guess I can reproduce right away, but the debugging will take a little more :)
19:58 jnthn Figured you may be a good person to ask since you're in Europe so I'll get low roundtrip times :)
19:59 lizmat well, giving you a shell on my laptop would not work immediately, as I would need to open up some ports on our network as well
19:59 jnthn ah
20:00 jnthn And it's a laptop :)
20:00 lizmat well, 16G, quad core
20:01 jnthn I was more thinking "not sat there in one place all the time" :)
20:02 * jnthn wonders what biscuit tins cost these days... :)
20:03 PacoLinux joined #perl6
20:08 colomon lizmat, o\
20:08 gfldex joined #perl6
20:08 colomon jnthn: yes, my laptop is also a laptop.  :)
20:10 colomon jnthn: Mac mini starts at $500, but I'm assuming that's wildly underpowered.
20:10 jnthn Yes :) Only 2 cores no matter how you configure it. :)
20:12 sqirrel__ joined #perl6
20:15 osfameron masak: oh, I remember that.  is it now more usual then?  istr the associativity of the => operator was wrong too (the link to groups.google.com is broken so I cant' double-check)
20:15 anaeem1_ joined #perl6
20:17 colomon_ joined #perl6
20:17 * osfameron finds http://www.nntp.perl.org/group/perl.perl6.language/2005/02/msg19348.html
20:17 anaeem1_ joined #perl6
20:19 masak osfameron: yeah, ISTR the associativity changed since then.
20:19 masak osfameron: I don't know many others except TimToady++ using => as cons pairs. :)
20:20 osfameron can you reduce with [=>] to turn an array into a linked list?
20:20 bjz joined #perl6
20:21 jnthn m: say ([=>] 1, 2, 3, 4).perl
20:21 camelia rakudo-moar dc84db: OUTPUT«1 => 2 => 3 => 4␤»
20:21 jnthn m: say ([=>] 1, 2, 3, 4).value.perl
20:21 camelia rakudo-moar dc84db: OUTPUT«2 => 3 => 4␤»
20:21 jnthn m: say ([=>] 1, 2, 3, 4).value.key.perl
20:21 camelia rakudo-moar dc84db: OUTPUT«2␤»
20:21 jnthn Seems right.
20:22 osfameron yay
20:23 timotimo also, a year ago or so i made sure the .perl output of Pair will show parens when needed
20:24 timotimo m: say ((1, 2) => (3 => 4, 5 => 6)).perl
20:24 camelia rakudo-moar dc84db: OUTPUT«$(1, 2) => $(3 => 4, 5 => 6)␤»
20:25 timotimo m: say ( (((1 => 2) => 3) => 4) => 5 ).perl
20:25 camelia rakudo-moar dc84db: OUTPUT«(((1 => 2) => 3) => 4) => 5␤»
20:25 timotimo m: say ( 1 => 2 => 3 => 4 => 5 ).perl
20:25 camelia rakudo-moar dc84db: OUTPUT«1 => 2 => 3 => 4 => 5␤»
20:28 colomon joined #perl6
20:29 anaeem1_ joined #perl6
20:33 anaeem1_ joined #perl6
20:46 telex joined #perl6
20:46 colomon joined #perl6
20:50 dalek Inline-Python: 72c70bf | nine++ | / (3 files):
20:50 dalek Inline-Python: Support passing callables between Python and Perl
20:50 dalek Inline-Python: review: https://github.com/niner/Inline-Python/commit/72c70bf16a
20:50 dalek Inline-Python: a5eba1b | nine++ | / (3 files):
20:50 dalek Inline-Python: Fix array vs. list confusion
20:50 dalek Inline-Python: review: https://github.com/niner/Inline-Python/commit/a5eba1b232
20:50 dalek Inline-Python: 688a38f | nine++ | / (3 files):
20:50 dalek Inline-Python: Implement inheritance by delegation
20:50 dalek Inline-Python:
20:50 dalek Inline-Python: This allows Perl 6 classes to "inherit" from Python classes.
20:50 dalek Inline-Python: Transparently passes on method calls to the base Python object while
20:50 dalek Inline-Python: allowing the subclass in Perl 6 to override methods.
20:50 dalek Inline-Python: Also still allows accessing the Python object's attributes.
20:50 dalek Inline-Python: review: https://github.com/niner/Inline-Python/commit/688a38f4f7
20:54 smls m: my $x = Date.new(now); say $x; say $x.truncated-to('minute');
20:54 camelia rakudo-moar 8ff2af: OUTPUT«2014-11-23␤2014-11-01␤»
20:54 smls ^^huh?
20:54 smls shouldn't this throw a X::Temporal::Truncation?
20:54 jnthn m: my $x = Date.new(now); say $x; say $x.truncated-to('m');
20:54 camelia rakudo-moar 8ff2af: OUTPUT«2014-11-23␤Cannnot use unit m with Date.delta␤  in method truncate-parts at src/gen/m-CORE.setting:17430␤  in method truncated-to at src/gen/m-CORE.setting:17857␤  in block <unit> at /tmp/58lbDbbEMT:1␤␤»
20:54 jnthn m: my $x = Date.new(now); say $x; say $x.truncated-to('month');
20:55 camelia rakudo-moar 8ff2af: OUTPUT«2014-11-23␤2014-11-01␤»
20:56 smls m: { Date.new(now).truncated-to('m'); CATCH { say $_.WHAT } }
20:56 camelia rakudo-moar 8ff2af: OUTPUT«(X::DateTime::InvalidDeltaUnit)␤Cannnot use unit m with Date.delta␤  in method truncate-parts at src/gen/m-CORE.setting:17430␤  in method truncated-to at src/gen/m-CORE.setting:17857␤  in block <unit> at /tmp/oOpXS7Kmys:1␤␤»
20:56 jnthn ah...
20:56 smls X::Temporal::Truncation doesn't exist anymore?
20:57 jnthn Dunno. But @UNITS contains minutes, seconds, etc.
20:58 jnthn And those are explicitly handled by truncated-to in DateTime
20:58 jnthn The rest fall through to Datish
20:58 [Coke] jnthn: I am awake, and while I cannot give you access to my box, I can be eyes and ears for a bit.
20:58 jnthn But Datish is used for Date too
20:58 jnthn [Coke]: lizmat++ has got me access to one now
20:58 jnthn Hopefully I can reproduce it there :)
20:58 [Coke] lizmat++, indeed. Thanks in advance for taking a look!
20:59 smls jnthn: But why does Date truncate to 'month' when given 'minute'?
21:01 jnthn smls: Because it looks for year, and if it doesn't get that just assumes month
21:02 FROGGS_ smls: look at rakudo/src/core/Temporal.pm:121
21:02 smls S32/Exception lists X::Temporal::Truncation but not X::DateTime::InvalidDeltaUnit :(
21:02 dalek Heuristic branch merge: pushed 16 commits to rakudo/newio by lizmat
21:03 smls FROGGS_: But is the Rakudo implementation "correct", or S32?
21:03 FROGGS_ smls: rakudo is at least buggy in this regard
21:03 smls Or asked another way, what should p6doc document?
21:04 FROGGS_ when it comes to exception classes we usually just document what rakudo implements
21:05 guru joined #perl6
21:06 jnthn It think this is a Rakudo bug, imo
21:07 arnsholt How much work is happening on the Unicode synopsis ATM?
21:09 * smls looks forward to jnthn and other core Perl 6 devs going through the whole specs and deciding what is considered officially part of 6.0, and what is downgraded to conjecture/ideas for future versions :)
21:10 FROGGS_ arnsholt: not that much, though I expect movement within the next months
21:10 FROGGS_ smls: me too!
21:11 * FROGGS tries to do some RT hackery after finishing preps for $dayjob
21:13 FROGGS jnthn: ahh btw, can you imagine why this comes out Mu at the bottom? https://gist.github.com/FROGGS/199ccc0d6412e6858217
21:16 jnthn - QAST::Want+{QAST::SpecialArg} 4
21:16 jnthn I wonder what's special about it
21:17 jnthn And if it is that it's got a name set on it, so it becomes a named arg
21:17 FROGGS it is a named, aye
21:17 jnthn Ah, is that what the Pair constructor expects?
21:17 FROGGS I think so
21:18 jnthn Is the name of it the correct thing, though?
21:19 timotimo oh, cool, you're making comma-less stacks of adverbs work?
21:19 timotimo i like that
21:20 FROGGS I guess it is more like: key => c, value => 3
21:20 FROGGS but I'll not in a bit
21:20 FROGGS timotimo: yes, for (...) since yesterday
21:21 FROGGS curlies after that
21:21 timotimo cool
21:21 timotimo does it already work after method and sub calls that have parens?
21:21 timotimo like
21:21 timotimo m: sub test($a, $b, *%f) { say %f.perl }; test(1, 2) :hello :goodbye
21:21 camelia rakudo-moar 8ff2af: OUTPUT«("goodbye" => Bool::True, "hello" => Bool::True).hash␤»
21:21 timotimo ah, neat
21:22 FROGGS the first QAST::Want+{QAST::SpecialArg} with the Str is named 'key', the other one with the Int value is named 'b'
21:22 FROGGS wich feels odd
21:23 FROGGS I rename the latter to 'value' now...
21:25 FROGGS the original code that fiddled with loose adverbs did this:
21:25 FROGGS my $name := compile_time_value_str($_[1], 'LHS of pair', $/);
21:25 FROGGS %named_counts{$name} := +%named_counts{$name} + 1;
21:25 FROGGS $_[2].named($name);
21:26 FROGGS uhh, my code works \o/
21:26 timotimo your code works \o/
21:26 FROGGS *g*
21:27 FROGGS m: say Pair.new()
21:27 camelia rakudo-moar 8ff2af: OUTPUT«Any => Mu␤»
21:27 FROGGS m: say Pair.new( foo => bar )
21:27 camelia rakudo-moar 8ff2af: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/JEjB234R0eâ�¤Undeclared routine:â�¤    bar used at line 1. Did you mean 'bag'?â�¤â�¤Â»
21:27 FROGGS m: say Pair.new( foo => 'bar' )
21:27 camelia rakudo-moar 8ff2af: OUTPUT«Any => Mu␤»
21:27 FROGGS m: say Pair.new( key => 'foo', value => 'bar' )
21:27 camelia rakudo-moar 8ff2af: OUTPUT«"foo" => "bar"␤»
21:29 lizmat FROGGS:  eh, say Pair.new( foo => 'bar' )  isn't that a bit recursive ?   :-)
21:29 lizmat putting a Pair as a parameter to a new Pair ?  :-)
21:29 FROGGS :P
21:29 FROGGS yeah, perhaps
21:29 FROGGS now you have to create two pairs to get one
21:30 FROGGS well, "now"
21:30 lizmat but I guess we could make a Pair.new candidate that takes a Pair ?
21:30 dalek rakudo/RT123215: 662ebf3 | (Tobias Leich)++ | src/Perl6/Actions.nqp:
21:30 dalek rakudo/RT123215: fix value of chained colonpairs in ( )
21:30 dalek rakudo/RT123215: review: https://github.com/rakudo/rakudo/commit/662ebf3cb7
21:30 anaeem1_ joined #perl6
21:30 FROGGS I don't favour a change without a strong reason
21:35 masak 'night, #perl6
21:36 FROGGS gnight masak
21:37 timotimo gnite masak
21:38 PZt joined #perl6
21:49 dalek rakudo/nom: 55d59e4 | (Tobias Leich)++ | src/Perl6/ (2 files):
21:49 dalek rakudo/nom: attempt to fix RT #123215
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/55d59e461a
21:49 dalek rakudo/nom: 2b6e77e | (Tobias Leich)++ | src/Perl6/Actions.nqp:
21:49 dalek rakudo/nom: fix value of chained colonpairs in ( )
21:49 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123215
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2b6e77ecf6
21:53 anaeem1_ joined #perl6
21:57 virtualsue joined #perl6
21:58 GladiaTeur joined #perl6
22:05 rurban joined #perl6
22:08 erkan joined #perl6
22:08 erkan joined #perl6
22:12 raiph joined #perl6
22:14 cognominal joined #perl6
22:17 Alula joined #perl6
22:20 dalek rakudo/nom: c40c1b8 | (Tobias Leich)++ | src/Perl6/ (2 files):
22:20 dalek rakudo/nom: fix chained colonpairs in curlies, resolves RT #123215
22:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c40c1b861f
22:20 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123215
22:20 timotimo cool
22:21 FROGGS I had expected that it would be harder
22:22 anaeem1_ joined #perl6
22:30 timotimo i'm glad it was apparently easy :)
22:36 dalek roast: d44aa84 | (Tobias Leich)++ | S02-types/pair.t:
22:36 dalek roast: [RT #123215] add tests for chained colonpairs
22:36 dalek roast: review: https://github.com/perl6/roast/commit/d44aa8498f
22:36 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123215
22:39 firefish5000 joined #perl6
22:45 [Sno] joined #perl6
22:53 El_Che joined #perl6
23:05 ugexe joined #perl6
23:09 raiph joined #perl6
23:13 lizmat good night, #perl6!
23:13 raydiak good night lizmat o/
23:42 raydiak apparently I've ended up half way towards building a toy functional language using perl 6 as a backend: https://github.com/raydiak/Math-Symbolic/blob/baa5cfdd8aabab4f1b81486f3e1816f81737c649/t/01-basics.t#L21-25
23:47 raydiak then again I suppose that's what any CAS turns in to, but this is embeddable in perl 6 too...and you can compile to strings of code w/o EVALing, e.g. for dynamically generating a module from a Build.pm or something

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

Perl 6 | Reference Documentation | Rakudo