»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
dalek | ake: 38f8069 | (Arne Skjærholt)++ | src/Snake/Metamodel/ClassHOW.nqp: Preliminary implementation of class attributes. |
00:01 | |
00:01
kjs_ joined,
kjs_ left
00:06
noganex_ joined,
noganex left
00:13
kurahaupo left,
vendethiel left
00:17
vendethiel joined
00:22
cognominal left
|
|||
timotimo | my optimization for metaop_assign doesn't cope well with my Rat $a; $a += 0.1 | 00:47 | |
i wonder what candidate it used to work with | 00:48 | ||
because that'd trigger infix:<+>(Rational \a, Rational \b) because of no ":D" | |||
is t/spec/S32-scalar/undef.rakudo.moar failing a test for anybody else? | 00:53 | ||
00:54
exixt is now known as EXIXT
00:56
sprocket joined
|
|||
timotimo | m: my Rat $a; $a += 0.1; | 00:57 | |
camelia | ( no output ) | ||
timotimo | m: my Rat $a; say $a += 0.1; | ||
camelia | rakudo-moar 3bbf7b: OUTPUT«0.1» | ||
timotimo | how does that work? | ||
m: my Rat $a; say $a.perl; | |||
camelia | rakudo-moar 3bbf7b: OUTPUT«Rat» | ||
timotimo | m: my Rat $a; say &infix:<+>.^can(Rat, 0.1); | ||
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» | ||
timotimo | m: my Rat $a; say &infix:<+>.can(Rat, 0.1); | 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/XuNm4eNaCm:1» | ||
timotimo | m: my Rat $a; say &infix:<+>.can(\(Rat, 0.1)); | ||
camelia | rakudo-moar 3bbf7b: OUTPUT«use of uninitialized value of type Rat in string context in any can at src/gen/m-Metamodel.nqp:2697use of uninitialized value of type Rat in string context in any can at src/gen/m-Metamodel.nqp:2697use of uninitialized value of type Rat in st…» | ||
timotimo | m: my Rat $a; say &infix:<+>.can(\(Rat, 0.1)).perl; | ||
camelia | rakudo-moar 3bbf7b: OUTPUT«use of uninitialized value of type Rat in string context in any can at src/gen/m-Metamodel.nqp:2697use of uninitialized value of type Rat in string context in any can at src/gen/m-Metamodel.nqp:2697use of uninitialized value of type Rat in st…» | ||
timotimo | m: my Rat $a; say &infix:<+>.can(\(Rat, 0.1))>>.perl; | ||
camelia | rakudo-moar 3bbf7b: OUTPUT«use of uninitialized value of type Rat in string context in any can at src/gen/m-Metamodel.nqp:2697use of uninitialized value of type Rat in string context in any can at src/gen/m-Metamodel.nqp:2697use of uninitialized value of type Rat in st…» | ||
timotimo | m: my Rat $a; say &infix:<+>.can(|(Rat, 0.1))>>.perl; | ||
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» | ||
timotimo | m: my Rat $a; say &infix:<+>.can(:(Rat, 0.1))>>.perl; | ||
camelia | rakudo-moar 3bbf7b: OUTPUT«» | ||
timotimo | how do i ... | ||
m: my Rat $a; say &infix:<+>.can(:(Rat, 0.1)).perl; | |||
camelia | rakudo-moar 3bbf7b: OUTPUT«()» | ||
timotimo | m: my Rat $a; say &infix:<+>.candidates | ||
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…» | ||
timotimo | m: say &say.can(:("hello")) | 00:59 | |
camelia | rakudo-moar 3bbf7b: OUTPUT«» | ||
timotimo | m: say &say.can(:("hello")).perl | ||
camelia | rakudo-moar 3bbf7b: OUTPUT«()» | ||
timotimo | how does this work again? | ||
00:59
vendethiel left
|
|||
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» | ||
timotimo | m: say Rat += 0.1 | ||
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» | ||
timotimo | how come the cannot look up attributes in a type object error doesn't happen with += ? | ||
oooooh! | 01:01 | ||
+= has a a // op.() in it! | |||
01:04
raiph left
01:05
telex left
01:06
telex joined,
rurban joined
|
|||
timotimo | i'd like someone to write some more tests that ensure that METAOP_ASSIGN properly does the a // op.() thing | 01:09 | |
01:11
adu joined
01:15
vendethiel joined
01:17
ab5tract joined
|
|||
timotimo | because the fact that only one single test failed and it was about rats threw me for quite a loop. | 01:17 | |
01:18
raiph joined
|
|||
dalek | kudo/nom: e663375 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp: optimize METAOP_ASSIGN by kind-of-sort-of-inlining |
01:20 | |
kudo/nom: af7c0c3 | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c: profiler: p6getouterctx allocates |
|||
01:32
ab5tract left
01:51
xinming joined,
sprocket left
02:01
regreg joined
|
|||
dalek | kudo/nom: 8124c41 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp: let's constant-fold metaop_negate and metaop_reverse, too |
02:01 | |
kudo/nom: dad5fa3 | (Timo Paulssen)++ | src/Perl6/Actions.nqp: i prefer eqat to index ... == 0 |
02:13 | ||
02:16
esaym153 left
02:25
rurban left,
adu left
02:26
rurban joined
02:28
esaym153 joined
02:29
rurban1 joined
02:31
rurban left
02:50
KCL_ joined
02:51
raiph left
02:53
hagiri joined
03:03
vendethiel left
03:05
vendethiel joined
03:09
bjz left
03:10
bjz joined
03:20
adu joined
03:22
zakharyas joined,
BenGoldberg left
03:24
noganex joined
03:27
noganex_ left
03:37
BenGoldberg joined
03:40
gfldex joined
03:44
mr-foobar left
03:47
vendethiel left
03:49
vendethiel joined
04:01
rurban1 left
04:10
rmgk is now known as Guest34630,
rmgk_ joined,
Guest34630 left,
rmgk_ is now known as rmgk
04:11
vendethiel left
04:13
vendethiel joined
04:25
adu left
04:28
BenGoldberg left
04:36
vendethiel left
04:43
Alina-malina left
04:44
Alina-malina joined
04:47
vendethiel joined
04:51
zakharyas left
05:03
gfldex left
05:08
vendethiel left
05:24
awwaiid joined
|
|||
araujo looks around | 05:42 | ||
raydiak | araujo: what do you see? | 05:43 | |
05:54
chenryn joined
05:57
awwaiid left,
awwaiid joined
05:58
chenryn left
|
|||
araujo | raydiak, bunch of perl6 fellows ... either too busy coding or away for RealLife things :) | 06:00 | |
06:02
erkan joined,
erkan left,
erkan joined
|
|||
raydiak | :) | 06:03 | |
06:07
awwaiid left,
vendethiel joined,
awwaiid joined
06:09
awwaiid left,
awwaiid joined
06:28
erkan left
06:29
vendethiel left
06:32
chenryn joined
06:34
chenryn left
06:40
vendethiel joined
06:45
chenryn joined
06:48
chenryn left,
bjz left,
bjz_ joined,
chenryn joined
07:02
chenryn left
07:03
chenryn joined,
vendethiel left
07:07
vendethiel joined
07:09
chenryn left
07:11
chenryn joined
07:33
dwarring left
07:37
hagiri left
07:40
rindolf joined
07:45
regreg left,
regreg joined
|
|||
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
|
|||
dalek | ast: bba16ae | usev6++ | S04-phasers/enter-leave.t: Add tests for RT #113950, change fudging (now "todo") for RT #121530 |
08:04 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=113950 | ||
08:10
jack_rabbit joined
08:15
chenryn left
08:21
eclipse left,
chenryn joined
08:28
Akagi201 joined
08:37
vendethiel left
|
|||
masak | gooood CET morning, #perl6! | 08:39 | |
jack_rabbit | whats CET? | 08:40 | |
08:40
vendethiel joined
|
|||
moritz | jack_rabbit: Central European Time | 08:41 | |
\o masak, jack_rabbit, japhb, * | |||
araujo | japhb, :) | 08:43 | |
masak, moritz jack_rabbit o/ | |||
I wonder guys if you know any couchdb driver for perl6 | 08:44 | ||
08:57
chenryn left,
chenryn joined
09:00
darutoko joined
09:01
chenryn left
09:10
isacloud______ is now known as isacloud,
chenryn joined
09:11
smls joined
|
|||
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» | ||
smls | ^^ deprecated, or NYI? | ||
p6doc has a page for it... | 09:13 | ||
moritz | smls: merged into IO::Path, I think; but lizmat++ considered resurrecting it | 09:22 | |
no idea what the current status is | |||
09:23
sqirrel__ joined
09:27
jfredett left,
itz_ joined
09:30
itz left
|
|||
masak | araujo: I can't recall hearing of one. | 09:31 | |
moritz neither | 09:32 | ||
09:38
rindolf left
09:39
rindolf joined
09:40
mr-foobar joined
09:48
jack_rabbit left
09:52
JimmyZ joined
|
|||
araujo | masak, ah.. ok,.. I briefly searched on the module page and couldn't find any either | 09:54 | |
mm.. | |||
masak | a fine opportunity to expand into uncharted territory! | ||
araujo | since it is just plain http request methods (restful) , I guess it wouldn't be hard to cook something for it.... | 09:55 | |
09:57
jack_rabbit joined
|
|||
timotimo | o/ | 09:59 | |
JimmyZ | \o | 10:04 | |
10:04
anaeem1_ joined
10:05
rindolf left,
rindolf joined
10:07
anaeem1_ left,
denis_boyun_ joined
10:09
vti joined
|
|||
dalek | kudo/RT123215: ffa9f33 | (Tobias Leich)++ | src/Perl6/ (2 files): attempt to fix RT #123215 |
10:12 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123215 | ||
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:13 | |
masak | hm, good question. | 10:14 | |
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 | ||
and google also didn't help, this channel is the last resort :) | |||
timotimo | yeah, the data section thingie is not yet implemented ;( | 10:19 | |
vti | that's ok, i was just thinking there was an alternative, but i will probably stick with =begin code for now | 10:21 | |
timotimo | a heredoc should be good, no? | 10:22 | |
you know heredocs can be indented in perl6? | |||
vti | hm, i will try heredocs maybe, thanks | 10:26 | |
10:26
jack_rabbit left
10:27
xinming left
10:39
rindolf left
10:40
rindolf joined
10:49
rurban joined
|
|||
arnsholt | Are we doing an advent calendar this year? | 10:50 | |
timotimo | i sure hope so! | ||
github.com/perl6/mu/tree/master/mi...dvent-2014 | 10:51 | ||
arnsholt | Oh cool. Cheers! | 10:52 | |
timotimo | it'd be good to have a post on HTTP::UserAgent | 10:55 | |
10:56
telex left
10:58
telex joined
11:02
xinming joined
11:07
EXIXT is now known as exixt
11:09
gfldex joined
|
|||
jnthn | 12 hours of sleep. Guess I was tired. :) | 11:12 | |
afternoon, #perl6 :) | |||
timotimo | heyo jnthn :) | ||
nine | Hi jnthn | 11:13 | |
yoleaux | 22 Nov 2014 23:53Z <raiph> nine: www.reddit.com/r/perl6/comments/2n2...qt/cm9orki | ||
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:"?! | ||
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 | ||
yoleaux | nine: What kind of a name is "raiph[3~:"?! | ||
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 | |||
yoleaux | nine: I'll pass your message to raiph. | ||
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:17 | |
11:18
denis_boyun_ left
|
|||
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 | |
timotimo: As is the case with sink | |||
timotimo: We could a HUGE win by not walking both. | |||
*got a | |||
bbi10 | 11:19 | ||
timotimo | in that case i should perhaps modify the nodes in-place rather than replacing parts of it | 11:20 | |
or perhaps just not care? :\ | 11:25 | ||
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 | ||
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 | ||
vendethiel | timotimo, it's fine, I don't read your lines anyway :) | ||
nine | Indentable heredocs...you just _have_ to love this language :) | 11:36 | |
jnthn | nine: With regard to that feature - if you're implementing it, you love it much less :D | 11:37 | |
vendethiel | indentablewhat? | ||
nine | jnthn: I guess that's true for many of Perl 6's features. | ||
vendethiel just also read that in the backlog :) | |||
11:38
psch joined
|
|||
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:38 | |
psch | ho #perl6 \o | 11:39 | |
vendethiel | nine: I backlogged, but saw no such example | ||
smls | jnthn: Are heredocs de-dented at compile time? | 11:40 | |
psch | FROGGS: testers.perl6.org is down, from the looks of it | ||
jnthn | smls: I originally had it as "yes if they're constant, no if you interpolate" | ||
psch | FROGGS: does submitting depend on the site being reachable? | ||
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? | ||
timotimo | they are dedented at compile time | 11:42 | |
that means spaces from interpolated stuff don't get cut off | |||
jnthn | smls: I dunno, frankly I just *would not write code* that interpolates a multi-line string an a darn heredoc! :P | ||
*in a | |||
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. :) | ||
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 | ||
nine | jnthn: simple example where it does make sense. A bog standard mailer for a contact form on a website. | 11:44 | |
Message body as heredoc, variables interpolated and multi line values quite common | 11:45 | ||
jnthn | hmm | ||
I guess. | |||
FROGGS | psch: yes | ||
jnthn hasn't written a form mailer for 10+ years :) | |||
But yeah, I can see that... | |||
nine++ | |||
11:45
ab5tract joined
|
|||
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
|
|||
FROGGS | jnthn: yeah, I fear that this is necessary :o( | 11:47 | |
psch biab | |||
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 | ||
nine: it does not crash though | |||
jnthn | 'k | ||
timotimo | i don't see that exactly, what did you mean, nine? | 11:49 | |
11:50
regreg left
|
|||
nine | timotimo: I'm not sure what you're referring to? | 11:50 | |
timotimo | the form mailer thing | ||
11:52
exixt is now known as EXIXT
|
|||
nine | timotimo: gist.github.com/niner/bba04e647b97ddf6cab5 | 11:53 | |
timotimo | OK, the problem being? | 11:54 | |
you want the message to be indented? | 11:55 | ||
because it's multiline? | |||
11:56
sqirrel__ left
11:58
jack_rabbit joined
12:01
EXIXT is now known as exixt
|
|||
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:01 | |
timotimo | oh | 12:02 | |
i thought you were arguing *against* the current behavior %) | |||
nine | timotimo: oh no, it's brilliant! | 12:03 | |
12:03
jack_rabbit left
|
|||
nine | If I weren't a fan of Perl 6, I'd have to become one on the spot here :) | 12:04 | |
timotimo | hah | ||
yay :) | |||
i was the one who fixed that particular behavior :) | |||
i'm always glad when i can see people benefit from stuff i do "directly" | 12:05 | ||
timotimo is running benchmarks again | 12:06 | ||
12:07
zakharyas joined
|
|||
vendethiel | "Sincerely, your form mailer" if even the form mailer starts to get smart... | 12:17 | |
timotimo | is there something a regular person like me can do to make spammer's lives less easy? | 12:19 | |
vendethiel | .oO( stop buying viagra ) |
12:20 | |
timotimo | the thought of botnets is kind of annoying | 12:22 | |
colomon | ack, seven new failures this morning. :( host08.perl6.com:8080/report | 12:32 | |
12:36
erkan joined
12:41
pochi left
|
|||
timotimo | t.h8.lv/p6bench/2014-11-23-rakudo_l...stuff.html - doesn't seem like it has been really dramatically worth it ... | 12:41 | |
12:41
sqirrel__ joined
|
|||
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:41 | |
12:43
pochi joined
|
|||
colomon | whoops. | 12:43 | |
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:45
erkan left
|
|||
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!» | ||
timotimo | er, wrong way around | ||
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!" | |||
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
ab5tract left
|
|||
jnthn | colomon: "doesn't work"? | 12:47 | |
colomon | jnthn: the malloc thing | 12:48 | |
jnthn | ah fuck | ||
colomon | build fails | ||
jnthn | Yeah, I'll have to look into that. | ||
timotimo | jnthn: yeah, there's a lot of "oh fuck" to that bug :( | ||
jnthn | I'm sure somebody can get me an OSX shell account... | ||
12:49
erkan joined,
erkan left,
erkan joined
|
|||
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!» | ||
timotimo | (compared to the 2014.11 release, that is) | ||
jnthn | Not bad. | ||
timotimo | i'll take it | ||
next step would be to get rid of the defor if it's not needed | |||
sounds like something spesh could do well | |||
jnthn | May already be able to... | 12:50 | |
May need to learn about .DEFINITE | |||
timotimo | it's not in there yet | ||
oh, it's not equivalent to "isconcrete", eh? | |||
jnthn | I think isconcrete is already spesh' | ||
timotimo | yes | ||
jnthn | Right, it gives a p6bool instead iirc | ||
But that is just adding facts to say it's a constant value | 12:51 | ||
And I guess the conditional spesh then will see it's a constant boolean value and do the right thing... | |||
timotimo | you're suggesting to call the .DEFINITE method at spesh-time? | 12:52 | |
jnthn | It's not a method. | 12:53 | |
That's why it's uppercase. | |||
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? | ||
colomon | jnthn: you need an OS X login? | ||
timotimo | oh, eh? | 12:54 | |
12:54
raiph joined
|
|||
jnthn | colomon: Given that seems the only platform things reliably go wrong... :) | 12:54 | |
timotimo | i should look into that some more | ||
colomon | jnthn: let me see what I can do. | ||
jnthn | colomon: But maybe somebody in Europe (lizmat?) could offer me one... | 12:55 | |
colomon: Which'd be more responsive :) | |||
But I'll take what I can get :) | |||
colomon | jnthn: true. | ||
timotimo | jnthn: but implementing // simply as QAST::Op( :op('defor'), :name('&infix:<//>') ) should be correct? | ||
jnthn | timotimo: Oh, right, I see what you mean... | 12:56 | |
timotimo: And yes. | |||
timotimo | ah, .DEFINITE is just p6definite | ||
jnthn | Right. | ||
But I don't think // uses it | |||
timotimo | that seems to be the case, yes | ||
so defor should be easier to do | |||
jnthn | Guess so | ||
timotimo | oh | 12:57 | |
defor gets compiled down to an isconcrete + if_i in QASTCompilerMAST | |||
so nothing more to do there | |||
jnthn | Check that Rakudo doesn't override it. | 12:58 | |
timotimo | 'k | ||
jnthn | But yeah, I think nothing more to do. | ||
timotimo | oh | 12:59 | |
rakudo does "callmethod defined" | |||
jnthn | ah... | ||
Does it guard it with a isconcrete first? | |||
timotimo | doesn't seem so | ||
m: nqp::null // "hi" | 13:00 | ||
camelia | rakudo-moar dad5fa: OUTPUT«===SORRY!=== Error while compiling /tmp/IDjTTf1__2Null regex not allowedat /tmp/IDjTTf1__2:1------> nqp::null //⏏ "hi"» | ||
timotimo | m: nqp::null() // "hi" | ||
camelia | rakudo-moar dad5fa: OUTPUT«Cannot call method 'defined' on a null object in block <unit> at /tmp/NqvozeNhL6:1» | ||
colomon | www.phoronix.com/scan.php?page=news...px=MTgzNjY # seems like there ought to be some nice p6-y use for these... | ||
timotimo | m: Mu // "hi" | ||
camelia | ( no output ) | ||
timotimo | re-running the dad5f3a checkout with an up-to-date moarvm | 13:06 | |
the improvements to rand may show up in forest-fire, too | |||
13:09
KCL joined
13:12
KCL_ left
13:17
mr-foobar left,
mr-fooba_ joined
13:18
raiph left
13:20
chenryn left
13:21
chenryn joined
13:24
denis_boyun_ joined
13:28
PacoLinux joined
|
|||
timotimo | huh. forest-fire became slower? | 13:30 | |
t.h8.lv/p6bench/2014-11-23-rakudo_l...stuff.html | |||
13:32
sqirrel__ left
13:36
raiph joined
13:47
itz joined
13:49
PacoLinux left
13:50
itz_ left
13:52
PacoLinux joined
|
|||
colomon | gist.github.com/colomon/c640e86439337b6c606d # LWP::Simple error | 13:53 | |
13:55
zakharyas left
13:56
PacoLinux left
14:00
bjz_ left,
bjz joined
14:02
BenGoldberg joined
|
|||
masak | m: say "ABCDEF" ~~ m:th(2)/\w/ | 14:05 | |
camelia | rakudo-moar dad5fa: OUTPUT«「B」» | ||
masak | m: say "ABCDEF" ~~ m:th(*-1)/\w/ | ||
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…» | ||
masak | I expected the above to work. should it? | 14:06 | |
colomon | no | 14:07 | |
masak | oh. | ||
colomon | well, I guess I shouldn't speak with the voice of authority. | ||
masak | what's the idiomatic way to find the last occurrence of something? | ||
.comb and then *-1 ? | 14:08 | ||
colomon | m: say ("ABCDEF" ~~ m:g/\w/)[*-1] | ||
camelia | rakudo-moar dad5fa: OUTPUT«False» | ||
14:08
erkan left
|
|||
colomon | comb would certainly be more elegant and work | 14:09 | |
masak | I don't really see what's inelegant about :th(*-1) | ||
I would have been delighted had it worked. | |||
colomon | the string ~~ m:th(*-1)/\w/ doesn't strike you as less elegant that .comb[*-1] ? | ||
m: say "ABCDEF"m:th(*-1)/\w/ | 14:10 | ||
camelia | rakudo-moar dad5fa: OUTPUT«===SORRY!=== Error while compiling /tmp/v0e7Y8B6wfTwo terms in a rowat /tmp/v0e7Y8B6wf:1------> say "ABCDEF"⏏m:th(*-1)/\w/ expecting any of: postfix infix stopper infix or …» | ||
colomon | m: say "ABCDEF".comb[*-1] | 14:11 | |
camelia | rakudo-moar dad5fa: OUTPUT«F» | ||
14:11
erkan joined,
erkan left,
erkan joined
|
|||
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. | ||
smls | ...and in s///, which can't be replaced by comb | 14:13 | |
masak | oh, and that. | ||
colomon is looking at the source | 14:14 | ||
github.com/rakudo/rakudo/blob/nom/...tr.pm#L593 | |||
huh, it does look doable | 14:15 | ||
14:16
sqirrel__ joined
14:17
ab5tract joined
|
|||
masak | \o/ | 14:17 | |
now I only need to convince you that it's the right thing to do ;) | |||
colomon | or you could figure it out and do it yourself. ;) | 14:21 | |
14:21
chenryn left
14:22
gfldex left
|
|||
masak | heh :) | 14:22 | |
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:24 | ||
masak | oh, I found what might be a reason to not do this. | 14:29 | |
a weak one, but one I didn't think of until I dug down into the code. | |||
colomon | …. ~~ Callable? | ||
masak | these :nth indices are 1-based, as opposed to everything else that handles *-1 | 14:30 | |
in a way, that actually makes 2 and *-2 *more* symmetric, not less. | |||
but it may be a reason to exercise caution. | |||
colomon adds a +1 to the code he was just writing | 14:31 | ||
masak | oh, you're implementing it, too? :) | ||
colomon | trying, anyway | ||
masak | anyway, I don't think I want to do ~~ Callable; I want to ~~ WhateverCode | ||
t/spec/S17-lowlevel/thread.t .................................. Failed 4/25 subtests | 14:33 | ||
colomon | I've got a working version | ||
but I haven't spectested yet | |||
assuming you have a working version as well? | |||
14:33
chenryn joined
|
|||
masak | think so. | 14:35 | |
but still spectesting the before-the-change. | |||
14:35
BenGoldberg left
|
|||
masak | here, let me gist my diff. | 14:35 | |
gist.github.com/masak/082fc27b6e270d852e65 | 14:36 | ||
colomon | mine: gist.github.com/colomon/b5299bc4a21b21b7661d | 14:37 | |
:) | |||
smls | m: say (^10).list.[-> $n {$n - 1}] | ||
camelia | rakudo-moar dad5fa: OUTPUT«9» | ||
colomon | smls++ # I was just about to type that myself | ||
smls | ^^masak: For lists, it works with other callables than WhateverCode | ||
masak | is that spec'd? | ||
smls | no idea | 14:38 | |
masak | to me that feels like "ooh, ooh, and wouldn't it be nice if *this* worked!?" | ||
I'm not out to expand the spec, just to make it do something that I found was missing. | |||
14:38
Alina-malina left
14:39
denis_boyun_ left
|
|||
masak checks the spec | 14:39 | ||
colomon is totally expanding the spec | |||
arg, very true, but that was meant to be "masak is totally expanding the spec" | 14:40 | ||
masak | :) | ||
I have a weak preference against allowing arbitrary Callable inside of :nth | |||
I can't verbalizy why. | 14:41 | ||
verbalize* | |||
it feels like a hobgoblin to me. | |||
geekosaur | feels downrigth nasty to me because it implies you do the whole thing and then backtrack to match the Whatever | 14:43 | |
even worse for arbitrary Callable | |||
masak | I can't think of a use case where I would want to do the -> $n { ... } thing rather than the *-$n thing | ||
colomon | geekosaur: you do do the whole thing | ||
masak | or maybe (very rarely) the */2 thing | ||
colomon | geekosaur: but the magic is you only do it if someone uses this functionality | 14:44 | |
geekosaur: :1st will not do it. just :nth(*-1) | |||
geekosaur | still feels a litle too magic. maybe hold ti in abeyance for consideration for some future version... | ||
14:44
Alina-malina joined,
Alina-malina left,
Alina-malina joined
|
|||
colomon | geekosaur: the only worrisome thing is the off-by-one issue | 14:45 | |
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". | ||
psch grmls at forgetting to set PANDA_REPORT_TESTREPORTS | |||
s/REPORT/SUBMIT/ | |||
geekosaur | I think colomon just claimed its weight is very light? | ||
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
Vlavv left
|
|||
colomon | geekosaur: no changes to the parser at all | 14:48 | |
masak: my version spectests clean | |||
masak | colomon: I'm fine with you pushing it, except I'm still against allowing Callable there. | ||
colomon: but overall having your version is better than nothing :) | |||
colomon | masak: I'm fine with pushing it, just to allow Callable there. :) | ||
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
|
|||
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. | ||
colomon | though I'm a bit worried about $n(@src + 1) versus $n(+@src) + 1 | ||
jnthn | NQP is worse too; was 30s, now 33s. | ||
masak | colomon: the difference between our two versions confirms that. | ||
colomon | jnthn: no, it's real | ||
jnthn: or at least, stage parse has definitely gone from 26s to 27s on my Linux box | 14:50 | ||
14:50
sqirrel__ left
|
|||
jnthn | OK, that's a serious regression. Anybody know when it happened? | 14:50 | |
FROGGS | jnthn: layz deserialization of objects/stables was deactivated | ||
lazy} | |||
masak | why? which commit? | ||
colomon | layz is one of those rappers, right? | ||
FROGGS | damn, whz do I have an english kezboard now_ | ||
jnthn | I thought it was re-enabled, because the fix broke other things? | ||
14:50
vike left
|
|||
masak had a script in production just segfault on him :/ | 14:51 | ||
FROGGS | don|t think so | ||
colomon | jnthn: lizmat, hoelzro, and I were talking about this yesterday or the day before | ||
jnthn: the patch in question's still in there, as far as I know. But it's value is extremely questionable. | |||
jnthn: it seems that something significant is broken in deserialization of objects/stables. | 14:52 | ||
jnthn: the patch fixes up some issues, but breaks others | |||
masak | an extremely questionable patch is slowing down build with 7 seconds? | ||
colomon | masak: I don't know if it is the full / only cause of that | ||
masak | if only we could measure things like this continuously... | ||
colomon | actually, I suspect it's only a piece of the slowdown | 14:53 | |
masak | ok. | 14:55 | |
colomon will try to time | |||
jnthn needs to do a reboot soon for some updates anyway... | 14:57 | ||
dalek | ast: c6ec69e | masak++ | S05-modifier/counted.t: [S05-modifier] add (fudged) test for :nth(*-1) |
||
jnthn | Will try again after that. | ||
14:57
vike joined
|
|||
masak | colomon: awaiting your patch so I can unfudge that one :) | 14:57 | |
14:57
bjz left
|
|||
colomon | I'm going to time a full build with and without 05b25a6359c7bcf5ab03357b0d0093f77d28ead6 | 14:57 | |
(that's MoarVM) | |||
14:58
bjz joined
|
|||
jnthn | colomon++ | 14:58 | |
15:00
Vlavv joined
|
|||
dalek | kudo/nom: 2bda621 | (Solomon Foster)++ | src/core/Str.pm: Allow :nth(*-1) for masak++. |
15:01 | |
15:02
exixt is now known as EXIXT
15:04
EXIXT is now known as exixt
|
|||
colomon | jnthn: github.com/MoarVM/MoarVM/commit/05...f77d28ead6 does not significantly affect the build time of rakudo + nqp + moarVM | 15:05 | |
JimmyZ | it affects startup time and memory use | 15:06 | |
colomon | 2m33.3 before, 2m34.5 after | ||
right, I'm not saying it's a great patch | |||
it's just not responsible for the slowdown jnthn is looking at | |||
masak | oh, it seems that running instances of perl6 segfault when I `make install` a newly-compiled perl6. | 15:08 | |
:( | |||
how can that even happen? | |||
colomon: locally, your patch makes two tests fail in S05-modifier/counted.t | 15:09 | ||
colomon: tests 27 and 28. | 15:10 | ||
colomon | :\ | ||
masak | (and they passed before that) | ||
JimmyZ | 快,改成麦高的补丁! | 15:11 | |
:P | |||
colomon | masak: huh? they're todo tests? | 15:12 | |
'nth(list) is ok' | 15:13 | ||
? | |||
15:14
ab5tract left
15:24
exixt is now known as EXIXT,
guru joined
15:25
guru is now known as ajr_
15:26
EXIXT is now known as exixt,
JimmyZ left
15:27
pecastro joined
|
|||
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 | |
I figured that correctness was more important than a little startup time | |||
granted, I didn't know that it would break ABC | |||
masak | colomon: oops, sorry -- yes, you're right. | ||
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` | ||
anyway, colomon++, masak-- | 15:32 | ||
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 | |
15:33
jluis joined
|
|||
hoelzro | colomon: agreed | 15:33 | |
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:34 | ||
masak | why doesn't a running `perl6` process survive a `make install`? | 15:35 | |
15:37
ab5tract joined
|
|||
timotimo | perhaps it has something mmapped that gets overwritten and then things explode? | 15:39 | |
hm, but the existing file should not have its contents replaced; the file itself should be replaced ... no? | |||
hoelzro | is it just on Moar, or other backends too? | 15:40 | |
IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000), :family(2)) | 15:41 | ||
r: IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000), :family(2)) | |||
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» | ||
..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» | |||
timotimo | huh | 15:45 | |
um | 15:46 | ||
PIO::PF_INET6() | |||
what's that all about? | 15:47 | ||
moritz | IPv6 support | ||
timotimo | is that a sub? | ||
m: say PIO::PF_INET6() | |||
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» | ||
timotimo | ah, it's in that module up there | ||
why does it have () after it? | |||
it does seem to be Int constants | |||
15:47
Tekk_ left
|
|||
moritz | M.say IO::Socket::INET::PIO::PF_INET6 | 15:47 | |
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» | ||
moritz | timotimo: iirc constant didn't work (bootstrap-y issues) when the code was first written | ||
timotimo | that module is my-scoped | ||
i still don't understand why you would ever put () there | 15:49 | ||
masak | hoelzro: for all I know, it's just on moar. | 15:51 | |
15:51
rurban left
|
|||
masak | hoelzro: haven't tried it on any other platform, as moar tends to be what I build locally. | 15:51 | |
15:51
rurban joined
15:52
denis_boyun_ joined
|
|||
carlin | m: lcfirst # LTA since there is no .lcfirst | 15:53 | |
camelia | rakudo-moar 2bda62: OUTPUT«===SORRY!=== Error while compiling /tmp/cqe79AvL4YUnsupported use of bare 'lcfirst'; in Perl 6 please use .lcfirst if you meant $_, or use an explicit invocant or argumentat /tmp/cqe79AvL4Y:1------> lcfirst # LTA since there…» | ||
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
|
|||
hoelzro | ok, that error is fixe | 15:55 | |
*fixed | |||
but I don't know if family is respected | 15:56 | ||
dalek | kudo/nom: b7f0436 | (Rob Hoelz)++ | src/core/IO/Socket/INET.pm: Remove () from use of constants in IO::Socket::INET Otherwise IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000), :family(2)) fails |
||
hoelzro | I specified INET, but it's still trying to connect over v6 | 15:57 | |
15:58
ab5tract left
|
|||
dalek | kudo/nom: 16fb5e4 | TimToady++ | src/Perl6/Grammar.nqp: update case functions in deftraps |
15:58 | |
TimToady | carlin++ | ||
moritz | why did I read "death traps"? | ||
:-) | |||
Juerd: fyi, the feather replacement has been ordered | 15:59 | ||
Juerd | moritz: Yay | ||
15:59
ab5tract joined
|
|||
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 | ||
6 cores (12 including hyperthreading) and 32GB RAM | 16:01 | ||
16:01
mr-fooba_ left
|
|||
Juerd | moritz: Very nice. | 16:01 | |
Is there a name for the new box yet? | |||
(Bonus points for those who know where the name feather came from!) | 16:02 | ||
timotimo | .o( cadence ) | ||
moritz | Juerd: I've registered p6c.org, but haven't decided on the hostnames yet | ||
timotimo | oh my god, perl six corgis! | ||
moritz | I thought "community" :-) | ||
Juerd | Does nobody know how "feather" got its name? | 16:03 | |
moritz doesn't | |||
timotimo | well ... parrots have feathers, no? | ||
16:04
[Sno] joined
|
|||
Juerd | Answer's hidden in www.perl.com/pub/2005/02/ | 16:04 | |
16:05
mr-foobar joined
|
|||
timotimo | featherweight perl6, eh? | 16:05 | |
Juerd | Yes | ||
That's the language that pugs initially targetted | |||
16:05
ab5tract left
|
|||
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:05 | |
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) ) | ||
can an arbitrary expression be used for the return value? | 16:07 | ||
16:10
exixt is now known as EXIXT,
erkan left
16:12
EXIXT is now known as exixt
16:14
erkan joined
|
|||
nine | Oh if only the Inline::Python developer could get off his lazy ass and fix exception handling for good... | 16:19 | |
Oh wait, that's me! | |||
16:23
jluis left
|
|||
vendethiel | .oO( self-flagellement driven programming ) |
16:23 | |
moritz | std: method foo(Int --> self.thingy() { } | 16:24 | |
camelia | std 76ccee1: OUTPUT«===SORRY!===In parameter declaration, typename 'self' must be predeclared (or marked as declarative with :: prefix) at /tmp/eZWPH61fBv line 1:------> method foo(Int --> self⏏.thingy() { }Parse failedFAILED 00:00 …» | ||
vendethiel | EMISSINGPAREN | ||
moritz | std: method foo(Int --> 2 + 4) { } | ||
camelia | std 76ccee1: OUTPUT«===SORRY!===Unable to parse signature at /tmp/kWcQ2ynDk3 line 1:------> method foo⏏(Int --> 2 + 4) { }Couldn't find final ')'; gave up at /tmp/kWcQ2ynDk3 line 1:------> method foo(Int --> 2 ⏏+ 4)…» | ||
moritz | std: method foo(Int --> self.thingy()) { } | ||
camelia | std 76ccee1: OUTPUT«===SORRY!===In parameter declaration, typename 'self' must be predeclared (or marked as declarative with :: prefix) at /tmp/Byad8lP0rC line 1:------> method foo(Int --> self⏏.thingy()) { }Parse failedFAILED 00:00…» | ||
moritz | m: class A { method f ($a = self.^name } { $a } }; say A.new.f | 16:25 | |
camelia | rakudo-moar 16fb5e: OUTPUT«===SORRY!=== Error while compiling /tmp/WUXuN1m_XgMissing blockat /tmp/WUXuN1m_Xg:1------> class A { method f ($a = self.^name ⏏} { $a } }; say A.new.f expecting any of: method arguments …» | ||
moritz | m: class A { method f ($a = self.^name ) { $a } }; say A.new.f | ||
camelia | rakudo-moar 16fb5e: OUTPUT«A» | ||
moritz | std: class A { method f ($a = self.^name ) { $a } }; say A.new.f | ||
camelia | std 76ccee1: OUTPUT«ok 00:00 141m» | ||
moritz | S06 still says | 16:26 | |
"An unsuccessful call | |||
may always call C<fail> to return a C<Failure> object regardless of | |||
the return specification" | |||
is that a fossil? | |||
jnthn | Reboot didn't help after all... | 16:27 | |
Well, not with speed. My system is now rather better patched :) | 16:28 | ||
nine | What would be the method be called that actually executes a Callable? | 16:29 | |
timotimo | hm. apply? | 16:30 | |
jnthn | I think there's a .callwith | ||
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
|
|||
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
KCL left
|
|||
nine | Doesn't look like there's anything suitable | 16:33 | |
jnthn | No. I mean, you just call it really :) | 16:34 | |
smls | m: say &postcircumfix:<( )> | ||
camelia | rakudo-moar 16fb5e: OUTPUT«===SORRY!=== Error while compiling /tmp/l1ehMtAJ6kUndeclared routine: &postcircumfix:<( )> used at line 1. Did you mean '&postcircumfix:<[ ]>', '&postcircumfix:<{ }>', '&circumfix:<[ ]>', '&circumfix:<{ }>'?» | ||
smls | hm | 16:35 | |
16:35
dalek left
|
|||
moritz | smls: iirc it's still implemented as a method | 16:35 | |
nine | jnthn: that's kinda hard because I'm trying to do this from Python code | 16:36 | |
Juerd | Being moved: feather3 | ||
moritz | dalek, we hardly knew thee | 16:37 | |
geekosaur | ( we hardly knew three ) | 16:38 | |
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<( )>"(); | ||
camelia | rakudo-moar 16fb5e: OUTPUT«===SORRY!=== Error while compiling /tmp/aON0M0CydDUndeclared name: PyCallable used at line 1. Did you mean 'Callable'?» | ||
nine | m: class PythonCallable { method postcircumfix:<( )>(\args) { say "foo"; } }; my $cb = PythonCallable.new(); $cb."postcircumfix<( )>"(); | ||
camelia | rakudo-moar 16fb5e: OUTPUT«No such method 'postcircumfix<( )>' for invocant of type 'PythonCallable' in block <unit> at /tmp/fSsaFJintb:1» | ||
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» | ||
FROGGS | m: class PythonCallable { method postcircumfix:<( )>(\args) { say "foo"; } }; my $cb = PythonCallable.new(); $cb."postcircumfix:<( )>"(42); | ||
camelia | rakudo-moar 16fb5e: OUTPUT«foo» | ||
nine | FROGGS: that looks good! | 16:43 | |
But it doesnt seem to work for arbitrary callables: | 16:44 | ||
m: my $cb = sub { say "foo" }; $cb."postcircumfix:<( )>"(); | |||
camelia | rakudo-moar 16fb5e: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Sub' in block <unit> at /tmp/L7VtjBjrHk:1» | ||
Juerd | being moved: feather2 | 16:51 | |
16:51
hugme left
16:53
ab5tract joined,
anaeem1 joined
|
|||
FROGGS | m: class PythonCallable { method postcircumfix:<( )>(\args) { say "foo"; } }; my $cb = PythonCallable.new(); $cb(42) | 16:54 | |
camelia | rakudo-moar 16fb5e: OUTPUT«foo» | ||
FROGGS | nine: ^^ | ||
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» | ||
nine | FROGGS: ^^ | ||
16:56
hugme joined,
ChanServ sets mode: +v hugme
|
|||
nine | Solved it now by adding a second callback that's used just for calling objects | 16:58 | |
Juerd | Sorry, feather1 is next | 16:59 | |
17:04
sqirrel__ left
|
|||
Juerd | 80 GB, lots and lots of small files. Sorry people, this will take long. | 17:07 | |
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:08 | |
17:09
sergot left,
[Coke] left,
pmichaud left,
PerlJam left,
synopsebot left,
masak left,
Util left,
tadzik left
|
|||
ugexe | im surprised you all get by with that little hardware | 17:09 | |
Juerd | We don't :) | ||
17:09
colomon left
|
|||
timotimo | why do we initialize PROCESS::<$OUT>, but not $*OUT in the setting? | 17:09 | |
jnthn | $*OUT falls back to looking in PROCESS | 17:11 | |
17:12
colomon joined
17:13
dalek joined,
ChanServ sets mode: +v dalek
|
|||
timotimo | yes, and that takes a lot of time apparently :) | 17:13 | |
jnthn | Does that hit the slow at_key thing in Stash also? | 17:14 | |
17:14
grep0r left
|
|||
timotimo | let me see | 17:15 | |
doesn't look like it | 17:16 | ||
the version without the $*OUT shortcut doesn't trigger Stash.at_key it seems | 17:19 | ||
interesting. that version collects more often | 17:20 | ||
the one with the short cut, i mean | |||
17:25
ab5tract left
17:26
jfredett joined
17:30
raiph left
|
|||
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:32 | |
17:34
jfredett left
|
|||
jnthn | TimToady: Pushed a MoarVM patch that looks it up once at startup, which helps things quite a lot. | 17:35 | |
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 | ||
we should also make envvars faster :) | |||
17:36
[Sno] left
|
|||
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:37 | |
FROGGS | m: my $cb = sub { say "foo" }; $cb(); | 17:38 | |
camelia | rakudo-moar 16fb5e: OUTPUT«foo» | ||
FROGGS | nine: you don't need to call the postcircumfix:<( )> method explicitly | 17:39 | |
nine: just invoke it | |||
nine | FROGGS: I cannot do that in Python | ||
17:39
[Sno] joined,
[Sno] left
|
|||
FROGGS | nine: then look at the ast, and do the same | 17:39 | |
17:40
[Sno] joined
|
|||
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:41 | |
17:43
vendethiel- joined
17:45
vendethiel left,
kjs_ joined
|
|||
jnthn | TimToady: Uh, this was a *C* call to envvars ;) | 17:48 | |
I'm not sure we get to make that faster :) | 17:49 | ||
It's just that it happened on every single NFA evaluation, and we do a lot of those over the build. | |||
Anyway, fixed now, and the envvar is retained for your future debugging pleasure. | |||
17:50
chenryn left
|
|||
moritz | jnthn: did you push something that dalek should have reported? | 17:52 | |
17:52
FROGGS_ joined
17:54
cognominal joined
|
|||
timotimo | in mvm | 17:54 | |
and it did report | |||
17:55
FROGGS left
|
|||
moritz | ok | 17:58 | |
18:08
raiph joined,
rurban left
18:21
erkan left,
smls left,
erkan joined,
erkan left,
erkan joined
|
|||
dalek | kudo/nom: 74e3378 | jnthn++ | src/core/IO/Spec/Win32.pm: Unbust tmpdir on Windows. Fixes S16-io/tmpdir.t. |
18:24 | |
18:26
kjs_ left
|
|||
dalek | ast: e8f675d | jnthn++ | S19-command-line-options/02-dash-n.t: Cope with test file having Windows newlines. |
18:26 | |
18:27
ab5tract joined
|
|||
jnthn | m: say IO::Spec::Cygwin.rel2abs('/t1','/t1/t2/t3'); | 18:32 | |
camelia | rakudo-moar 16fb5e: OUTPUT«/t1» | ||
jnthn | m: say IO::Spec::Win32.rel2abs('/t1','/t1/t2/t3'); | 18:33 | |
camelia | rakudo-moar 16fb5e: OUTPUT«\t1» | ||
jnthn | Ah...that's why the Cygwin tests fails on Windows... | 18:34 | |
18:39
anaeem1 left
18:40
ajr_ left,
anaeem1_ joined,
anaeem1_ left
|
|||
colomon | jnthn: any luck getting an account on a closer OS X machine? | 18:41 | |
18:41
anaeem1_ joined,
smls joined
|
|||
smls | say X::Composition::NotComposable.^mro | 18:41 | |
m: say X::Composition::NotComposable.^mro | |||
camelia | rakudo-moar 16fb5e: OUTPUT«(X::Composition::NotComposable) (Exception) (Any) (Mu)» | ||
smls | ^^ Why does this not inherit from X::Comp ? | 18:42 | |
Does composition not happen at compile-time? | |||
jnthn | If the compiler is constructing the meta-object, yes. | 18:43 | |
smls | m: say "Alive!"; class A { }; class B does A { }; | ||
camelia | rakudo-moar 16fb5e: OUTPUT«===SORRY!=== Error while compiling /tmp/fJQfjB7k5CA is not composable, so B cannot compose itat /tmp/fJQfjB7k5C:1------> » | ||
jnthn | If the user is doing their own meta-programming, no. | ||
The code that emits the exception lives in the MOP, not the compiler. | |||
smls | but isn't that the same with inheritance? | ||
X::Inheritance::Unsupported *does* compose X::Comp, for example | 18:44 | ||
jnthn | Which exception do you have in mind? | ||
Hmm | |||
18:44
ab5tract left
|
|||
jnthn | Maybe it's just been done inconsistently... | 18:44 | |
smls | I'm wondering whether I should call them "compilation errors" in p6doc | 18:45 | |
jnthn | Not sure if moritz++ had a guiding principle on these things... | 18:46 | |
colomon: No, I didn't spot lizmat yet... :) | |||
colomon | jnthn: okay, I'll see what I can do here | 18:48 | |
dalek | kudo/nom: dc84dbc | jnthn++ | src/core/IO/Spec/ (2 files): Fix IO::Spec::Cygwin.rel2abs on Windows. The tests (I think correctly) don't expect to end up with a volume, but because we delegate to Windows rel2abs on Cygwin then tweak the slashes, we end up with one. Not sure this is the best fix, though it is better than the other obvious alternative (let the drive letter be put on by IO::Spec::Win32, then strip it off in IO::Spec::Cygwin). |
18:49 | |
jnthn | colomon: OK, but no hurry; I'm still a bit get-lagged for segfault hunting today... :( | ||
So just picking off a few easier bits here and there | |||
Oh, I should remember to eat too... | |||
My body has no clue what dinner time is any more. :) | |||
colomon | you're in China at the moment? | 18:50 | |
jnthn | No, back home, but only as of last night | ||
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? | ||
jnthn | .^roles iirc | 18:52 | |
m: say List.^roles | |||
smls | ah, thanks | ||
camelia | rakudo-moar 16fb5e: OUTPUT«(Positional)» | ||
jnthn | m: say Array.^roles | ||
camelia | rakudo-moar 16fb5e: OUTPUT«(Positional)» | ||
jnthn | Seems it shows inherited ones too | ||
18:52
tadzik joined
|
|||
smls | m: say Set.^roles | 18:53 | |
camelia | rakudo-moar 16fb5e: OUTPUT«(Setty)» | ||
smls | doesn't seem to be recursive (^^did not list QuantHash and Associative) | ||
jnthn | Ah, maybe it's not | 18:54 | |
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» | ||
jnthn | m: say Set.^roles(:transitive) | ||
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» | ||
jnthn | Aww. | ||
That should probably work. | 18:56 | ||
colomon has gotten sidetracked improving his local network... | 19:00 | ||
19:00
anaeem1_ left,
Ugator joined
|
|||
dalek | ast: fbfe061 | jnthn++ | S17-procasync/basic.t: Fix a test on Windows; avoid a warning. |
19:03 | |
19:09
raiph left
|
|||
dalek | p: a5f24ab | Carlin++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Add more signal codes to constant map |
19:10 | |
p: 878c1b3 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Merge pull request #178 from carbin/moar-signals Add more signal codes to constant map |
|||
rl6-roast-data: 488f5b9 | coke++ | / (5 files): today (automated commit) |
19:13 | ||
kudo/nom: b438c29 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for signals, Moar perf fix. |
|||
kudo/nom: 0207082 | Carlin++ | src/core/signals.pm: add more signal mappings |
19:14 | ||
kudo/nom: 5e91f1e | Carlin++ | src/core/signals.pm: add more signal codes to the Signal enum |
|||
kudo/nom: 8ff2af8 | jonathan++ | src/core/signals.pm: Merge pull request #303 from carbin/nom Handle more signals |
|||
19:15
anaeem1 joined
|
|||
dalek | p: 20e6be9 | rurban++ | 3rdparty/dyncall/configure: on MacPorts need to enforce system /usr/bin/libtool for -static error message: libtool: unrecognized option `-static libtool: Try `libtool --help' for more information. because on macports libtool is taken from /opt/local/bin. -static is a xcode-only aberation. |
19:16 | |
p: 53e0c2c | jonathan++ | 3rdparty/dyncall/configure: Merge pull request #187 from rurban/dyncall-macports on MacPorts need to enforce system /usr/bin/libtool for -static |
|||
19:18
waressearcher2 joined
|
|||
waressearcher2 | so perl6 is different animal than perl5 ? | 19:19 | |
19:20
sqirrel__ joined
|
|||
timotimo | yes | 19:20 | |
vendethiel- | quite so... | 19:21 | |
colomon is not covering himself with glory with this attempt to set up an account for jnthn.... | 19:22 | ||
19:23
ab5tract joined
|
|||
nine | waressearcher2: it's Perl5 with everything that sucks removed and much awesomeness added. | 19:23 | |
waressearcher2 | nine: "everything that sucks", examples ? | 19:25 | |
jnthn | colomon: I'm doing just as well at getting myself dinner :P | ||
jnthn visits the shop :) | |||
bbiab | |||
colomon | o/ | ||
timotimo | \° | ||
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:26 | |
19:27
kjs_ joined
|
|||
nine | waressearcher2: or needing tons of boiler plate like use strict; use warnings; use utf8; use features qw(say unicode_strings ...) | 19:28 | |
19:28
itz_ joined
|
|||
timotimo | nine: weird scoping of $_ | 19:29 | |
it's so weird i don't even understand how it's supposed to work | 19:30 | ||
19:30
itz left
|
|||
nine | timotimo: true. Seen a few problems from that in my career. | 19:31 | |
timotimo | can you explain it to me a bit? | ||
moritz | $_ is globally scoped | ||
but some constructs, such as for (list) local()ize it implicitly | 19:32 | ||
so that they don't clobber the outer $_ | |||
(p5, that is) | |||
19:33
[Coke] joined
|
|||
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:34
Pleiades` left
|
|||
moritz | timotimo: iirc 'given' introduces (or introduced) a lexical $_ instead | 19:35 | |
so if you have sub printit { print $_ }; $_ = 42; for (1) { printint() }; given (1) { printit() }; | 19:36 | ||
it will print 142 | |||
waressearcher2 | timotimo: considering tons of libraries on CPAN that depend on perl5 its not a simple choice | ||
19:36
Pleiades` joined
|
|||
timotimo | waressearcher2: well, you can use Inline::Perl5 to bridge the gap of not-yet-ported perl5 modules | 19:37 | |
nine | waressearcher2: but you'd need to be able to read a bit of P5 at least. | 19:38 | |
19:40
raiph joined
19:42
ab5tract left,
darutoko left
19:45
masak joined
|
|||
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." -- www.perl.com/pub/2005/02/ | 19:45 | |
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! | ||
masak | m: sub postfix:<!>($n) { [*] 2..$n }; say 0! | 19:48 | |
camelia | rakudo-moar dc84db: OUTPUT«1» | ||
masak .oO( just 0! more to go ) | |||
raydiak | good almostnoon #perl6 | 19:49 | |
masak | oh haydiak | 19:50 | |
timotimo | hey raydiak | ||
raydiak | \o masak, timotimo | ||
19:51
kjs_ left
|
|||
raydiak | ecosystem is broken | 19:51 | |
timotimo | all of it? | ||
raydiak | just panda update & panda install :) | ||
19:51
rindolf left
|
|||
raydiak | or is it just me again? | 19:53 | |
timotimo | yeah connection refused | ||
feather(s) got moved or rebooted or something similar | |||
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. | ||
raydiak | ah...yeah something didn't come back | ||
lizmat | good *, #perl6! | 19:54 | |
masak | yeah, feather moved host. | ||
lizmat! \o/ | |||
lizmat | masak colomon jnthn o/ | ||
raydiak | panda pulls from feather.perl6.nl:3000 | ||
lizmat | trying to catch up on back log | ||
raydiak | \o lizmat | ||
lizmat | raydiak o/ | ||
moritz | tadzik: I fear you have to restart the panda meta data server on feather | 19:55 | |
jnthn | hi lizmat :) | ||
lizmat | is there anything I should look at immediately ? | ||
tadzik | moritz: ah, right | 19:57 | |
19:57
synopsebot joined
|
|||
tadzik | heh, I just wrote 'pit bull' instead of 'git pull' | 19:57 | |
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. | ||
Well, guess I can reproduce right away, but the debugging will take a little more :) | |||
Figured you may be a good person to ask since you're in Europe so I'll get low roundtrip times :) | |||
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 | ||
And it's a laptop :) | 20:00 | ||
lizmat | well, 16G, quad core | ||
jnthn | I was more thinking "not sat there in one place all the time" :) | 20:01 | |
jnthn wonders what biscuit tins cost these days... :) | 20:02 | ||
20:03
PacoLinux joined
20:04
sqirrel__ left
20:06
PacoLinux left
|
|||
colomon | lizmat, o\ | 20:08 | |
20:08
gfldex joined
|
|||
colomon | jnthn: yes, my laptop is also a laptop. :) | 20:08 | |
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
20:15
anaeem1 left
|
|||
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 | |
20:15
anaeem1_ joined
20:17
anaeem1_ left,
colomon_ joined
|
|||
osfameron finds www.nntp.perl.org/group/perl.perl6....19348.html | 20:17 | ||
20:17
anaeem1_ joined
20:19
colomon left,
colomon_ is now known as colomon
|
|||
masak | osfameron: yeah, ISTR the associativity changed since then. | 20:19 | |
osfameron: I don't know many others except TimToady++ using => as cons pairs. :) | |||
20:19
bjz left
|
|||
osfameron | can you reduce with [=>] to turn an array into a linked list? | 20:20 | |
20:20
bjz joined
|
|||
jnthn | m: say ([=>] 1, 2, 3, 4).perl | 20:21 | |
camelia | rakudo-moar dc84db: OUTPUT«1 => 2 => 3 => 4» | ||
jnthn | m: say ([=>] 1, 2, 3, 4).value.perl | ||
camelia | rakudo-moar dc84db: OUTPUT«2 => 3 => 4» | ||
jnthn | m: say ([=>] 1, 2, 3, 4).value.key.perl | ||
camelia | rakudo-moar dc84db: OUTPUT«2» | ||
jnthn | Seems right. | ||
osfameron | yay | 20:22 | |
timotimo | also, a year ago or so i made sure the .perl output of Pair will show parens when needed | 20:23 | |
m: say ((1, 2) => (3 => 4, 5 => 6)).perl | 20:24 | ||
camelia | rakudo-moar dc84db: OUTPUT«$(1, 2) => $(3 => 4, 5 => 6)» | ||
timotimo | m: say ( (((1 => 2) => 3) => 4) => 5 ).perl | 20:25 | |
camelia | rakudo-moar dc84db: OUTPUT«(((1 => 2) => 3) => 4) => 5» | ||
timotimo | m: say ( 1 => 2 => 3 => 4 => 5 ).perl | ||
camelia | rakudo-moar dc84db: OUTPUT«1 => 2 => 3 => 4 => 5» | ||
20:27
colomon left
20:28
colomon joined
20:29
anaeem1_ left,
anaeem1_ joined
20:30
bjz left
20:33
anaeem1_ left,
anaeem1_ joined
20:45
telex left
20:46
telex joined,
colomon left,
colomon joined
|
|||
dalek | line-Python: 72c70bf | nine++ | / (3 files): Support passing callables between Python and Perl |
20:50 | |
line-Python: a5eba1b | nine++ | / (3 files): Fix array vs. list confusion |
|||
line-Python: 688a38f | nine++ | / (3 files): Implement inheritance by delegation This allows Perl 6 classes to "inherit" from Python classes. Transparently passes on method calls to the base Python object while allowing the subclass in Perl 6 to override methods. Also still allows accessing the Python object's attributes. |
|||
smls | m: my $x = Date.new(now); say $x; say $x.truncated-to('minute'); | 20:54 | |
camelia | rakudo-moar 8ff2af: OUTPUT«2014-11-232014-11-01» | ||
smls | ^^huh? | ||
shouldn't this throw a X::Temporal::Truncation? | |||
jnthn | m: my $x = Date.new(now); say $x; say $x.truncated-to('m'); | ||
camelia | rakudo-moar 8ff2af: OUTPUT«2014-11-23Cannnot 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» | ||
jnthn | m: my $x = Date.new(now); say $x; say $x.truncated-to('month'); | ||
camelia | rakudo-moar 8ff2af: OUTPUT«2014-11-232014-11-01» | 20:55 | |
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» | ||
jnthn | ah... | ||
smls | X::Temporal::Truncation doesn't exist anymore? | ||
jnthn | Dunno. But @UNITS contains minutes, seconds, etc. | 20:57 | |
And those are explicitly handled by truncated-to in DateTime | 20:58 | ||
The rest fall through to Datish | |||
[Coke] | jnthn: I am awake, and while I cannot give you access to my box, I can be eyes and ears for a bit. | ||
jnthn | But Datish is used for Date too | ||
[Coke]: lizmat++ has got me access to one now | |||
Hopefully I can reproduce it there :) | |||
[Coke] | lizmat++, indeed. Thanks in advance for taking a look! | ||
smls | jnthn: But why does Date truncate to 'month' when given 'minute'? | 20:59 | |
jnthn | smls: Because it looks for year, and if it doesn't get that just assumes month | 21:01 | |
FROGGS_ | smls: look at rakudo/src/core/Temporal.pm:121 | 21:02 | |
smls | S32/Exception lists X::Temporal::Truncation but not X::DateTime::InvalidDeltaUnit :( | ||
dalek | Heuristic branch merge: pushed 16 commits to rakudo/newio by lizmat | ||
smls | FROGGS_: But is the Rakudo implementation "correct", or S32? | 21:03 | |
FROGGS_ | smls: rakudo is at least buggy in this regard | ||
smls | Or asked another way, what should p6doc document? | ||
FROGGS_ | when it comes to exception classes we usually just document what rakudo implements | 21:04 | |
21:05
guru joined,
guru is now known as Guest11066,
Guest11066 is now known as ajr_
|
|||
jnthn | It think this is a Rakudo bug, imo | 21:06 | |
arnsholt | How much work is happening on the Unicode synopsis ATM? | 21:07 | |
21:07
PZt left
|
|||
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:09 | ||
FROGGS_ | arnsholt: not that much, though I expect movement within the next months | 21:10 | |
smls: me too! | |||
21:10
FROGGS_ is now known as FROGGS
|
|||
FROGGS tries to do some RT hackery after finishing preps for $dayjob | 21:11 | ||
jnthn: ahh btw, can you imagine why this comes out Mu at the bottom? gist.github.com/FROGGS/199ccc0d6412e6858217 | 21:13 | ||
jnthn | - QAST::Want+{QAST::SpecialArg} 4 | 21:16 | |
I wonder what's special about it | |||
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 | ||
jnthn | Ah, is that what the Pair constructor expects? | ||
FROGGS | I think so | ||
jnthn | Is the name of it the correct thing, though? | 21:18 | |
timotimo | oh, cool, you're making comma-less stacks of adverbs work? | 21:19 | |
i like that | |||
FROGGS | I guess it is more like: key => c, value => 3 | 21:20 | |
but I'll not in a bit | |||
timotimo: yes, for (...) since yesterday | |||
curlies after that | 21:21 | ||
timotimo | cool | ||
does it already work after method and sub calls that have parens? | |||
like | |||
m: sub test($a, $b, *%f) { say %f.perl }; test(1, 2) :hello :goodbye | |||
camelia | rakudo-moar 8ff2af: OUTPUT«("goodbye" => Bool::True, "hello" => Bool::True).hash» | ||
timotimo | ah, neat | ||
21:22
sqirrel__ left
|
|||
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 | |
wich feels odd | |||
21:23
vti left
|
|||
FROGGS | I rename the latter to 'value' now... | 21:23 | |
the original code that fiddled with loose adverbs did this: | 21:25 | ||
my $name := compile_time_value_str($_[1], 'LHS of pair', $/); | |||
%named_counts{$name} := +%named_counts{$name} + 1; | |||
$_[2].named($name); | |||
uhh, my code works \o/ | 21:26 | ||
timotimo | your code works \o/ | ||
FROGGS | *g* | ||
m: say Pair.new() | 21:27 | ||
camelia | rakudo-moar 8ff2af: OUTPUT«Any => Mu» | ||
FROGGS | m: say Pair.new( foo => bar ) | ||
camelia | rakudo-moar 8ff2af: OUTPUT«===SORRY!=== Error while compiling /tmp/JEjB234R0eUndeclared routine: bar used at line 1. Did you mean 'bag'?» | ||
FROGGS | m: say Pair.new( foo => 'bar' ) | ||
camelia | rakudo-moar 8ff2af: OUTPUT«Any => Mu» | ||
FROGGS | m: say Pair.new( key => 'foo', value => 'bar' ) | ||
camelia | rakudo-moar 8ff2af: OUTPUT«"foo" => "bar"» | ||
lizmat | FROGGS: eh, say Pair.new( foo => 'bar' ) isn't that a bit recursive ? :-) | 21:29 | |
putting a Pair as a parameter to a new Pair ? :-) | |||
FROGGS | :P | ||
yeah, perhaps | |||
now you have to create two pairs to get one | |||
21:30
anaeem1_ left
|
|||
FROGGS | well, "now" | 21:30 | |
lizmat | but I guess we could make a Pair.new candidate that takes a Pair ? | ||
dalek | kudo/RT123215: 662ebf3 | (Tobias Leich)++ | src/Perl6/Actions.nqp: fix value of chained colonpairs in ( ) |
||
21:30
anaeem1_ joined
|
|||
FROGGS | I don't favour a change without a strong reason | 21:30 | |
21:35
anaeem1_ left
|
|||
masak | 'night, #perl6 | 21:35 | |
FROGGS | gnight masak | 21:36 | |
21:36
cognominal left
|
|||
timotimo | gnite masak | 21:37 | |
21:38
PZt joined
21:44
erkan left
21:49
virtualsue left
|
|||
dalek | kudo/nom: 55d59e4 | (Tobias Leich)++ | src/Perl6/ (2 files): attempt to fix RT #123215 |
21:49 | |
kudo/nom: 2b6e77e | (Tobias Leich)++ | src/Perl6/Actions.nqp: fix value of chained colonpairs in ( ) |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123215 | ||
21:50
raiph left
21:52
ajr_ left
21:53
anaeem1_ joined
21:57
virtualsue joined
21:58
GladiaTeur joined
22:03
Alula left
22:05
rurban joined
22:06
exixt is now known as EXIXT,
kaare__ left
22:08
erkan joined,
erkan left,
erkan joined
22:12
raiph joined
22:14
cognominal joined
22:17
Alula joined
|
|||
dalek | kudo/nom: c40c1b8 | (Tobias Leich)++ | src/Perl6/ (2 files): fix chained colonpairs in curlies, resolves RT #123215 |
22:20 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123215 | ||
timotimo | cool | ||
FROGGS | I had expected that it would be harder | 22:21 | |
22:22
anaeem1_ left,
anaeem1_ joined
22:26
erkan left
22:27
anaeem1_ left
|
|||
timotimo | i'm glad it was apparently easy :) | 22:30 | |
dalek | ast: d44aa84 | (Tobias Leich)++ | S02-types/pair.t: [RT #123215] add tests for chained colonpairs |
22:36 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123215 | ||
22:39
firefish5000 joined
22:41
EXIXT is now known as exixt
22:44
smls left,
[Sno] left
22:45
[Sno] joined
22:50
raiph left
22:51
El_Che left
22:53
El_Che joined,
denis_boyun_ left
22:54
ugexe left
22:59
FROGGS left
23:05
ugexe joined,
Ugator left
23:09
raiph joined
|
|||
lizmat | good night, #perl6! | 23:13 | |
raydiak | good night lizmat o/ | ||
23:14
ugexe left
23:31
gfldex left
23:37
rurban left
|
|||
raydiak | apparently I've ended up half way towards building a toy functional language using perl 6 as a backend: github.com/raydiak/Math-Symbolic/b...s.t#L21-25 | 23:42 | |
23:43
raiph left
|
|||
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 | 23:47 |