»ö« 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. |
|||
00:00
gtodd joined,
_slade_ joined
|
|||
colomon | Okay, so here's the thing which (right now) I don't get about pmichaud++'s blog post. | 00:01 | |
We don't have lazy for (except maybe in certain cases I don't understand?) right now. | 00:02 | ||
unless we do? MapIterator is lazy, is for internally translated to MapIterator is some cases? | 00:03 | ||
I guess if map can be lazy, any loop probably can too. | |||
TimToady | sink is eager, and most for loops are in sink context | ||
the inside list is still lazy, however | 00:04 | ||
00:04
lue joined
|
|||
pmichaud | (arithmetic grammars) Perl 6 already has a layer of awesome available, in that Perl 6 itself uses an expression parser. All we need to do is expose it or write a library to make it easier for P6 programmers to utilize. | 00:04 | |
TimToady | because we want the opportunity to 'last' out of a loop before evaluating the entire list | ||
colomon | TimToady: you're talking about the input to for, which agreed, has to be lazy. | 00:05 | |
pmichaud | colomon: the short answer to your question is that "for @list { block }" is internally translated to [email@hidden.address] block })" | ||
(I'm talking about current implementation, not necessarily what will be after GLR) | |||
At the moment I'm guessing map has become opportunistic, probably in the pursuit of increasing performance. | 00:06 | ||
colomon | pmichaud: nope, if I switch my previous script to use map, it's lazy. | 00:07 | |
(I mean, the output is 1 2 3 4 16 instead of the 1 2 3 4 5 … 20 16 that I got using for.) | |||
00:08
ghostlines joined
|
|||
pmichaud | colomon: then I'm guessing that 'for' is not detecting context properly, and is doing something eager/sinky in your example code. | 00:08 | |
colomon | pmichaud: am I correct in thinking the basic idea here is if you can do lazy MapIter without gather / take, then you can also do lazy WhileIter, etc.? | 00:10 | |
pmichaud | colomon: MapIter was designed to be lazy, yes. | ||
TimToady | is that the range optimization getting in the way somehow? | ||
pmichaud | TimToady: I don't know, since I don't know what all has been changed. I'm looking now. | 00:11 | |
TimToady | I mean the one that turns it into loop() | ||
not the one I did that batches ranges | |||
pmichaud | I don't know anything about "turns it into loop()". That's news to me. | 00:12 | |
00:12
Mouq left
|
|||
pmichaud | It looks to me as though Rakudo has statement_control:sym<for> as either eager or sink. | 00:12 | |
colomon | gist.github.com/colomon/836e41416febdf9e6a0a # no range, still not lazy | 00:13 | |
pmichaud | Thus "for" is currently translating into @list.map({ block }).eager | ||
colomon | that would explain it. | ||
TimToady | well, it's not supposed to do that unless it's at statementlist level | ||
pmichaud | actually, it should never be "eager". | ||
TimToady | right | ||
sink or direct to map | 00:14 | ||
pmichaud | Right now "for" is "sink" when at statementlist level, "eager" otherwise. | ||
TimToady | an "overeager" optimizization | ||
pmichaud | anyway, post-GLR it'll be either sink or pass through the laziness level wanted by source and target | ||
TimToady | hopefully GLR will speed up both lazy and non-lazy processing | 00:15 | |
pmichaud | oh, I'm 95% certain it will. Perhaps even very dramatically. | 00:16 | |
TimToady | one thing we didn't talk about much at the hackathon was the relationship with code purity | ||
if you know you have no side effects (such as .say), you can optimize more batchily without concern | 00:17 | ||
pmichaud | We can certainly look at that as well. | ||
It should be no problem. | |||
colomon: anyway, MapIter goes away, to be replaced by LoopIter that has the smarts for all sorts of loop-level control. | |||
TimToady | so colomon++'s test code would perhaps behave differently without the .say | 00:18 | |
unless we have a way of saying "pretend this code is pure" | |||
pmichaud | TimToady: correct. But how would you know if the block calls a function that calls .say ? | ||
Or do we automatically check for purity of all things being called? | |||
TimToady | has to be transitive, for sure | ||
colomon would love it if there was a way to say "This block is pure" | 00:19 | ||
explicitly, I mean. | |||
pmichaud | I'd be fine with an option to :map for that. | ||
er, .map | |||
TimToady | and a pure gather/take can work ahead with impunity as well | ||
pmichaud | I already need a way to flag things for gather/take | ||
adverbs would be okay. | |||
I want to be able to signal infinite gather/take | |||
TimToady | a few hints to the negotiators would go a long way | 00:20 | |
pmichaud | I'm at a DFW.pm meeting so need to focus on what they're saying :) | ||
syntactically I'm still looking for marking a gather/take as infinit. | |||
*infinite | |||
I'm also okay with the once speculated: ( gather { ... }, * ) | 00:34 | ||
I should probably open a specs issue ticket for that :) | 00:47 | ||
00:50
PZt left
00:51
leont left
00:58
dayangkun joined
|
|||
BenGoldberg | GLR == Great List Revision? | 01:00 | |
01:00
Hor|zon joined
|
|||
pmichaud | Great List Refactor | 01:01 | |
perlcabal.org/syn/S99.html#GLR | |||
BenGoldberg | Well, for a WAG, I came pretty close :) | 01:04 | |
01:05
Hor|zon left
01:07
aborazmeh left
01:09
dayangkun left
01:12
Khisanth joined
01:13
Mso150 joined
01:39
JimmyZ joined
|
|||
JimmyZ | pmichaud: Is it same as NQP? irclog.perlgeek.de/perl6/2014-10-16#i_9516313 | 01:39 | |
01:40
jack_rabbit left
01:46
ilbot3 left,
davido__ joined
01:47
ilbot3 joined
01:48
flaviusb joined
01:50
Mso150 left
02:01
xenoterracide joined
02:07
gtodd left
02:08
gtodd joined
02:15
gtodd left
02:17
ghostlines left
02:18
gtodd joined
02:23
gtodd left
02:28
Khisanth left
02:30
stux|RC-only left
02:40
Khisanth joined
02:47
noganex joined
02:52
yeahnoob joined
02:54
stux|RC-only joined
|
|||
raydiak | gist.github.com/raydiak/5f84ddc0c3255a1ae630 | 02:55 | |
^ is there a more elegant way to say that? | |||
thought I remembered there being some built-in way to match brackets, but can't remember or find it yet | 02:57 | ||
02:57
pdcawley joined
03:00
davido__ left
|
|||
JimmyZ | raydiak: github.com/moritz/json/blob/master...Grammar.pm | 03:01 | |
03:01
davido__ joined,
Hor|zon joined
|
|||
raydiak | that ~ thing is interesting | 03:03 | |
03:05
Hor|zon left
03:10
molaf joined
03:17
mauke_ joined
03:19
stux|RC-only left
03:21
mauke left
03:23
stux|RC-only joined
03:24
pierrot left,
pierrot joined
03:25
mauke_ is now known as mauke
03:28
molaf left
03:35
BenGoldberg left
|
|||
ezra1 | how do if find out the status of perl6 on the jvm (like interop) | 03:36 | |
JimmyZ | run some test code and run it? | 03:37 | |
03:40
BenGoldberg joined
|
|||
ezra1 | gonna try to convert a libgdx example and see how it goes | 03:42 | |
03:44
kaare_ joined
03:45
yeahnoob left
03:55
aborazmeh joined
03:59
xenoterracide left,
xenoterracide joined
04:02
flaviusb left
04:08
stux|RC-only left
04:09
Ben_Goldberg joined
04:11
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
04:12
anaeem1 joined,
anaeem1 left,
anaeem1_ joined
04:13
stux|RC-only joined
04:24
aborazmeh left
04:30
kaare_ left
04:31
anaeem1_ left
04:32
anaeem1 joined
04:45
ggoebel11111111 joined
04:46
aborazmeh joined
04:49
aborazmeh left
04:50
ptc_p6 joined
04:56
kaare_ joined
05:02
Hor|zon joined
05:05
ptc_p6 left
05:06
Hor|zon left
|
|||
tony-o | m: for (1) -> \2 { 2.say; } | 05:16 | |
camelia | rakudo-moar af95ac: OUTPUT«===SORRY!=== Error while compiling /tmp/LQ3xtz6om1Missing blockat /tmp/LQ3xtz6om1:1------> for (1) -> \⏏2 { 2.say; } expecting any of: formal parameter new term to be defined …» | 05:17 | |
05:23
gfldex joined
05:27
BenGoldberg left
05:43
ecocode joined
05:50
SamuraiJack joined
05:53
jack_rabbit joined
05:54
ecocode` joined,
ecocode left,
ecocode` left
05:55
ecocode joined
05:59
xenoterracide left
06:02
bartolin joined
06:04
xenoterracide joined
06:05
nebuchadnezzar joined
06:13
kurahaupo joined
06:19
darutoko joined
06:25
peteretep joined
06:26
kaleem joined
06:29
virtualsue joined
06:34
bbkr joined
06:42
gfldex left
|
|||
dalek | ast: 7192d95 | usev6++ | S04-declarations/implicit-parameter.t: Add test for RT #114696, fix and unfudge 2 related tests |
06:45 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=114696 | ||
06:54
pepl joined
06:57
bjz joined
|
|||
dalek | ast: 02a309e | usev6++ | S11-modules/import.t: Add test for RT #118231 |
06:59 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118231 | ||
07:02
FROGGS joined
07:03
Hor|zon joined
07:07
rurban joined,
Hor|zon left
|
|||
moritz | \o | 07:11 | |
bartolin | good morning moritz | 07:12 | |
rurban | I wrote branch and one week long code about \o | 07:17 | |
07:19
rindolf joined
|
|||
FROGGS | o/ | 07:19 | |
yoleaux | 15 Oct 2014 20:25Z <jnthn> FROGGS: will be happy to review the patch | ||
07:21
rurban left
07:22
rurban joined
|
|||
masak | good moarning, #perl6 | 07:34 | |
FROGGS | morning masak | 07:37 | |
tadzik | goo moo maa | 07:38 | |
masak | m: say (<c f g m> X~ <aa oo>).roll xx 3 | 07:41 | |
camelia | rakudo-moar af95ac: OUTPUT«gaa goo moo» | ||
masak | :) | ||
tadzik: gaa goo moo! | |||
dalek | ast: ece6378 | usev6++ | S09-typed-arrays/arrays.t: Add test for RT #119061 |
07:42 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=119061 | ||
07:47
vike joined,
jack_rabbit left
07:48
ghostlines joined,
zakharyas joined
07:49
Mso150 joined
07:53
abraxxa joined,
Hor|zon joined
|
|||
dalek | kudo/nom: 4a4f17f | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm: Deprecate just *after* the indicated release |
07:55 | |
FROGGS | m: say v2014.10 | 08:03 | |
camelia | rakudo-moar af95ac: OUTPUT«v2014.10» | ||
FROGGS | I believe I should update the changelog about two or three things I did before I forget ... | 08:04 | |
masak | +1 | ||
dalek | kudo/nom: a573abf | moritz++ | docs/ChangeLog: [ChangeLog] document Str.trans improvements |
08:08 | |
08:09
kjs_ joined
08:13
brrt joined
08:15
virtualsue left
|
|||
brrt | \o | 08:15 | |
08:19
ptc_p6 joined
|
|||
masak | m: say <z r>.map(* ~ *).map({"b{$_}t!"}).join(" good morning ") | 08:20 | |
camelia | rakudo-moar af95ac: OUTPUT«(timeout)» | 08:21 | |
moritz | m: say <z r>.map(* ~ *).map({"b{$_}t!"}).join(" good morning ") | ||
maybe it works the second time, when the caches are warm | |||
camelia | rakudo-moar af95ac: OUTPUT«(timeout)» | ||
masak | m: say <z r>.map({"b{$_ ~ $_}t!"}).join(" good morning ") | ||
camelia | rakudo-moar af95ac: OUTPUT«bzzt! good morning brrt!» | 08:22 | |
masak | fixed a bug on the way :) | ||
moritz | aye, * ~ * consumes two args | ||
masak | right. | ||
moritz | m: say <z r>.map(* x 2).map({"b{$_}t!"}).join(" good morning ") | ||
brrt | \o masak | ||
camelia | rakudo-moar af95ac: OUTPUT«(timeout)» | ||
brrt | good UGT :-) | 08:23 | |
moritz hates host08 with a passion | |||
masak | m: say <z r>.map({"b{$_ ~ $_}t!"}).join(" good UGT ") | ||
moritz | Juerd: ping | ||
camelia | rakudo-moar af95ac: OUTPUT«(timeout)» | ||
masak | ran the spectests just now. failing test file t/spec/S17-procasync/print.rakudo.moar | 08:25 | |
Non-zero exit status: 255 | 08:26 | ||
Parse errors: Bad plan. You planned 16 tests but ran 11. | |||
trying again to check for flappitude. | |||
dalek | ast: e203199 | usev6++ | S02-types/hash.t: Extend test for RT #116597 |
08:29 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116597 | ||
08:34
pecastro joined
08:36
Mso150 left
08:37
dakkar joined
08:39
Hor|zon left
|
|||
moritz | masak: looks flappy; I just got three TODO passed fromt he same file | 08:48 | |
masak | aye. | ||
rand it again. | |||
ran* | |||
TODO passed: 12-14 | |||
tadzik | rand it again :P | ||
jnthn | rand indeed :P | ||
masak | so... quarantine the file? | ||
moritz | Ayn Rand it again? | 08:49 | |
masak | do we have a quarantine/ directory where we put flappy test files? | ||
FROGGS | masak: not yet | 08:51 | |
masak: what about marking them flappy in *our* spectest.data? | |||
because it is rakudo's fault, not a spec issue | |||
and these flappy tests are only run for authors, determined by a certain env var | 08:52 | ||
masak | well, I was hunting for a solution that is visible in the final test report. | ||
so that when I see failing tests I go "oh, they're failing, but they're flappy" | 08:53 | ||
FROGGS | hmmm | ||
would be nice to be able to tag tests as FLAPPY like we can tag them TODO | 08:54 | ||
masak | yes. | ||
so it's a fudging thing. | |||
would be nice if we had a fudger that we understood well enough to extend/modify :) | 08:55 | ||
FROGGS | now we'd need someone that knows a little about TAP parser implementations... *cough* leont *cough* | ||
jnthn | I'd say a solution that goes outside of what TAP provides is probably a little over-engineered... :) | 08:56 | |
FROGGS | jnthn: you are always spoiling the fun :P | ||
08:57
azawawi joined
|
|||
jnthn | Of course... :P | 08:57 | |
azawawi | hi perl6 | ||
azawawi started to read the Perl 6 book :) | 08:58 | ||
jnthn also hopes that our flappy tests are a fairly temporary affliction that won't need a long-term solution... | |||
masak | are we anywhere near knowing the cause(s) of flappy tests? | 08:59 | |
FROGGS | I have no idea, that is what I know | 09:00 | |
masak | :) | ||
moritz | I think in the case the reason is "doing stuff in parallel is hard" | 09:01 | |
brrt | that's not an excuse though :-) | ||
brrt thinks that given enough time we would find it out | 09:02 | ||
09:04
virtualsue joined,
brrt left
09:05
Hor|zon joined
09:06
pmurias joined
|
|||
pmurias | are TODO tests passing a bad thing? | 09:06 | |
09:07
brrt joined,
_slade_ left
|
|||
moritz | pmurias: depends on the context | 09:07 | |
during development, it's good; it means you've implemented or corrected stuff | 09:08 | ||
in a release, it's a bad sign, because it means the developers haven't maintained their test cases well | |||
and if it's sometimes passing and sometimes not, it's always bad | 09:09 | ||
dalek | ast: aeed867 | usev6++ | S06-other/misc.t: Add test for RT #118875 |
09:10 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118875 | ||
arnsholt | A passing TODO is often a smell of some kind | 09:12 | |
Unless, as moritz said, it's tests for the bug/feature you're working on right now | |||
09:18
rmgk_ joined,
rmgk_ is now known as rmgk
09:21
FROGGS left
09:22
bjz left
09:27
moukeddar joined
09:32
pecastro left
09:33
FROGGS joined
09:34
pecastro joined
09:36
virtualsue left
|
|||
timotimo | o/ | 09:37 | |
masak | \o | 09:38 | |
09:39
fhelmberger joined
09:45
leont joined
09:49
leont left,
virtualsue joined
09:53
Hor|zon left
09:56
SamuraiJack left
10:01
kshannon joined
10:02
cibs joined
10:04
Hor|zon joined,
mmcleric left
10:09
bjz joined
10:23
JimmyZ left
10:29
denis_boyun_ joined
10:30
zakharyas left
10:35
TuxCM joined
|
|||
timotimo | i haz my powerball ♥ | 10:51 | |
10:56
mmcleric joined
10:57
anaeem___ joined,
anaeem___ left
10:58
anaeem1_ joined,
zakharyas joined,
anaeem1 left
11:00
bjz left
|
|||
daxim | this is so unelegant <stackoverflow.com/a/26402516> (dynamic dispatch/invocation) | 11:02 | |
yoleaux | 28 Sep 2014 11:30Z <FROGGS_> daxim: Please make sure that patch get manually applied to the libtommath that get bundled by opensuse | ||
daxim | moritz, can you modify yoleaux to provide a permalink to irclog instead of that naked timestamp? | 11:03 | |
timotimo | oooh | ||
that's not a bad idea | |||
.o( except yoleaux isn't ours ) | |||
daxim | ah crap | ||
11:04
SamuraiJack joined
|
|||
timotimo | but i think the yoleaux developer is very open to plugins | 11:04 | |
actually | |||
synopsebot could parse yoleaux' output, bunch a few lines together and give links to the irclog | |||
or something like that | |||
11:16
leont joined
|
|||
leont | Would GLR break xAB(self, @also).map(...)xBB? | 11:17 | |
11:18
bbkr left
|
|||
jnthn | Yes, think so. That's one that'd need s/map/for/ | 11:18 | |
11:18
bbkr joined
|
|||
jnthn | Or map { ... }, self, @also; | 11:18 | |
Depending on what looks nicest. | 11:19 | ||
11:19
SamuraiJack left
|
|||
leont | I though so | 11:20 | |
jnthn is happy that there is at least now easy rules to answer these questions... | 11:21 | ||
timotimo | how about (self, |@also).map(...), will that even work at all? | ||
i don't think it will | |||
jnthn | No | 11:22 | |
11:29
bjz joined
11:30
anaeem1_ left,
anaeem1 joined
|
|||
nine_ | Piece of advise: treat flapping tests as failing tests. Because that's what they are. The fact that they sometimes pass is of no use to anyone. You cannot build on that. A user cannot rely on that. | 11:30 | |
masak | +1 | ||
they are worse than failing tests, though. | 11:31 | ||
that's why we should quarantine them. | |||
nine_ | They are failing tests that are harder to diagnose. | ||
I'd say TODO is just the right thing for them. It means "yes, we know this fails and we will fix it later". Exactly what you want to do with those flappies. | 11:32 | ||
peteretep | An alternative to TODO is making things TODO until a certain date | 11:37 | |
moritz | that only helps if you have a time-based development methodology | ||
11:42
kaleem left
11:45
Akagi201 joined,
rurban left
11:46
Akagi201_ joined
11:47
Akagi201 left
11:48
mmcleric left
|
|||
Juerd | moritz: pong and afk | 11:49 | |
11:50
Mouq joined
|
|||
moritz | Juerd: when you're bak, do you know how much traffic the feather hosts use up? | 11:51 | |
Juerd: oh, just saw in the search that you've answered that question. Never mind then | |||
11:52
Hor|zon left
11:53
kjs_ left
11:57
ezra1 left
12:05
ptc_p6 left
12:06
colomon left
12:10
Mouq left,
Mouq joined
|
|||
FROGGS | ahh, moritz++ is on a mission :o) | 12:11 | |
PerlJam | guten morgen #perl6 | 12:12 | |
FROGGS | PerlJam: moin :o) | 12:13 | |
moritz | FROGGS: do you think 1U is enough? Or should I go for 2U? | ||
FROGGS | moritz: I have no idea what the diff in CPU/RAM/extras is | 12:14 | |
12:15
colomon joined
|
|||
moritz | FROGGS: there's primary a difference in available space :-) | 12:15 | |
PerlJam | moritz: Are you going to setup a replacement for feather? | ||
moritz | PerlJam: that's the plan, kind | ||
PerlJam | moritz++ | 12:16 | |
moritz | PerlJam: I have good chances to convince my employer (who does, among other things, hosting and colocation) to give us some rack space for free | ||
maybe for a logo at the bottom of perl6.org or doc.perl6.org | |||
PerlJam: and FROGGS++ would donate a server to install there | 12:17 | ||
FROGGS | moritz: well, partially at least, depends on how much it is at the end | ||
moritz | FROGGS: I wasn't assuming that I buy whatever I want and you pay :-) | 12:18 | |
FROGGS | :o) | ||
PerlJam | A 2U would be nice if you needed disks for some RAID configuration. | ||
12:18
Hor|zon joined
|
|||
dalek | kudo-star-daily: db9d9ed | coke++ | log/MoarVM-version.log: today (automated commit) |
12:19 | |
rl6-roast-data: 9dff240 | coke++ | / (4 files): today (automated commit) |
|||
12:23
Hor|zon left
12:31
kaleem joined
12:33
Mouq left
|
|||
[Coke] | (flapping) neither todo nor skip is quite right, but skip is preferable from an automated testing standpoint. | 12:34 | |
12:34
rindolf left
|
|||
[Coke] | (at least if todo'd, be sure to include "FLAP" somewhere so we don't have arguing commits about passing vs. failing) | 12:35 | |
12:35
rurban joined
|
|||
masak | +1 | 12:36 | |
PerlJam | When a test has been flapping, how do we decide that it's no longer flapping? | 12:38 | |
FROGGS | we need to debounce it, clearly :o) | ||
(over several systems) | |||
[Coke] | PerlJam: "when was the last time it failed on the daily runs" is a good first approximation | 12:40 | |
we had several tests that would fail every other day. | 12:41 | ||
PerlJam | If we marked tests as flappy we could get a more automatic "time since last flap" indicator. | 12:42 | |
12:43
rindolf joined
|
|||
FROGGS | +1 | 12:47 | |
daxim | rakudo: sub foo_bar { 42 }; say foo_bar | ||
camelia | rakudo-{parrot,moar} a573ab: OUTPUT«42» | 12:48 | |
FROGGS | we could fudge it as #?rakudo.moar flap ..., and it would turn it into a TODO that includes the word "FLAP" | ||
daxim | rakudo: sub foo_bar { 42 }; my $fname = 'foo_bar'; say $fname.() | ||
camelia | rakudo-parrot a573ab: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Str' in any at gen/parrot/BOOTSTRAP.nqp:1712 in block <unit> at /tmp/tmpfile:1» | ||
..rakudo-moar a573ab: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block <unit> at /tmp/tmpfile:1» | |||
daxim | what's the invocation syntax here? | ||
PerlJam | FROGGS: sounds good to me. | 12:49 | |
moritz | daxim: &::($name) | ||
FROGGS | PerlJam: though, in the summary it would only show "TODO passed: 12, 14" | ||
which does not help at all | 12:50 | ||
moritz | m: sub foo_bar { 42 }; my $fname = 'foo_bar'; say &::($fname)() | ||
camelia | rakudo-moar a573ab: OUTPUT«42» | ||
moritz | daxim: ^^ | ||
daxim | rakudo: sub foo_bar { 42 }; say &::('foo_bar')() | 12:51 | |
camelia | rakudo-{parrot,moar} a573ab: OUTPUT«42» | ||
daxim | good | ||
moritz | also | ||
m: sub foo_bar { 42 }; my $fname = '&foo_bar'; say ::($fname)() | |||
camelia | rakudo-moar a573ab: OUTPUT«42» | ||
moritz | you're flexible about where the sigil is | ||
daxim | oh gosh, I don't like that at first glance | 12:52 | |
PerlJam | FROGGS: then we make the harness smarter so that it calls out flapping tests explicitly separate from TODOs :) | ||
FROGGS: something like : FLAP passed: 12, 14 (this time) | |||
:) | |||
FROGGS | PerlJam: that is where jnthn started to spoil it :o) | 12:53 | |
but yes, I'd like to see that | |||
daxim: well, then start do dislike calling subs indirectly :o) | |||
brb | |||
PerlJam | daxim: yeah, why /do/ you want to call a sub in this manner? | 12:54 | |
daxim | for porting perl5 code | ||
12:55
Hor|zon joined
|
|||
moritz | there are genuine use cases, usually related to DSLs or something like that | 12:55 | |
12:56
salv0 joined
|
|||
PerlJam | aye, but the P5er in me starts off with "don't do that!" :) | 12:56 | |
12:56
anaeem1 left
|
|||
moritz | ... except when you generate accessors, or what not | 12:57 | |
PerlJam: I think daxim has been helping p5ers long enough to know when to use a hash instead :-) | |||
12:57
PP__ joined
|
|||
PerlJam | funnily enough, I have some P5 code that calls subs in this manner that I'm modifying right now | 12:59 | |
(not changing that aspect of the code though) | |||
13:01
kaare_ left
13:05
kaleem left
13:07
PP__ left
|
|||
pmichaud | good morning, #perl6 | 13:07 | |
PerlJam | greetings pm | ||
masak | pmichaud! \o/ | 13:08 | |
TimToady | morning! | 13:09 | |
13:09
wtw joined
|
|||
pmichaud | TimToady: still on .eu time? ;-) | 13:09 | |
bbiab, kid to school | 13:10 | ||
13:10
flaviusb joined
|
|||
TimToady | about on EST now... | 13:11 | |
13:13
guru joined,
guru is now known as Guest78125
|
|||
azawawi | hi | 13:14 | |
PerlJam | hello azawawi | ||
13:15
JimmyZ joined
|
|||
azawawi | how does one 'return' from an END block in Perl 6? | 13:15 | |
moritz | m: END { say 42; return; say 23 } | ||
camelia | rakudo-moar a573ab: OUTPUT«42===SORRY!===Attempt to return outside of any Routine» | ||
moritz | azawawi: not, it seams | ||
*seems | |||
azawawi | m: END { return; } | ||
camelia | rakudo-moar a573ab: OUTPUT«===SORRY!===Attempt to return outside of any Routine» | ||
azawawi | std: END { return; } | 13:16 | |
moritz | azawawi: in theory with 'leave', but that's NYI | ||
camelia | std bd22b5c: OUTPUT«ok 00:01 140m» | ||
azawawi | NYI? | ||
moritz | not yet implemented | ||
13:16
Guest78125 is now known as ajr_
|
|||
azawawi | :) | 13:16 | |
moritz | m: END { leave; say 42 } | ||
camelia | rakudo-moar a573ab: OUTPUT«===SORRY!=== Error while compiling /tmp/RnYVlxP60lUndeclared routine: leave used at line 1» | ||
PerlJam | What would "return" mean in an END block, anyway? | ||
TimToady | um, END is not a sub | ||
nor is main | 13:17 | ||
moritz | FROGGS: wouldn't implementing 'leave' be a nice project? :-) | ||
masak | m: foo: say "OH HAI"; END { goto foo } | ||
camelia | rakudo-moar a573ab: OUTPUT«===SORRY!=== Error while compiling /tmp/V8lyjq903zUndeclared routine: goto used at line 1» | ||
masak | oh right. labels, but no goto. | ||
n: foo: say "OH HAI"; END { goto foo } | |||
camelia | niecza : OUTPUT«Cannot open assembly './run/Niecza.exe': No such file or directory.» | ||
moritz | m: foo: END { last foo } | ||
camelia | rakudo-moar a573ab: OUTPUT«Unhandled exception: No exception handler located for last_label at src/gen/m-CORE.setting:12274 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:<anon>:48) from src/gen/m-main.nqp:50 (/home/p6eval/rakudo-inst-1/languages/p…» | ||
azawawi | but the question is, why isnt it a sub...? | 13:18 | |
for consistency that is | |||
moritz | azawawi: because there's no 'sub' keyword in front | ||
m: sub END { return } | |||
camelia | ( no output ) | ||
moritz | m: sub END { say 42; return } | ||
camelia | ( no output ) | ||
pmichaud | back | 13:19 | |
END is a phaser, much like LAST NEXT REDO FIRST etc. | 13:20 | ||
PerlJam | azawawi: if you mean for "return" to stop executing the END block, you can always wrap the conditional part of the END block in an if statement. | ||
azawawi | I see. Thanks for the explanation :) | ||
so END phases things out... :) | 13:21 | ||
dalek | kudo/nom: 329ed92 | moritz++ | docs/ROADMAP: [ROADMAP] mention leave |
13:22 | |
azawawi | now the question is why rakudo did not catch that obvious error until it hit it | 13:24 | |
the thing is `panda install Farabi6` was failing | 13:25 | ||
moritz | azawawi: because returns are dynamically scoped | ||
m: my $double = -> $x { return 2 * $x }; sub foo($x) { $double($x) }; say foo 42 | 13:26 | ||
camelia | rakudo-moar a573ab: OUTPUT«84» | ||
13:26
bjz left
|
|||
moritz | this is valid | 13:26 | |
JimmyZ | pmichaud: I had a question : irclog.perlgeek.de/perl6/2014-10-16#i_9516580 | ||
moritz | so it's kinda hard to come up with a general analysis that complains about return in blocks but doesn't make the above a false positive | ||
azawawi | i see | 13:27 | |
azawawi `panda install Farabi6` is working again :) | |||
azawawi blames himself for not testing it | |||
pmichaud | JimmyZ: I'm not sure I understand the question. | 13:28 | |
JimmyZ: are you asking if 'for' in NQP does a .map? | |||
azawawi | timotimo: ping | ||
JimmyZ | pmichaud: yeah | ||
TimToady | moritz: return is defined to be lexotic | ||
so that code is incorrect | |||
pmichaud | JimmyZ: no, NQP doesn't have a .map. It does the 'for' directly, and it's not lazy. | 13:29 | |
JimmyZ | pmichaud: Thanks | ||
pmichaud | and I'm pretty sure that 'for' in NQP doesn't return a list. | ||
moritz | iirc nqp just has a sub map | 13:30 | |
13:30
bjz joined
|
|||
moritz | not even that | 13:30 | |
dalek | ast: 4295bfc | usev6++ | S32-list/ (2 files): Add tests for RT #118755 |
13:33 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118755 | ||
13:37
brrt left
13:42
anaeem1_ joined
|
|||
FROGGS | moritz: probably, yes | 13:49 | |
moritz: though, open(:nl) first | |||
PerlJam | Why is the number of lines read called "ins"? It keeps making me think "insert" more than anything else | 13:53 | |
13:53
SamuraiJack joined
|
|||
moritz | "in"s vs "out"s | 13:54 | |
PerlJam | Do we have an outs method/sub for lines written to a IO handle? | 13:55 | |
moritz | bartolin: do you have a list of test files for me that could be included in rakudo's t/spectest.data? | 14:00 | |
pmichaud | well, although my sleep schedule is definitely back on US time, my eating schedule is not. I'm starving for lunch, and it's only 9:07. :-/ | 14:07 | |
jnthn | pmichaud: I think that's called "breakfast" :P | 14:08 | |
PerlJam | maybe "second breakfast" | 14:09 | |
pmichaud | jnthn: I'd call it breakfast if I was craving breakfast-y items. Right now I'm wanting a corned beef sandwich. | ||
jnthn | Well, a sandwich would pass as breakfast in Sweden...hack, in UK too if you put bacon or sausage in it :) | 14:10 | |
*heck | |||
dalek | kudo/nom: a6f181e | moritz++ | t/spectest.data: Run now-passing test files, bartolin++, hoelzro++ |
||
pmichaud | either way, the restaurant(s) that sell what I'd like to eat aren't open yet. :-( | ||
jnthn | Aww :( | ||
.oO( sudo open up and make me a sandwich ) |
14:11 | ||
pmichaud | have to be careful with those root powers... might actually turn a person into a sandwich. | ||
JimmyZ | I sometimes read breakfast as break it fast :/ | 14:12 | |
moritz | well, breakfast is breaking the night's fast (fasting = not eating) | 14:13 | |
so it's pretty close :-) | |||
JimmyZ | :) | 14:14 | |
14:14
Mouq joined
|
|||
JimmyZ | break the cup fastly :P | 14:15 | |
[Coke] | bartolin: note that in the test for RT#118231, you're actually importing Test 3 times. | 14:19 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118231 | ||
masak | m: $*OUT.outs | 14:20 | |
m: say $*OUT.outs | |||
PerlJam: yes. | |||
camelia | rakudo-moar a573ab: OUTPUT«(timeout)» | 14:21 | |
masak | ergh. | ||
[Coke] | bartolin: rt.perl.org/Public/Bug/Display.html?id=118029 is closable. | 14:22 | |
PerlJam | ack -w outs # tells me it's not yet specced if it does exist. | ||
[Coke] | .seen diakopter | 14:23 | |
yoleaux | I saw diakopter 20 Sep 2014 13:03Z in #perl6: <diakopter> oh | ||
[Coke] | moritz: so, I'm ready to bail on host08. you? | ||
moritz | [Coke]: I'm slowly preparing a replacement for feather that should be beefy enough to also replace host08 :-) | 14:24 | |
and it seems host07 is still running; maybe we can simply switch back to it from camelia | 14:25 | ||
[Coke] | .tell japhb < moritz> [Coke]: I'm slowly preparing a replacement for feather that should be beefy enough to also replace host08 :-) | 14:26 | |
yoleaux | [Coke]: I'll pass your message to japhb. | ||
moritz | [Coke]: irclog.perlgeek.de/perl6/2014-10-16#i_9518291 | ||
[Coke] | must have scrolled right past that. | 14:27 | |
moritz | but I need the ACK from our CEO, then the actual machine, and then set it up | 14:28 | |
so I'd guess it'll be 2 weeks to 2 months before we actually have it | |||
[Coke] | honestly, I'm tempted to run them on my work laptop. It'd be OS X instead of linux, but I wouldn't even notice they were running. | ||
14:29
azawawi left
|
|||
PerlJam | moritz: how "beefy" were you shooting for? | 14:29 | |
moritz | PerlJam: www.ebay.de/itm/like/130942134087 if we get the housing option | 14:31 | |
pmichaud | afk, lunchfast | ||
14:32
kaleem joined
14:33
j4jackj joined
14:34
j4jackj is now known as Guest84477
14:35
kaare_ joined
|
|||
colomon | moritz++ | 14:41 | |
14:42
Guest84477 is now known as jdj,
kjs_ joined
14:44
brrt joined
14:47
anaeem1_ left
14:48
anaeem1 joined,
treehug88 joined
14:49
Hor|zon left
14:50
jdj left
14:53
anaeem1 left
14:54
Mouq left
14:55
Hor|zon joined
15:07
ecocode left
15:10
Hor|zon left
|
|||
b2gills | Where would I look for a test like `my $e = enum :alpha<a>, <beta charlie>` # fixed in Rakudo by PR:321 | 15:15 | |
15:15
Hor|zon joined
|
|||
FROGGS | usually in roast, but I can't find it | 15:16 | |
15:16
kaleem left
15:17
SamuraiJack left
|
|||
PerlJam | b2gills: I'd expect it to live in t/spec/S12-enums/non-int.t | 15:18 | |
bartolin | [Coke]: thanks for the two notes. I'll have a look at it later | ||
moritz: was afk for a while. I'll have a look later whether I find another file to include in t/spectest.data | 15:19 | ||
15:23
kjs_ left
|
|||
abraxxa | panicFq644T65R66g76 | 15:24 | |
pmichaud back with noms | |||
15:24
zakharyas left
15:29
brrt left
15:30
kst` joined
|
|||
dalek | ast: 8e9ba37 | TimToady++ | S04-statements/return.t: return should not fallback to dynamic |
15:33 | |
TimToady | moritz++ for providing the negative example :) | 15:35 | |
for some reason eval_dies_ok doesn't work there, had to use try EVAL | |||
15:36
itz joined
15:41
gtodd joined
|
|||
b2gills | PerlJam: The problem also exists with `my $a = enum :a(1), 'b';`. That is the problem is that $prev isn't set for named args in ANON_ENUM (PR:321) | 15:51 | |
15:52
pepl left
15:54
ghostlines left,
kst`` joined
15:56
kst` left
|
|||
masak hopes abraxxa is OK... | 15:59 | ||
16:01
denis_boyun_ left
16:04
leont left
16:12
JimmyZ left
16:18
Mouq joined
16:21
rurban left
16:22
FROGGS left
|
|||
Mouq | m: enum a => 1 # LTA | 16:25 | |
masak | ...in more ways than one... :/ | 16:26 | |
camelia | rakudo-moar a573ab: OUTPUT«(timeout)» | ||
Mouq | std: enum a => 1 | ||
camelia | std bd22b5c: OUTPUT«(timeout)» | 16:27 | |
[Coke] | bartolin: there is a script in the rakudo repo you can run to see if test files not in spectest.data are passing. | ||
Mouq | viv is even more LTA | 16:28 | |
./viv -e 'enum foo => 1' | |||
===SORRY!=== | |||
Illegal redeclaration of symbol 'foo' (see line 1) at (eval) line 1: | |||
------> enum foo⏏ => 1 | |||
Check failed | |||
16:29
flaviusb left
|
|||
hoelzro | o/ #perl6 | 16:31 | |
[Coke] | bartolin: perl tools/update_passing_test_data.pl | ||
gtodd | synopsis 99 | 16:33 | |
[Coke] | parrot build froze on host08 today. | 16:36 | |
Stage start : 0.000 | |||
Stage parse : | |||
^^ stuck here for hours | |||
16:36
cognome joined
|
|||
[Coke] | looks like camelia's java build is eating all the memory, perhaps? | 16:37 | |
ok. I'm killing the daily runs on host08, this is not usuable. | |||
*usable | |||
switching to ad hoc runs on my laptop. | 16:38 | ||
b2gills | Mouq: ok maybe there is two problems with `my $a = enum :a(1), 'b';`. `my $a = enum( :a(1), 'b');` only exhibits one of them ( fixed by PR:321) | 16:41 | |
16:41
ajr_ left
16:42
Mso150 joined
|
|||
dalek | rlito: 42aded4 | (Flavio S. Glock)++ | / (17 files): Perlito5 - create Perlito5X namespace |
16:45 | |
[Coke] | trying to rebuild rakudo-moar locally: getting: Configuration FAIL. You can try to salvage the generated Makefile. | ||
16:45
virtualsue left
|
|||
[Coke] | ah, the old I HATE SUBMODULES!@(*&!@(*#$@ problem. | 16:46 | |
whenever we explicitly do a git clone, we try to respect --git-protocol. git submodules ignore that. | |||
(needed more work to setup my env so git https still tries to use my http proxy, done. whew) | 16:50 | ||
16:51
pmurias left
16:52
cognome left
16:53
[Sno] joined
16:54
Hor|zon left
|
|||
Mouq | b2gills: :) Does the PR pass the spectest? (make spectest) and also, it'd be super useful if you could add a test for it in S12-enums/anonymous.t ? | 16:55 | |
s:2nd/\?// | |||
16:57
dakkar left
|
|||
b2gills | I only have Rakudo with rakudobrew, but it does work properly if I put the fixed ANON_ENUM in the test file | 16:57 | |
[Coke] | gist.github.com/coke/987dd4a31524fa207aca - failures on spectest on OS X moar | 16:58 | |
17:04
kjs_ joined
17:06
abraxxa left
|
|||
Mouq | m: sub foo { sub bar { -> { return 42 } }; my &ret = bar(); ret() }() | 17:06 | |
camelia | rakudo-moar 329ed9: OUTPUT«Attempt to return outside of any Routine in block at src/gen/m-CORE.setting:628 in sub foo at /tmp/laHDOHb7b6:1 in block <unit> at /tmp/laHDOHb7b6:1» | ||
vendethiel | daxim: sorry I havn't been more clear on my ruby answer :) | 17:07 | |
17:07
dwarring joined
17:09
ptc_p6 joined,
psch joined
|
|||
pmichaud | An interesting comment on my APW2014 post: pmthium.com/2014/10/apw2014/#comment-1007732 | 17:09 | |
17:10
grettis joined
|
|||
psch | hi #perl6 | 17:11 | |
m: my $list = <a b c>; map(&say, $list) | 17:12 | ||
camelia | rakudo-moar 329ed9: OUTPUT«a b c» | ||
psch | pmichaud: so we are already "badly broken"? | ||
17:15
SamuraiJack joined,
ptc_p6 left
|
|||
Mouq | We're the.. opposite of badly broken? `my $list1 = <a b c>; my $list2 = <d e f> map &say, $list1, $list2` if that doesn't output a b c\nd e f\n I'd be fairly upset | 17:17 | |
`my $list1 = <a b c>; my $list2 = <d e f>; map &say, @$list1, @$list2` is a different story, IMO | 17:18 | ||
17:18
moukeddar left
17:19
_slade_ joined
|
|||
Mouq | And if the person wants a special case for two-arg map, I don't think the person understands Perl 6 | 17:20 | |
17:20
ghostlines joined
|
|||
lizmat is back from being away most of the day | 17:22 | ||
17:22
colomon left
17:24
Hor|zon joined
|
|||
pmichaud | well, in the commenter's defense, note that (@$list1, @$list2).map(&say) and map(&say, @$list1, @$list2) will now be different. | 17:24 | |
and I can see how that would be more than a little confusion. | |||
*confusing | |||
lizmat | wrt to deprecations: the way I implemented it now, is that release 2014.10 would *not* complain | 17:25 | |
but any commit after that *would* | |||
so: the new features / API would be in the next release, the old still there not complaining | |||
but anybody on blead would get the deprecation warnings | 17:26 | ||
and the next release would as well | |||
this would allow the ecosystem 1 release to fix any deprecations | |||
does that make sense ? | |||
17:26
testserver41 joined
|
|||
lizmat | and ~1 year before the deprecated code is actually removed | 17:27 | |
17:28
Hor|zon left
17:29
kjs_ left
17:31
cognome joined
|
|||
masak | I'm about to close rt.perl.org/Ticket/Display.html?id=118581 (because it no longer segfaults). | 17:32 | |
psch | difference of flattening between method and function does not particularly appeal to me from a consistency perspective either, but i think i could deal with it, as it has clear semantics | 17:33 | |
masak | just curious: what *should* this return? | ||
m: say \(1) ~~ :(int $x as Str) | |||
camelia | rakudo-moar 329ed9: OUTPUT«False» | ||
masak | m: say \(1) ~~ :(1) | 17:34 | |
camelia | rakudo-moar 329ed9: OUTPUT«True» | ||
masak | m: say \(1) ~~ :(Int) | ||
camelia | rakudo-moar 329ed9: OUTPUT«True» | ||
masak | m: say \(1) ~~ :(int) | ||
camelia | rakudo-moar 329ed9: OUTPUT«True» | ||
masak | m: say \(1) ~~ :(int $x) | ||
camelia | rakudo-moar 329ed9: OUTPUT«True» | ||
Mouq | m: say \(1) ~~ :($x as Str) | ||
camelia | rakudo-moar 329ed9: OUTPUT«True» | ||
masak | m: say \(1) ~~ :(int $x as Str) | ||
camelia | rakudo-moar 329ed9: OUTPUT«False» | ||
masak | yeah, that feels wrong. :) | ||
so maybe I should just change the title of the ticket? | |||
or open a new one? | |||
17:35
jack_rabbit joined
|
|||
psch | it should autobox for the smartmatch, shouldn't it? | 17:35 | |
17:35
guru joined
|
|||
masak | psch: note that \(1) ~~ :(int) matches. | 17:35 | |
Mouq | m: say \(1) ~~ :(Int $x as Str) | ||
psch | err, for the 'as Str' | ||
camelia | rakudo-moar 329ed9: OUTPUT«True» | ||
17:35
guru is now known as Guest14496
|
|||
psch | masak: right, i'm typing before finishing thinking again it seems :) | 17:36 | |
masak | happens to me all the time ;) | ||
17:36
prevost joined
|
|||
masak closes the old ticket and opens a new one | 17:38 | ||
bartolin | sounds good, masak++ | 17:40 | |
masak | m: \(1) ~~ :(int as Str) | ||
17:40
Guest14496 is now known as ajr_
|
|||
masak | m: say \(1) ~~ :(int as Str) | 17:40 | |
camelia | ( no output ) | ||
rakudo-moar 329ed9: OUTPUT«False» | |||
bartolin | [Coke]: wrt importing Test 3 times: do you think it's a bad idea to test with Test.pm? but it certainly is enough to import it once more. | 17:41 | |
nine_ | m: BEGIN { my $class := Metamodel::ClassHOW.new_type(name => "Test"); $class.HOW.compose($class); GLOBAL::<Test> = $class; }; say Test.new(); | 17:43 | |
camelia | rakudo-moar 329ed9: OUTPUT«===SORRY!===Object of type Test in QAST::WVal, but not in SC» | ||
nine_ | m: BEGIN { my $class := Metamodel::ClassHOW.new_type(name => "Test"); $class.HOW.compose($class); GLOBAL.WHO<Test> = $class; }; say Test.new(); | 17:44 | |
camelia | rakudo-moar 329ed9: OUTPUT«===SORRY!===Object of type Test in QAST::WVal, but not in SC» | ||
nine_ | m: BEGIN { my $class := Metamodel::ClassHOW.new_type(name => "Test"); $class.HOW.compose($class); GLOBAL.WHO<Test> := $class; }; say Test.new(); | ||
camelia | rakudo-moar 329ed9: OUTPUT«Test.new()» | ||
psch | btw, gist.github.com/peschwa/4cd283a7c2d450f9825b is how my cliopts grammar prototype behaves right now | ||
nine_ | Seems like I really should finally read up on when to use = and when := :) | ||
psch | integration into rakudo is probably a few days away, especially regarding the delimited options | ||
oh, there's cases missing that (should) work | 17:45 | ||
17:46
FROGGS[mobile] joined
|
|||
psch | gist updated. negation of grouped short opts dies as does negation of opts that need a value | 17:47 | |
multiple -I, which recently came up, seems already supported and should still be supported when i get this into rakudo | 17:48 | ||
i guess i'll put "write many more tests" onto my todo as well | |||
bartolin | moritz: thanks for updating t/spectest.data. I don't know about other newly created files which could be included | 17:49 | |
nine_ | Is caller implemented? | ||
vendethiel | mmmh. | 17:50 | |
m: sub f{caller.return(5)}; sub g {f}; say g | |||
Ihavenoideawhatimdoing.jpg | |||
camelia | rakudo-moar 329ed9: OUTPUT«(timeout)» | ||
vendethiel | m: sub f{caller.return(5)}; sub g {f}; say g #probably doesn't work | ||
nine_ | sub test { say caller.name; }; sub foo { test; }; foo(); | 17:51 | |
PerlJam | nine_: There's callframe | ||
nine_ | m: sub test { say caller.name; }; sub foo { test; }; foo(); | ||
camelia | rakudo-moar 329ed9: OUTPUT«(timeout)» | ||
vendethiel | right. | ||
17:51
Sqirrel joined
|
|||
lizmat | $ 6 'say callframe' | 17:52 | |
CallFrame.new(level => 2, annotations => ("file" => "-e", "line" => "1").hash, my => EnumMap.new("\$!", Nil, "\$/", Nil, "\$_", Nil, "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, )) | |||
vendethiel | nice :) | ||
nine_ | PerlJam: thanks! | ||
lizmat: thanks! | |||
bartolin | speaking about t/spectest.data: AFAIU it's best to put tests for tickets in existing files (in roast). but sometimes it's hard to find a good place for a test (at least for me). are "per ticket files" like rt98765.t okay in such cases or is better to create new "thematical" files -- as I did with S19-command-line/arguments.t? | 17:56 | |
FROGGS[mobile] | +1 for the latter | 17:57 | |
vendethiel | I'm glad we have all that power at hand. I'm still very impressed often :o) | ||
maybe "leave" should make it to the features matrix. It's kinda big. | 17:58 | ||
I guess I should not mention it in my tutorial until it Works(TM) | |||
moritz | bartolin: yes, new test files are fine | ||
17:58
chenryn joined
|
|||
moritz | does anybody have a working niecza installation, and know whether it supports leave? | 17:59 | |
bartolin | okay, thanks | ||
[Coke] | bartolin: nah, any issues will be limited to fallout in that test file. | 18:00 | |
so "nah, no issues" | |||
moritz: niecza requires mono < 3 at this point. | |||
can I ask why you need a owrkign niecza? | |||
the project is dead at this point. | 18:01 | ||
FROGGS[mobile] | vendethiel: yes, leave qualifies for the features matrix | ||
moritz | [Coke]: sometimes it's still itneresting to see how it interprets stuff | ||
masak | now and then, niecza still proves a useful point of comparison against Rakudo, IMHO. | ||
right. what moritz said. | |||
gtodd | .net is not so backward compatible as perl and java I guess | 18:02 | |
masak | it's falling further and further behind, but some things (things like "goto") it still has on Rakudo. | ||
18:02
adu joined
|
|||
nine_ | m: BEGIN { my $class := Metamodel::ClassHOW.new_type(name => "Test::More"); $class.HOW.compose($class); GLOBAL.WHO<Test::More> := $class; }; say Test::More.new(); | 18:03 | |
camelia | rakudo-moar a6f181: OUTPUT«Could not find symbol '&More' in method <anon> at src/gen/m-CORE.setting:13622 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/I8R3kS6pUv:1» | ||
gtodd | did it have the same approach as rakudo was it a "backend"? (was there a "nqp-n") | 18:04 | |
nine_ | m: BEGIN { my $class := Metamodel::ClassHOW.new_type(name => "Test::More"); $class.HOW.compose($class); GLOBAL<Test>.WHO<More> := $class; }; say Test::More.new(); | ||
camelia | rakudo-moar a6f181: OUTPUT«Could not find symbol '&More' in method <anon> at src/gen/m-CORE.setting:13622 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/8KfDgLQ49n:1» | ||
nine_ | :( | ||
moritz | m: constant Test::More = Int; say Test::More | 18:05 | |
camelia | rakudo-moar a6f181: OUTPUT«===SORRY!=== Error while compiling /tmp/D7koXr5WVSMissing initializer on constant declarationat /tmp/D7koXr5WVS:1------> constant Test⏏::More = Int; say Test::More expecting any of: statement …» | ||
moritz | m: BEGIN ::('Test::More') = Int; say Test::More # I don't expect this one to work | 18:06 | |
camelia | rakudo-moar a6f181: OUTPUT«===SORRY!===No such symbol 'Test::More'» | ||
18:07
anaeem1_ joined
18:08
anaeem1_ left
|
|||
moritz | perl6-m -e 'BEGIN GLOBAL::<Test> = Int; say Test' | 18:08 | |
===SORRY!=== | |||
Object of type Int in QAST::WVal, but not in SC | |||
18:08
anaeem1_ joined
|
|||
moritz | that kind looks like a bug to me | 18:08 | |
nine_ | m: BEGIN GLOBAL::<Test> := Int; say Test | ||
camelia | rakudo-moar a6f181: OUTPUT«(Int)» | ||
nine_ | moritz: := seems to work while = failes | ||
dalek | ast: de19d97 | usev6++ | S11-modules/import.t: Modify test for RT #118231 |
18:09 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118231 | ||
18:09
Mouq left
18:10
fhelmberger left,
fhelmberger joined
|
|||
gtodd | masak: leaving aside the technical questions .... didn't Scala "officially" drop the .Net platform just before it became wildly popular ... :-) ? | 18:11 | |
i.e. just before Scala became wildly popular ... :P | 18:12 | ||
vendethiel | gtodd: kind of | ||
masak | no idea. is it relevant? | ||
vendethiel | the scala.net backend was part of a GSOC 2011 project, IIRC | ||
masak | wow, I hadn't realized how awesome << >> quoting is. it's like a better heredoc in some cases. | ||
18:13
_slade_ left
|
|||
vendethiel | :D | 18:13 | |
masak | works excellent for tabulating test cases, for example. especially since I can use "" strings inside! | ||
gtodd | masak: only for marketing ;-) | ||
masak | and then just loop over it with a for loop that picks out just the right number of elements at a time | ||
<3 | |||
Perl 6: love in syntax form. | 18:14 | ||
18:15
fhelmberger left
|
|||
masak | language point: 4 : quadrant :: 6 : ??? | 18:15 | |
vendethiel | wut? | 18:16 | |
18:16
kjs_ joined
|
|||
gtodd | haha | 18:16 | |
vendethiel | masak: it's interesting to see even you get surprised by how the language works :P | ||
masak | the plane divides into four quadrants. is there a name for the thing it divides into when there's six of them? | ||
vendethiel: I keep discovering things. | |||
vendethiel | yay, adventures! | 18:17 | |
masak | vendethiel: it's not that I didn't know about << >>, it's just that I hadn't ever used it for this. | ||
vendethiel | yes, I get it | ||
gtodd | sextant? | ||
vendethiel | a feature isn't useful without use cases :) | ||
masak | gtodd: gonna go with that until someone comes up with something better :) | ||
18:27
chenryn left
18:34
prevost left
|
|||
dalek | ast: d55c943 | usev6++ | S (2 files): Add tests for RT #118581 and RT #118067 |
18:36 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118581 | ||
18:36
anaeem1_ left
|
|||
nine_ | aaaaaaaaaaah | 18:42 | |
m: BEGIN { my $class := Metamodel::ClassHOW.new_type(name => "Test::More"); $class.HOW.compose($class); GLOBAL.WHO<Test> := package {}; GLOBAL::Test.WHO<More> := $class; }; say Test::More.new() | |||
camelia | rakudo-moar a6f181: OUTPUT«(timeout)» | ||
nine_ | m: BEGIN { my $class := Metamodel::ClassHOW.new_type(name => "Test::More"); $class.HOW.compose($class); GLOBAL.WHO<Test> := package {}; GLOBAL::Test.WHO<More> := $class; }; say Test::More.new() | 18:43 | |
camelia | rakudo-moar a6f181: OUTPUT«(timeout)» | ||
18:44
colomon joined,
aindilis joined
18:46
moukeddar joined
|
|||
masak | here's my use of << >> in code I just wrote: gist.github.com/masak/7404ebdd2ee6f397cb93 | 18:47 | |
gtodd | m: my $国 = "日本" ; say $国 "; | 18:48 | |
camelia | rakudo-moar a6f181: OUTPUT«(timeout)» | ||
psch | what exactly does Text::SmartLinks need in the L<> tags in roast? synopsis and (headline or some text that matches somewhere)? | 18:49 | |
vendethiel | masak: you're of the "normalized returns" school :P? | 18:50 | |
masak | oh, investment humor? | ||
I had to look that one up :) | |||
psch | i did that too. and it actually answered my question... | ||
so, nvm that. for the record it's syn/headline/start-of-paragraph, if i understand correctly | 18:51 | ||
bartolin | yesterday we spoke about a "ticket deal" (irclog.perlgeek.de/perl6/2014-10-15#i_9512823) | 18:52 | |
let's try it: for todays RT work (we are down to 740 tickets) it would be nice if | |||
1) someone looks at RT #99658 and comments if my explanation goes in the right direction and | |||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=99658 | ||
bartolin | 2) someone looks at PR 319 for Rakudo (I wanted to add one or two typed exceptions) | ||
*g* | |||
masak | bartolin: looking at (1) now | ||
bartolin | masak++ | ||
18:52
ilbot3 left
|
|||
gtodd | masak: so the << >> makes the appropriate list/s out of that whole paragraph and you dont need , or => or anything? | 18:53 | |
18:53
ilbot3 joined
|
|||
gtodd | list/s items etc. etc. | 18:53 | |
wow | |||
timotimo | gtodd: well, it's really just a flat list there | ||
but masak is iterating over it by taking out the right amount of items each time | |||
so it's effectively a table | 18:54 | ||
gtodd | it's cool .... but it crashed my repl :) | ||
neat | |||
18:54
f1 joined
18:55
zakharyas joined
|
|||
gtodd | actually it's the fact you can use a "tabular" flat list to work with ==> for @tests -> $x, $y, $ox, $oy, $description { ... } that is cool | 18:56 | |
timotimo | that's cool, too. | ||
i hadn't fully realized someone went ahead and fixed « » | |||
m: say «Hello "How are you?" \"I am fine.\"».perl | |||
camelia | rakudo-moar a6f181: OUTPUT«("Hello", "How are you?", ("\"I", "am", "fine.\""))» | 18:57 | |
masak | gtodd: combined with the fact that "" works well inside << >> | ||
timotimo | oh, huh? | ||
psch | m: say <<foo\ bar>> | ||
camelia | rakudo-moar a6f181: OUTPUT«foo bar» | ||
timotimo | that's strange | ||
psch | timotimo: yours does seem sensible to me. you're escaping the quotes which makes « » split on <ws> | 18:58 | |
18:58
Hor|zon joined
|
|||
dalek | p: 3ea8d5c | (Mikhail Khorkov)++ | / (2 files): Add --git-depth option The option adds --depth option to all git clone commands |
18:58 | |
p: 7ec03cf | moritz++ | / (2 files): Merge pull request #191 from atroxaper/master Add --git-depth option |
|||
kudo/nom: dd6ce68 | (Mikhail Khorkov)++ | / (2 files): Add --git-depth option The option adds --depth option to all git clone commands |
|||
kudo/nom: d4271c7 | moritz++ | / (2 files): Merge pull request #322 from atroxaper/nom Add --git-depth option |
|||
timotimo | psch: but where do the parens come from? | 18:59 | |
psch | oh, right | ||
m: say «Hello "How are you?" \"I am fine.\"».elems | |||
camelia | rakudo-moar a6f181: OUTPUT«3» | ||
psch | m: say «Hello "How are you?" \"I am fine.\"».flat.elems | 19:00 | |
camelia | rakudo-moar a6f181: OUTPUT«5» | ||
dalek | kudo/nom: 42841ad | (Brad Gilbert)++ | src/core/Enumeration.pm: Make anonymous enums follow Synopsis 2 Adding a pair to an enum is supposed to change the value the next key would get. |
||
kudo/nom: 1de1488 | moritz++ | src/core/Enumeration.pm: Merge pull request #321 from b2gills/patch-1 Make anonymous enums follow Synopsis 2 |
|||
psch | hm, is \" another obscure escape sequence? :) | ||
masak | bartolin: I just rejected #99658, accepting your reasoning. | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=99658 | ||
psch | like \qq in ' '... | ||
dalek | ast: cab366f | (Pepe Schwarz)++ | S19-command-line (4 files): Add a few tests for S19. I hope I did the smart-linking correctly. I've prototyped stuff to pass these tests but integration into Rakudo might take a few more days. |
||
timotimo | i don't know \qq actually | 19:01 | |
does that give you qq semantics for the rest of the literal? | |||
bartolin | thanks, masak! | ||
19:01
virtualsue joined
|
|||
dalek | kudo/nom: 32aa365 | usev6++ | src/core/Exception.pm: Add X::Syntax::Regex::SolitaryQuantifier |
19:02 | |
kudo/nom: c77c584 | usev6++ | src/ (2 files): Add typed exception X::Syntax::Term::MissingInitializer |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116607 | ||
dalek | kudo/nom: 86dc3c6 | moritz++ | src/ (2 files): Merge pull request #319 from usev6/nom Add two typed exceptions (X::Syntax::Regex::SolitaryQuantifier and X::Syntax::Term::MissingInitializer) |
||
psch | m: say '\x0\qqx50' | ||
bartolin | wow, thanks moritz++ | ||
masak | so, let me get this straight. | ||
camelia | rakudo-moar a6f181: OUTPUT«(timeout)» | ||
masak | bartolin++ asked us to live up to the deal we established yesterday. | ||
psch | timotimo: something like that. i think it's still delimited | ||
masak | and #perl6 did, within 10 minutes. | ||
19:02
anaeem1 joined
|
|||
masak | wow, that's what I call service. | 19:03 | |
19:03
Mso150_x joined
|
|||
bartolin | #perl6++ | 19:03 | |
moritz | m: token a { * } | ||
camelia | rakudo-moar a6f181: OUTPUT«(timeout)» | 19:04 | |
masak | bartolin: let's do this again sometime! :D | ||
19:04
Mso150 left
19:05
Hor|zon left
|
|||
timotimo | b2gills: i'm glad you fixed the enum thing :) | 19:05 | |
pmichaud | masak: ping | 19:09 | |
masak | pmichaud: pong | ||
pmichaud | I don't understand the response to rt #99658 | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=99658 | ||
pmichaud | according to my tests, the sequence is already lazy. | ||
masak | oh! | ||
pmichaud | has been... like, forever. | 19:10 | |
19:10
virtualsue_ joined,
itz_ joined
|
|||
pmichaud | r: my @a = 1, 3, 5 ... *; say @a[7]; | 19:10 | |
bleh | |||
camelia | rakudo-{parrot,moar} a6f181: OUTPUT«15» | ||
masak | so far, so good. | ||
pmichaud | there. | ||
masak | what about with s/\*/8/ ? | ||
which was what the original requestor was asking about. | 19:11 | ||
pmichaud | in that case it's not lazy, because the system has no way to know it'll be infinite | ||
masak | that's what I was agreeing with bartolin about! | ||
19:11
virtualsue left,
virtualsue_ is now known as virtualsue
|
|||
masak | so I guess now you understand my response ;) | 19:11 | |
19:11
itz left
|
|||
pmichaud | okay, I get it. | 19:12 | |
bartolin | maybe my second to last example was misleading? | ||
pmichaud | I thought you were referring to the ... * case not being detectable. | ||
masak | no, that one is fine. | ||
the requestor was complaining about ... * differing from ... 8 | |||
pmichaud | right. | ||
at the time the ticket was written, I don't think we were detecting *-infinities | 19:13 | ||
masak | then I don't know why the requestor was complaining about the discrepancy | ||
pmichaud | and the synopsis isn't all that rigorous when it talks about "infinite lists" | ||
well, Perl 6 knows that assignment of an infinite list has to be lazy | |||
19:13
kurahaupo left
|
|||
pmichaud | but the synopsis also says (said) that 1,3,5 ... 8 will produce an "infinite list" | 19:14 | |
anyway, it can stand as-is for now, and I agree with your response. thanks. | |||
masak | \o/ | ||
19:16
kurahaupo joined
19:17
Alula joined,
kjs_ left
|
|||
PerlJam | Should there be tests so that the current behavior can confirmed the same with the GLR? | 19:17 | |
pmichaud | I suspect the tests exist already. | 19:21 | |
19:21
FROGGS[mobile] left,
FROGGS[mobile] joined,
darutoko left
|
|||
pmichaud | well, looks like there's an advent test for it (2009 day 23) | 19:22 | |
I don't see a regular test. | 19:23 | ||
dalek | kudo/nom: 0a7de34 | grondilu++ | src/core/operators.pm: use for loop instead of while in SEQUENCE This avoids side effects: my @abc = ^10; my @ = @abc ... 4; say @abc; See IRC log for this day. |
19:25 | |
kudo/nom: d792a22 | grondilu++ | src/core/operators.pm: using binding for better performance There were concerns about loss of performance with for loop instead of while/shift. A binding instead of an affectation might help. |
|||
kudo/nom: 8d0294b | moritz++ | src/core/operators.pm: Merge pull request #273 from grondilu/patch-2 use for loop instead of while in SEQUENCE |
|||
timotimo | wait, for loops are more performant than while loops by now? :) | 19:26 | |
moritz | timotimo: nope | ||
timotimo: the 'for' loop was for correctness | 19:27 | ||
timotimo | oh | ||
side effects vs binding, misread | |||
pmichaud | yeah, there was definitely a binding issue there. | 19:29 | |
dalek | line-Perl5/create_used_packages: b290f89 | nine++ | / (2 files): Create a Perl 6 package for use'd Perl 5 modules. Allows: BEGIN $p5.use('Data::Dumper'); my $dumper = Data::Dumper.new(perl5 => $p5, [{a => 1}]); say $dumper.Dump; |
19:30 | |
nine_ | Any comments on this ^^^ greatly appreciated! | ||
dalek | ast: 11ec63a | usev6++ | S13-overloading/operators.t: Add test for RT #119473 |
||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=119473 | ||
gtodd | masak: hmm << >> is cool and simple ... now I want to slurp files that are arranged in tables like that in @arrays... (and not bother splitting or using regex or grammar or tokens or using a module or ...) ... and then have at them and munge | ||
psch | STable conflict detected during deserialization. | 19:31 | |
(Probable attempt to load two modules that cannot be loaded together). | |||
nine_ | Does it look useful? Is the implementation somewhat sane? Can I somehow get rid of the perl5 parameter of new? | ||
psch | ...yep | ||
i need to continue with this somewhen else | |||
19:31
virtualsue left
19:32
ghostlines left,
vendethiel joined
|
|||
PerlJam | nine_: you could get rid of the parameter by using a dynamic var perhaps? | 19:33 | |
moritz | nine_: if such a module is precompiled, I don't see how $p5 could be serialized | ||
dalek | rlito: c96ce25 | (Flavio S. Glock)++ | / (2 files): Perlito5 - js - bugfix in "goto" emitter |
19:34 | |
19:34
noganex_ joined
|
|||
moritz | nine_: one thing I could imagine is doing only a stub at compile time, and the stub wouldn't need the $p5 | 19:35 | |
nine_ | moritz: but where would the real code get $p5 from? | ||
moritz | nine_: well, that has to come from somewhere; either pass it as an argument, or require it in a contextual or a global | 19:36 | |
nine_: none of those sound really satisfactory to me | 19:37 | ||
19:38
noganex left
|
|||
nine_ | I also played around with a parametric role, but that wouldn't let me override new | 19:38 | |
19:39
vendethiel- joined,
vendethiel left
19:40
anaeem1 left,
f1 left
|
|||
masak | moritz: I just use `my @.entries` in actual code instead of `my @entries; method entries { @.entries }` | 19:41 | |
moritz: first time I had a use for `my` + accessor. but it felt really right to reach for it. | |||
vendethiel- | masak: it's not the saaaaame. or is it? | ||
masak | TimToady++ | ||
vendethiel-: it is. | |||
m: class A { my @.foo; }; A.foo.push("OH"); A.new.foo.push("HAI"); say A.foo.perl | |||
vendethiel- | masak: ooh. I thought myes were class-shared :) mb | 19:42 | |
dalek | ast: 3b36aad | moritz++ | S19-command-line/dash-e.t: fix fudging syntax error |
||
masak | vendethiel-: they are. | ||
19:42
Akagi201 joined
|
|||
camelia | rakudo-moar a6f181: OUTPUT«Array.new("OH", "HAI")» | 19:42 | |
masak | vendethiel-: which is how I'm using it here. | ||
vendethiel- | ah. I misread. | ||
I had no idea you could `my TWIGIL` :o) | |||
masak | AFAIR, moritz has gone on record not liking it. I've always been vaguely positive. | 19:43 | |
having just had a use case for it, I'm more than just vaguely positive. | |||
moritz | m: say ~&say | ||
camelia | rakudo-moar a6f181: OUTPUT«Code object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/nhfmFwv2YM:1say» | ||
moritz | why is that? | ||
I mean, stringify works fine, no? | 19:44 | ||
before, when I tried to stringify something, I could check for .defined, and if it was true, I could just stringify | |||
19:44
Akagi201_ left
|
|||
moritz | now I have to check for Callable too? | 19:44 | |
mauke | m: say &say.perl | ||
camelia | rakudo-moar a6f181: OUTPUT«sub say (Any |) { #`(Sub|50185952) ... }» | ||
masak | moritz: see github.com/rakudo/rakudo/commit/af...aec1e26c93 | 19:45 | |
maybe more hints can be found in the backlog of Aug 15...? | |||
19:46
kurahaupo left
|
|||
bartolin | moritz: one question about the follow-up with a new typed exception in Rakudo: Is it correct to update all tests which now fail because of the changed exception type as soon as the typed exception has landed in rakudo? | 19:46 | |
moritz | bartolin: yes | ||
bartolin: but it's never right to check for X::AdHock in the first place | |||
bartolin: if you want to write a test that works, but will continue to work when there's a specific exception type, use Exception to check against | 19:47 | ||
bartolin | that makes a lot of sense, thanks! | 19:48 | |
masak | m: class A { my @.foo handles <push> }; A.push("OH", "HAI"); say A.foo | 19:49 | |
camelia | rakudo-moar a6f181: OUTPUT«(timeout)» | ||
bartolin | (sounds like a new task "adjust tests in roast which check against X::AdHoc to check against Exception) | ||
masak | locally: "Cannot call 'trait_mod:<handles>'; none of these signatures match" (Attribute, Method) | 19:50 | |
moritz | good Google Code-In task, unless somebody else does it first | ||
19:50
zakharyas left
|
|||
masak | am I greedy for wanting `my` + twigil + `handles` to work? | 19:51 | |
is that even theoretically possible? | |||
it would be so awesome. | |||
19:52
kurahaupo joined
|
|||
moritz | TimToady: any reason why your new test in t/spec/S04-statements/return.t doesn't use eval_dies_ok or throws_like ? | 19:52 | |
19:52
ghostlines joined
19:53
ghostlines left
|
|||
dalek | ast: ba89213 | moritz++ | S04-statements/return.t: fudge new test for rakudo |
19:54 | |
ast: b99fd2d | moritz++ | S32-exceptions/misc.t: Fix exception type |
19:55 | ||
bartolin | moritz: oh, was not fast enough ;-) | ||
moritz | I just did a spectest and had failures in 5 files | 19:58 | |
and I thought "oh my god, I should have spectested each pull request individually" | |||
19:58
colomon left
|
|||
moritz | turns out two were flappers, and two new tests | 19:58 | |
bartolin | sorry for part of the trouble | 19:59 | |
raydiak | moritz: "15:35:38* TimToady | for some reason eval_dies_ok doesn't work there, had to use try EVAL" | ||
moritz | oh | 20:00 | |
because it's a routine | 20:01 | ||
masak | shouldn't it be EVAL_dies_ok these days? :/ | ||
jnthn | masak: my @.foo supporting handles is a cute idea at least. It's not entirely straightforward. | 20:02 | |
masak: But feasible with effort. | 20:03 | ||
masak | developer torment? sounds like... a job for Perl 6! :P | ||
jnthn | No objections to filing a TODO ticket for it. | ||
tadzik | developer, is that a new dnd setting? :P | ||
masak | what's the saying again: "tormenting developers just for the sake of it" | ||
tadzik | I only heard of Planescape: Torment before | ||
masak submits TODO ticket | |||
raydiak | is there a way to interpolate an array into a regex as an alternation of subrules instead of literals? | 20:04 | |
jnthn | Doesn't <@foo> do it? | ||
20:05
FROGGS[mobile] left,
FROGGS[mobile] joined
|
|||
jnthn | m: my @a = < .. .+ >; say 'abcd' ~~/ <@a> / | 20:05 | |
bartolin | moritz: and one (hopefully) last question: should a new typed exception be added to S02-types/WHICH.t? | ||
camelia | rakudo-moar 86dc3c: OUTPUT«「abcd」» | ||
20:06
virtualsue joined
|
|||
raydiak | thanks jnthn++ dunno how I missed that | 20:06 | |
moritz | bartolin: dunno, I find that test file to be not very important | 20:07 | |
bartolin: perl6/specs and perl6/doc is much more important IMHO | |||
masak | TODO ticket filed: rt.perl.org/Ticket/Display.html?id=122991 | ||
bartolin | moritz: ah perl6/doc as well. (at least I had perl6/specs on my list ;-) | ||
20:11
Mouq joined
|
|||
raydiak | okay, maybe this one will be harder: how do I interpolate an array *element* as a subrule? or is it necessary to assign it to a scalar first? | 20:11 | |
m: my @a = token {.+}; ("foo" ~~ /<@a[0]>/).perl.say | |||
camelia | rakudo-moar 86dc3c: OUTPUT«===SORRY!=== Error while compiling /tmp/9RcI5wZhxQUnable to parse expression in metachar:sym<assert>; couldn't find final '>' at /tmp/9RcI5wZhxQ:1------> my @a = token {.+}; ("foo" ~~ /<@a⏏[0]>/).perl.say» | ||
20:11
kaare_ left
|
|||
moritz | if it's already a rule, @a[0] should work | 20:12 | |
Mouq | m: my @a = token {.+}; ("foo" ~~ /@a[0]/).perl.say | ||
camelia | rakudo-moar 86dc3c: OUTPUT«Potential difficulties: Apparent subscript will be treated as regex at /tmp/l4odDajQha:1 ------> my @a = token {.+}; ("foo" ~~ /@a⏏[0]/).perl.sayNil» | ||
Mouq | m: my @a = token {.+}; ("foo" ~~ /<{@a[0]}>/).perl.say | ||
camelia | rakudo-moar 86dc3c: OUTPUT«Match.new(orig => "foo", from => 0, to => 3, ast => Any, list => ().list, hash => EnumMap.new())» | ||
mauke | it's perl5 all over again | 20:13 | |
raydiak | thanks Mouq++ | ||
moritz | m: my @a = token {.+}; say "foo" ~~ / @a[0] / | ||
camelia | rakudo-moar 86dc3c: OUTPUT«Potential difficulties: Apparent subscript will be treated as regex at /tmp/wyLzzkJE9H:1 ------> my @a = token {.+}; say "foo" ~~ / @a⏏[0] /Nil» | ||
20:14
moukeddar left
|
|||
masak | mauke: what is? | 20:15 | |
mauke | <@a[0]> parsing differently from <$a>, subscripts being ambiguous in a regex, needing { } to disambiguate | 20:17 | |
20:17
ajr_ left,
njmurphy joined
|
|||
Mouq | mauke: It's not ambiguous; it's parsed as @a [0] and outputs a warning :P | 20:19 | |
masak | m: class A { my ::?CLASS @.foo }; A.foo.push(2) | ||
camelia | rakudo-moar 86dc3c: OUTPUT«(timeout)» | ||
masak | locally, "Type check failed in .push; expected 'A' but got 'Int'" | ||
(wow) | |||
lizmat++ jnthn++, no doubt | 20:20 | ||
Mouq | But maybe we should consider having quote-like variable interpretation in regexes? | ||
timotimo | masak: are they to blame for this? :) | ||
20:20
Mso150_x left
|
|||
masak | timotimo: it's amazing! it recognizes `A` as the current class, *and* it typechecks against it on .push | 20:21 | |
timotimo: woot! | |||
timotimo | that *is* neat. | ||
mauke | Mouq: how is that not ambiguous? | ||
jnthn | masak: Note it's more useful use is in roles, where ::?CLASS is generic. | 20:22 | |
masak | jnthn: I'm just about to factor my current code into a role :> | ||
20:23
itz joined,
virtualsue left
|
|||
masak | aww. | 20:23 | |
===SORRY!=== | 20:24 | ||
No such method 'instantiate_generic' for invocant of type 'Array[::?CLASS]' | |||
jnthn | Awww :( | ||
Mouq | mauke: Mm, okay, I'll concede. I was thinking amiguous in that the spec decided it's too amiguous to allow | ||
masak | this... might be rakudobuggable. | ||
hold on. | |||
20:24
itz_ left
|
|||
vendethiel- | masak: code :P ? | 20:24 | |
dalek | kudo/nom: 1059957 | (Pepe Schwarz)++ | src/Perl6/Actions.nqp: Make flipflop smartmatch against $_ instead of calling .Bool. |
20:25 | |
kudo/nom: dfb3e7a | moritz++ | src/Perl6/Actions.nqp: Merge branch 'smartmatch_flipflop' of github.com/peschwa/rakudo into nom |
|||
masak | m: role R { my ::?CLASS @.x }; class C does R {}; say "alive" | ||
locally: "No such method 'instantiate_generic' for invocant of type 'Array[::?CLASS]'" | |||
camelia | rakudo-moar 86dc3c: OUTPUT«(timeout)» | 20:26 | |
20:26
SamuraiJack left
|
|||
masak | jnthn: any non-torment reason that shouldn't be possible? | 20:26 | |
m: role R { my ::?CLASS $.x }; class C does R {}; say "alive" | |||
locally: "alive" | 20:27 | ||
camelia | rakudo-moar 86dc3c: OUTPUT«(timeout)» | ||
masak | if I remove the ::?CLASS type constraint, using a role still works. | 20:28 | |
psch | $ ./perl6 -/h | 20:29 | |
> | |||
hah | |||
moritz | timotimo: what's the state of github.com/rakudo/rakudo/pull/171 ? do you want to resolve the conflict(s), and merge yourself? | ||
psch | unfortunately my branch doesn't run in the harness anymore it seems | 20:30 | |
it does nothing, no cpu load, no progress | |||
timotimo | didn't someone (mouq?) make lol stuff much better recently? | ||
i mean in combination with postcircumfix:<[ ]> | 20:31 | ||
masak | m: role R { has ::?CLASS @.x }; class C does R {}; say "alive" | ||
timotimo | or was that just for actually putting in the lol directly with the lol keyword? | ||
20:31
colomon joined
|
|||
masak | locally: "alive" | 20:31 | |
camelia | rakudo-moar 86dc3c: OUTPUT«(timeout)» | ||
masak | so it's only in the very specific case of `my` + `::?CLASS` + `@` that it blows up... | 20:32 | |
oh, and `role` | |||
jnthn | masak: It's the "my" that does it | ||
masak: I think it's fixable | |||
masak | nice. | ||
masak submits rakuodbug | |||
jnthn | Well, I'd not say it'll be nice to fix, but... :P | 20:33 | |
m: sub foo(::T $x) { my T @a; }; foo(42) | |||
camelia | rakudo-moar 86dc3c: OUTPUT«No such method 'instantiate_generic' for invocant of type 'Array[T]' in sub foo at /tmp/H_CQC3prDZ:1 in block <unit> at /tmp/H_CQC3prDZ:1» | ||
jnthn | Hah, gulf. :) | ||
masak | :) | 20:34 | |
but `my`, type parameter, and `@` sigil are still essential, yes? | |||
20:34
muraiki joined
|
|||
jnthn | Yes, but it can be a type parameter of a role or the sub | 20:34 | |
colomon | moritz++ | ||
masak | right, so `role` wasn't essential like I thought. | 20:35 | |
psch | moritz++ # PRs and fudge fix | ||
masak | m: sub foo(::T, T @a) {}; foo(42, []) | ||
camelia | rakudo-moar 86dc3c: OUTPUT«(timeout)» | 20:36 | |
psch | good night, #perl6 o/ | 20:37 | |
20:38
denis_boyun_ joined
20:40
kurahaupo left
20:41
psch left
|
|||
masak | m: sub foo(::T $x) { my T %h; }; foo(42) | 20:41 | |
camelia | rakudo-moar 86dc3c: OUTPUT«(timeout)» | ||
masak | locally, "No such method 'instantiate_generic' for invocant of type 'Hash[T]'" | 20:42 | |
20:43
kurahaupo joined
|
|||
jnthn | Right, it'll be same underlying thing | 20:43 | |
20:43
Mouq left
20:49
kjs_ joined
20:56
bbkr left
21:01
Hor|zon joined
21:06
Hor|zon left,
FROGGS[mobile] left,
FROGGS[mobile] joined
21:07
kjs_ left
|
|||
masak | somehow ended up filing three new rakudobugs today. | 21:14 | |
and two yesterday. | |||
bartolin | \o/ | ||
masak | I blame bartolin++ ;) | 21:15 | |
bartolin | but you closed a few as well! | ||
masak | balance++ | ||
'night, #perl6 | 21:16 | ||
bartolin | gnight | ||
21:19
kjs_ joined
|
|||
timotimo | i still can't launch farabi6 :\ | 21:19 | |
gtodd | m: my @A = ( [< 1 2 3 4 5 >], [< 12 34 45 56 78>] ) ; say @A[*;2] | 21:20 | |
camelia | rakudo-moar 86dc3c: OUTPUT«3 45» | ||
21:21
testserver41 left
|
|||
gtodd | is there a way to add those those numbers using that approach ? Z+ | 21:23 | |
21:23
FROGGS[mobile] left
|
|||
timotimo | sounds like [+] to me | 21:23 | |
gtodd | oh right add all the columns ... | 21:24 | |
timotimo | you want to add up all columns? | ||
gtodd | I coudln't see how to do it with anon arrays in the array | ||
pmichaud | m: my @a = ( [< 1 2 3 4 5 >], [< 12 34 56 78 90 >] ); say @A[*;2].perl | ||
camelia | rakudo-moar 8d0294: OUTPUT«===SORRY!=== Error while compiling /tmp/L39a8kTWvkVariable '@A' is not declaredat /tmp/L39a8kTWvk:1------> < 12 34 56 78 90 >] ); say @A[*;2].perl⏏<EOL> expecting any of: method arguments» | ||
pmichaud | m: my @a = ( [< 1 2 3 4 5 >], [< 12 34 56 78 90 >] ); say @a[*;2].perl | ||
camelia | rakudo-moar 8d0294: OUTPUT«("3", "56")» | ||
pmichaud | hrm. | 21:25 | |
m: my @a = ( [< 1 2 3 4 5 >], [< 12 34 56 78 90 >] ); say @a[*;2,3].perl | |||
camelia | rakudo-moar 8d0294: OUTPUT«(("3", "4"), ("56", "78"))» | ||
21:26
kst`` is now known as kst
|
|||
gtodd | it's cool but I thought I could make operators do things to it :-) | 21:26 | |
pmichaud | m: my @a = ( [< 1 2 3 4 5 >], [< 12 34 56 78 90 >] ); say [Z] @a[*;2,3] | ||
camelia | rakudo-moar 8d0294: OUTPUT«3 4 56 78» | ||
pmichaud | m: my @a = ( [< 1 2 3 4 5 >], [< 12 34 56 78 90 >] ); say ([Z] @a[*;2,3]).perl | ||
camelia | rakudo-moar 8d0294: OUTPUT«(("3",), ("4",), ("56",), ("78",)).list» | ||
pmichaud | probably need some spec clarity there. | 21:27 | |
jnthn | m: my @a = [< 1 2 3 4 5 >], [< 12 34 56 78 90 >]; say @a>>.reduce(&[+]) | ||
camelia | rakudo-moar 8d0294: OUTPUT«15 270» | ||
gtodd | ok then :-) | ||
jnthn | That's the shortest I can immediately think of. | 21:28 | |
m: my @a = [< 1 2 3 4 5 >], [< 12 34 56 78 90 >]; say @a>>.reduce(*+*) # shorter I guess | |||
camelia | rakudo-moar 8d0294: OUTPUT«15 270» | ||
gtodd | :-D | ||
jnthn | Though I kinda prefix the first | 21:29 | |
uh, *prefer* the first... | |||
gtodd | I thought I could figure out how to add the "columns" (1+12) (2+34) etc | ||
jnthn | Oh... | 21:30 | |
Sorry, I misunderstood columns :) | |||
timotimo | it seems like you'll X+ |@a in that case? | ||
gtodd | AoA and the anon [ ] inside stumped me ... there's roundabout way to do it but ... | ||
ah OK | |||
trying that next :-D | 21:31 | ||
jnthn | m: my @a = [< 1 2 3 4 5 >], [< 12 34 56 78 90 >]; say [>>+<<] @a | ||
camelia | rakudo-moar 8d0294: OUTPUT«13 36 59 82 95» | ||
dalek | ast: 0c4dac7 | usev6++ | / (37 files): Check for Exception instead for X::AdHoc |
||
gtodd | \o/ | ||
[>>+<<] that is what I wanted!!! | 21:32 | ||
wheee | |||
not [+] | |||
timotimo | ah | ||
breinbaas | hi. I'm struggling a bit with install of a perl6 and its database access module, DBIsh | 21:33 | |
gtodd | no need to do columnish things that way ... can do the columnn stuff after the arithmetic | ||
21:33
pat_js joined
|
|||
breinbaas | I installed perl6 and I seem to have panda now as well, but any panda install DBIsh complains "could not find Shell::Command ..." | 21:34 | |
21:35
aindilis left
|
|||
breinbaas | so tried: panda install Shell::Complain but with same error. I'm clearly missing something :) | 21:36 | |
oops: Shell::Command | |||
timotimo | panda needs Shell::Command to run at all :o | 21:37 | |
did you install a Rakudo Star? | |||
breinbaas | I downloaded from the git repo | 21:38 | |
gtodd | jnthn: so add the "5th column" ( [>>+<<] @A )[4] ... I think I was mesmerized by the awesomeness of "@A[*;2]" | ||
timotimo | breinbaas: you got yourself "rakudo/rakudo" from github? | ||
gtodd | I find "@A[*;2]" so amazing that I think I have to use it but it is just another nice little "featurette" | 21:39 | |
timotimo | maybe you have more than one rakudo on your system? | ||
if you clone tadzik/panda and ./rebootstrap.pl you should get a working panda | |||
breinbaas | timotimo: git clone git://github.com/rakudo/rakudo.git | ||
timotimo | that shouldn't give you a panda | 21:40 | |
breinbaas | timotimo: ah ok, I didn't do that yet, I'll try that, thanks | ||
timotimo | and if you built that rakudo and installed it to where your system looks for it, that should actually explode properly | ||
which is why i think you have more than one rakudo | |||
"make install" will install that rakudo to whatever --prefix= you supplied to Configure.pl - if you didn't supply any, it'll be in rakudo/install | 21:41 | ||
breinbaas | I build it every now and then but I now deleted everything before the rebuild, I think | ||
timotimo | hm, ok | 21:42 | |
breinbaas | I did: perl Configure.pl --gen-parrot --gen-moar --gen-nqp --backends=parrot,jvm,moar | ||
then make && make test && make install | |||
timotimo | hmm, haven't built a rakudo-parrot or jvm in a long-ish time | 21:43 | |
breinbaas | what's the preferred backend? | ||
moar then :) | |||
timotimo | yeah :) | 21:44 | |
21:45
kjs_ left
|
|||
breinbaas | I'll just experiment some more, thank you | 21:46 | |
timotimo | have fun! :) | ||
breinbaas | I hear perl6 became faster so I'nm curious about the db access :) | 21:47 | |
dalek | p: 736f36a | TimToady++ | src/QRegex/NFA.nqp: calculate literal lengths We don't install lit length in the fates yet because this apparently blows up earlier stages of nqp build for some reason, so we'll wait till we rebootstrap stage0 for other reasons and see if it works then. |
||
p: f9c9461 | TimToady++ | src/QRegex/NFA.nqp: tabs -> spaces fixup |
|||
21:47
j4jackj joined
21:48
j4jackj is now known as Guest25786
|
|||
timotimo | good old circularity saw ... | 21:49 | |
breinbaas: we've been getting pretty nice performance improvements in over the last months | |||
breinbaas: you may have heard talk of the "Great List Refactor", which is going to make our lists (both lazy and eager) better and faster | |||
breinbaas | timotimo: nice, there surely will be some trickle-down of that in the db access too ;) | 21:50 | |
timotimo | sounds possible | 21:51 | |
breinbaas | does this look ok? perl Configure.pl --gen-parrot --gen-moar --gen-nqp --backends=moar # still need that --gen-parrot ? | ||
timotimo | don't need --gen-parrot | ||
breinbaas | ok | ||
timotimo | personally, i'm excited by the prospect of actually jitting a native call invocation into an actual regular native call | ||
rather than going through the completely dynamic thingie that does it for regularly interpreted code | 21:52 | ||
but also the jit is refusing some amount of frames because our parameter handling isn't awesome yet | 21:53 | ||
21:55
Guest25786 is now known as red-fireswirl
21:56
bartolin left
21:59
_slade_ joined
22:00
adu left
22:01
Hor|zon joined
22:02
Mouq joined
22:07
Hor|zon left
|
|||
breinbaas | ok, rebuilt everything, works now. Thanks! ( you were right, there was an old panda/ dir ) | 22:21 | |
22:23
denis_boyun_ left,
denis_boyun_ joined
22:24
Alula left
22:26
rindolf left
22:27
red-fireswirl is now known as j4jackj
22:28
vendethiel- left
22:29
vendethiel joined
22:39
treehug88 left
22:42
erkan joined,
erkan left,
erkan joined
22:50
guru joined,
guru is now known as Guest7663,
Guest7663 is now known as ajr_
|
|||
[Coke] | anyway to tell rakudo's configure to build nqp and moar with -jX ? | 22:53 | |
23:24
Hor|zon joined
23:25
denis_boyun_ left
23:29
Hor|zon left
23:30
araujo joined
|
|||
dalek | kudo/nom: 7c0c1b6 | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm: Make sure we can from/removed obsolete vars also |
23:30 | |
kudo/nom: 90fbcd7 | (Elizabeth Mattijsen)++ | src/core/ (13 files): Put from/removed info on current Deprecations |
|||
kudo/nom: 0dcd0d6 | (Elizabeth Mattijsen)++ | src/core/Label.pm: Remove reference to obsolete $*OS $*DISTRO.is-win is what we really wanted |
|||
23:31
adu joined
23:34
woolfy left
23:35
adu left
23:36
woolfy joined,
adu joined
23:37
BenGoldberg joined
|
|||
dalek | ast: 7f2ba11 | (Elizabeth Mattijsen)++ | S02-types/deprecations.t: Adapt deprecation messages to new format |
23:43 | |
lizmat | good night, #perl6! | 23:44 | |
gtodd | night! | 23:48 | |
lizmat: will ask you a question about error messages after I figure out a bit more where they come from | |||
23:48
ajr_ left
|
|||
gtodd | maybe tomorrow | 23:49 |