»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
ShimmerFairy | anyone else getting "Default constructor for 'Panda::Ecosystem' only takes named arguments" for latest panda (and latest rakudo) now, doing ./bootstrap.pl ? | 00:02 | |
tadzik | yeah, jit bug | 00:08 | |
ShimmerFairy | Can I do something about it, or am I stuck without panda for however long? :( | ||
(also, a link to the specifics of the bug?) | 00:10 | ||
tadzik: ? | 00:28 | ||
raiph | ShimmerFairy: irclog.perlgeek.de/perl6/2015-09-20#i_11248456 and below | 00:37 | |
ShimmerFairy | thanks :) | 00:38 | |
raiph: and that 'my $ = ' workaround mentioned seems to be a usable workaround \o/ | 00:40 | ||
00:47
colomon left,
colomon joined
01:09
zakharyas joined
01:13
leont left
01:18
Peter_R left
01:27
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:29
frodwith joined
01:58
kid51 left
02:03
colomon left
02:04
colomon joined
02:32
araujo_ joined
02:33
araujo left,
araujo_ left
02:34
araujo_ joined
02:46
noganex joined
02:49
noganex_ left
02:55
TEttinger joined
02:59
laouji joined
03:01
kaare_ joined
03:04
laouji left
03:24
araujo__ joined
03:25
araujo_ left
03:44
vendethiel joined
03:49
CQ2 joined
03:52
CQ left,
CQ2 is now known as CQ
04:00
laouji joined
04:01
laouji left
04:03
cognominal joined
04:07
laouji joined
04:08
vendethiel left
04:12
skids left
04:14
rurban joined
04:16
laouji left
04:24
laouji joined
04:26
rmgk left,
rmgk_ joined,
rmgk_ is now known as rmgk
04:28
laouji left
04:56
khw left
05:25
davido_ joined
05:39
laouji joined
05:42
zacts joined
05:43
xinming left,
laouji left
05:44
xinming joined
05:48
araujo__ left
05:56
[Sno] left
05:58
cognominal left
06:00
rurban left
06:04
diana_olhovik joined
06:09
laouji joined,
mmapp joined,
rurban joined
06:13
laouji left
06:18
mmapp left
06:20
rurban left
06:23
jack_rabbit_ joined
06:41
aborazmeh left
|
|||
moritz | ShimmerFairy: MVM_JIT_DISABLE=1 is also a useful workaround | 06:48 | |
ShimmerFairy | ah, thanks | ||
06:57
oetiker left
07:01
davido_ left
07:02
domidumont joined
07:07
domidumont left,
domidumont joined
07:11
frodwith left
07:30
FROGGS joined
07:31
abraxxa joined
07:34
[TuxCM] joined
07:39
rindolf joined
07:51
brrt joined
07:55
salva joined
08:06
dakkar joined
08:09
laouji joined,
FROGGS left
08:12
darutoko joined
08:13
Alina-malina left,
laouji left
08:20
araujo joined,
araujo left,
araujo joined
08:22
Alina-malina joined
08:33
TEttinger left
08:43
[Sno] joined
08:47
AlexDaniel joined
08:50
rindolf left
08:51
grondilu joined
08:53
isacloud left,
preyalone left
08:56
mprelude joined
09:06
cschwenz joined,
cschwenz left
09:07
isacloud joined
09:12
preyalone joined
09:16
zakharyas left
09:24
laouji joined
09:28
laouji left
09:30
cognominal joined,
cognominal left
09:35
larion joined
09:49
espadrine joined
09:54
laouji joined
09:56
brrt left
09:58
laouji left
10:04
andreoss joined
10:06
leont joined
10:13
Guest34943 is now known as felher,
andreoss left
10:25
abraxxa left
10:26
abraxxa joined
10:27
cognominal joined
|
|||
lizmat drops a pin | 10:47 | ||
nine | sssht! | 10:49 | |
masak combs the sound waves back to placidity | 10:53 | ||
11:01
telex left
11:02
telex joined
|
|||
DrForr drops a pin 180 degrees out of phase. | 11:02 | ||
11:03
rindolf joined
|
|||
masak | I hear you can drop pins to approximate the value of pi | 11:03 | |
basically a simple Monte Carlo simulation | |||
DrForr | Yep, a wood strip floor and pins exactly as wide as the strip, I think 4/\pi pins will cross the boundary on average. French mathematician, I think. | 11:05 | |
masak | I approve of anyone who assumes LaTeX notation for explaining things | 11:06 | |
moritz | or simply draw a quarter circle, and drop grain or something | ||
masak: did you mean \LaTeX notation? :-) | |||
or was that \latex (to produce the logo)? | |||
moritz is rusty | |||
DrForr looks around for a bell, eventually we'll need it ;) | 11:07 | ||
moritz | DrForr: you mean for ee'Tex (ding) ? | ||
DrForr | Got it in one. Biobreak, back in a while. | ||
masak .oO( ìTex ) | |||
11:10
Ven joined
11:12
][Sno][ joined
11:13
rurban joined
11:15
[Sno] left
11:24
woolfy joined
|
|||
DrForr waves at woolfy | 11:24 | ||
woolfy waves back to DrForr (continent-wide wave) | 11:25 | ||
Ehm... | |||
German Perl Workshop will be on 9-12 March 2012: act.yapc.eu/gpw2016/ | |||
german Perl Workshop would like to have a lot of Perl 6 talks, since it will be shortly after the launch of Perl 6.0.0. | |||
DrForr | Well, I should be strong enough to make it by then... :) | 11:26 | |
pink_mist | 2012? 0_o | ||
moritz | 2016 :-) | ||
pink_mist | that makes more sense :P | 11:27 | |
moritz | woolfy: also, I'll be one of the folks deciding which talks will be accepted :-) | ||
DrForr | o/' Goin' back in time... o/' | ||
woolfy | So if you live in the neighbourhood (Germany, Czech republic, Poland, Sweden, Netherlands, France) and you are a bit or more involved in Perl 6, register, and submit a proposal to talk: act.yapc.eu/gpw2016/newtalk | ||
2016. 2016. 2016. Raah... | |||
moritz: it was Steffen Winkler who asked on the Perl 6 page on Facebook ( www.facebook.com/groups/1595443877388632/ ) | 11:28 | ||
DrForr | Have they decided on a location in Germany? | ||
woolfy | Nuremberg | ||
Lovely city. | |||
moritz | woolfy: ah yes, one of the more active organizers | 11:29 | |
moritz guesses he should get his stuff together and become more active himself | |||
woolfy | moritz: I assume blindly that you will be impartial and make a rightful selection of Perl 5 and Perl 6 and other (maybe not-Perl-related) talks. No favoritism for Perl 6. :-) | 11:30 | |
CQ | maybe a 6:5 ratio of the talks? ; ) | ||
woolfy | :-) | 11:31 | |
moritz | woolfy: assumptions are dangerous... :-) | ||
woolfy | certainly when made blindly... | ||
And bny the way, the Perl 6 page on Facebook is starting to be interesting. Emil Elshishini, for example, asked a question on installing Perl 6 Rakudo via rakudobrew and had some problems, and DrForr reacted by pointing him here. | 11:32 | ||
And itz reacted substantively. | 11:33 | ||
moritz | makes me almost sorry that I'm not active on Facebook | 11:34 | |
DrForr | I'm still somewhat in pain and couldn't quite follow what he was asking. And I thought that more traffic here was a good thing. | ||
timotimo | i'd appreciate it if you could follow the messages on that facebook group without being logged in >_> | 11:36 | |
_itz | timotimo: I think you can. I turned off various things on FB (inc. messenger) and get email alerts | 11:38 | |
DrForr | moritz: It shouldn't. The other perl groups are a cesspool, basically Indian offshored workers either trying to get interview questions asked or asking for people to write their code for them. | ||
_itz | I'm not 100% convinced its actually worth it anyway :) | ||
timotimo | _itz: i don't have a facebook account at all | ||
_itz | timotimo: you aren't missing much | 11:39 | |
11:39
kid51 joined
11:40
kolikov joined
|
|||
timotimo | oh, actually, "i don't have a facebook account" is most probably wrong | 11:40 | |
"i didn't apply for one" is more accurate | 11:41 | ||
DrForr | I didn't either, I just got one one day. Under my real name :( | ||
timotimo | i don't think it makes a difference if you use your real name or not; facebook has such a massive collection of data that the graph just gives it away anyway | ||
DrForr | Oh, definitely. | 11:42 | |
kolikov | m: sub f( Array :@x ) { }; f( x => [] ); | ||
camelia | rakudo-moar c189c7: OUTPUT«Type check failed in binding @x; expected 'Positional[Array]' but got 'Array' in sub f at /tmp/YKqfNG4_W7:1 in block <unit> at /tmp/YKqfNG4_W7:1» | ||
kolikov | m: sub f( Array :$x ) { }; f( x => [] ); | ||
camelia | ( no output ) | ||
moritz | m: sub f(:@x) { }; f x => []; | 11:43 | |
camelia | ( no output ) | ||
timotimo | kolikov: the @ sigil already declares "you want a listy thing", that's why it says "Positional" | ||
so writing "Array @foo" is actually like "an array of arrays" | |||
just like "Int @foo" is "an array declared to hold Int objects" | |||
kolikov | Ha ... I see thanks :) | 11:44 | |
cognominal | I don't have a FB account because I thought they were pure evil; but they gave us react, so they are only mostly evil. Probably pure evil does not exist, we just want to. | 11:45 | |
Ven | ohai, #perl6! | ||
Ven hugs woolfy++ | |||
timotimo | one common pitfall is that if you declare in your signature "Int @foo", you'll have to actually pass an array *declared* to hold Int objects; just putting in an array that has only Int in them is not enough | ||
Zefram_Fysh | oh, that reminds me: S02 shows things like "my Array of Int @a" to get an array of integers, whereas in Rakudo the "Array of" is implicit. S02 should be changed to match Rakudo | ||
kolikov | @ timotimo so ... sub f( Int :@x ) { }; f( x => [1] ); would throw an error ... | 11:47 | |
sub f( Int :@x ) { }; f( x => [1] ); | |||
m: sub f( Int :@x ) { }; f( x => [1] ); | |||
camelia | rakudo-moar c189c7: OUTPUT«Type check failed in binding @x; expected 'Positional[Int]' but got 'Array' in sub f at /tmp/vLWa1wkt__:1 in block <unit> at /tmp/vLWa1wkt__:1» | ||
timotimo | yeah | ||
moritz | kolikov: correct | ||
timotimo | m: sub f( Int :@x ) { }; f( x => Array[Int].new(1) ); | ||
camelia | ( no output ) | ||
timotimo | m: sub f( Int :@x ) { }; my Int @thingie = 1, 2, 3; f( x => @thingie ); | ||
camelia | ( no output ) | ||
DrForr | woolfy: Do you think pointing people to #perl6 is the right thing to do? | ||
pink_mist | can you make the Int :@x coersive? | 11:48 | |
timotimo | pink_mist: we don't have a solution for that yet | ||
pink_mist | ah, darn | ||
woolfy hugz Ven | |||
11:49
dalek left
|
|||
woolfy | DrForr: don't know yet. I can just hope that some people come here and do good things. | 11:49 | |
Zefram_Fysh | you can't coerce because the array is writable | ||
timotimo | aye, and the coerced array would just be a copy | ||
Zefram_Fysh | interesting variant here: | 11:50 | |
11:50
dalek joined,
ChanServ sets mode: +v dalek
|
|||
Zefram_Fysh | m: sub f(Numeric @x) { @x[0] = 1/3; }; my Int @a; f(@a); say @a[0] | 11:50 | |
camelia | rakudo-moar c189c7: OUTPUT«Type check failed in assignment to '@a'; expected 'Int' but got 'Rat' in sub f at /tmp/O4Of0KFWGT:1 in block <unit> at /tmp/O4Of0KFWGT:1» | ||
timotimo | or you'd replace the thing passed-in, which only works if it's not literal (and it'll confuse the F out of people) | ||
DrForr | Well, as we get closer to release more people will come in, may as well start boiling the proverbial frog :) | ||
Zefram_Fysh | Array[Int] satisfies the Positional[Numeric] constraint, but the Int constraint is enforced on write | ||
kolikov | timotimo : I'll take Array[].new() then ... Thanks ! | 11:51 | |
moritz | Zefram_Fysh: we'd need covariant and contravariant typing to avoid that | ||
Zefram_Fysh | yes | ||
moritz | and I don't think anybody wants that :-) | 11:52 | |
Zefram_Fysh | it is somewhat strange that after the (Numeric @x) declaration you can't write an arbitrary Numeric into the array. I think I'd sometimes want to get that sort of guarantee | 11:53 | |
moritz | the Perl 6 type system isn't strong enough to give that guarantuee, ever | 11:54 | |
and I don't think it can be made that way, while still staying naturally usable in a dynamic language | |||
11:54
kid51 left
11:55
SteffenW joined
|
|||
dalek | kudo/nom: c26954b | lizmat++ | src/core/Str.pm: GLRify Str.lines properly for $str.lines now 40% faster, and $str.lines.elems 14x as fast. |
11:56 | |
Zefram_Fysh | the Positional[Numeric] parameter type could be taken to require an exact match on Numeric for writable Positional types, and that would be useful | ||
moritz | no | 11:57 | |
Zefram_Fysh | no? | ||
moritz | in your exmaple, Positional[Any] would also allow the write | ||
so it'd be too strict | |||
Zefram_Fysh | but Positional[Any] would lack the read guarantee | ||
for read/write types, you need an exact match on the element type | |||
moritz | but the rabbit hole goes much deeper | ||
you can't require an exact match for Positional[Numeric]; Array[Numeric] isn't an exact match | 11:58 | ||
so you have to special-case the first part of the type check | |||
Zefram_Fysh | I only said you'd need an exact match on the element type | ||
and only for read/write Positional classes, such as Array | |||
for read-only container classes, a covariant match of element type is appropriate | 11:59 | ||
moritz | but that gives trouble for nesting | ||
Zefram_Fysh | and in theory, a write-only container class would want a contravariant match of element type | ||
moritz | sub f(Positional[Numeric] @x) { g(@x[0]) }; sub g (Numeric @x) { g[0] = 1/3 } | 12:00 | |
Zefram_Fysh | the nesting works just fine. same rules apply at each level, based on the kind of match required by the level above | ||
moritz | so you don't want to special-case based on nesting, but on whether it's a container vs. element type? | ||
Zefram_Fysh | huh? | ||
container vs element type is not an inherent feature of the classes, it's about the relationship between them | 12:01 | ||
moritz | in sub f(Positional[Numeric] @x) | ||
the expected type is Positional[Positional[Numeric]] | |||
Zefram_Fysh | yes | ||
moritz | would you allow passing an Array[Array[Numeric]] to it? | 12:02 | |
Zefram_Fysh | no | ||
moritz | then it's pretty useless | ||
because you can't instantiate Positional | |||
Zefram_Fysh | an Array[] argument would require exact match of the element type, and Array[Numeric] isn't the same as Positional[Numeric] | ||
Positional[Positional[Numeric]] would accept a read-only container at top level with Array[Numeric] elements | 12:03 | ||
12:03
pullphinger joined
|
|||
SteffenW | act.yapc.eu/gpw2016/ German Perl Workshop, Wed 2016-03-09, registration is open, think about your talks, 3 conference days + 1 hackathron day + partnerprogramm | 12:03 | |
Zefram_Fysh | does List work as a read-only Positional? | 12:04 | |
moritz | SteffenW: woolfy already came in here :-) | ||
m: say List ~~ Positional | |||
camelia | rakudo-moar c189c7: OUTPUT«True» | ||
Zefram_Fysh | m: say List[Int].new(1,2) | 12:05 | |
camelia | rakudo-moar c189c7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dWY0zqIU1lList cannot be parameterizedat /tmp/dWY0zqIU1l:1------> 3say List[Int]7⏏5.new(1,2)» | ||
Zefram_Fysh | I think you'd want a List that actually contains only T values to count as a Positional[T], despite the lack of explicit parameterisation of List for construction | 12:07 | |
moritz | Zefram_Fysh: that would be nice, but also confusing, because Lists are lazy | 12:08 | |
Zefram_Fysh | oh, right | ||
is there an eager equivalent? | 12:09 | ||
moritz | no | ||
Zefram_Fysh | that's troublesome, then | ||
moritz | well, there's array (with lower case), but that's already natively typed | ||
Zefram_Fysh | a lack of immutable structured types would certainly impact the practicality of the theoretically-correct type system | 12:10 | |
moritz | any theoretician will facepalm when confronted with Perl 6's type system | 12:13 | |
timotimo | aye, sadly it's no good for those kinds of people | ||
it's still loads better than what perl5 offers, mind you :P | |||
Zefram_Fysh | with List being lazy, maybe it *should* be explicitly parameterisable | 12:15 | |
[TuxCM] | when will panda be fixed? | ||
moritz | when will MoarVM be fixed? | 12:19 | |
12:21
luiz_lha joined
|
|||
pink_mist | . o O ( panda fixed? a neutered panda? ) | 12:21 | |
12:21
luiz_lha is now known as Guest81364
|
|||
timotimo | was there ever a change to moarvm to make the "return with nameds" thing work? | 12:22 | |
moritz | timotimo: seems not; which is why panda is still broken | ||
timotimo | but then why does disabling the jit fix the problem? | ||
i haven't looked at gen'd code yet, but the jit isn't really treating return ops differently from the interpreter | 12:23 | ||
12:23
Guest81364 is now known as luiz_lha
|
|||
jnthn | afternoon, #perl6 | 12:23 | |
timotimo | the only thing that'd make sense to me would be that the spesh'd versions of the return ops don't work perfectly, but return ops don't actually get spesh'd *and* then keeping spesh on should also show the problem | ||
moritz | timotimo: I have no idea | ||
DrForr | Afternoon. | 12:24 | |
12:24
Ven left
|
|||
timotimo | me neither :| | 12:29 | |
i should look at the generated code to figure out what's wrong | |||
dalek | kudo-star-daily: e1b343f | coke++ | log/ (8 files): today (automated commit) |
12:32 | |
rl6-roast-data: 15e0990 | coke++ | / (9 files): today (automated commit) |
|||
12:33
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
nine | woolfy: are there still talk slots available for FOSDEM? | 12:35 | |
timotimo | wait ... | 12:36 | |
the problem arises from having "return Foo::Bar.new(named parameters here)" vs "Foo::Bar.new(named parameters here)" ?!? | |||
jnthn | timotimo: Did you manage to recreate it? | 12:37 | |
timotimo | no, just digging through the irclog so far | 12:38 | |
jnthn | ah | ||
[Coke] | mst: Pretty sure I have a tcl grammar lying about somewhere. | ||
timotimo | irclog.perlgeek.de/perl6/2015-09-19#i_11245158 - this is a relevant section | ||
DrForr | There's a TCL ANTLR grammar, maybe use my converter? | 12:42 | |
lizmat | nine: could it be that Inline::Perl5 has not be de-EnumMapped ? | 12:47 | |
nine | lizmat: oh indeed! | 12:48 | |
dalek | line-Perl5: fd6413e | (Stefan Seifert)++ | lib/Inline/Perl5.pm6: EnumMap is now Map Thanks to lizmat++ for the reminder! |
12:50 | |
lizmat | nine: Can't locate Sub/Name.pm in @INC # didn't know Sub::Name is now a requirement ? | ||
[TuxCM]: export MVM_JIT_DISABLE=1 will for now allow you to build panda | 12:51 | ||
Ulti | nine if I wanted to fix my code ahead of lots of hash/map changes should I work against your GMR branch? or is that more speculative than spec at the moment? | 12:52 | |
nine | timotimo: maybe github.com/rakudo/rakudo/commit/0d40e0080 gives a hint what could go wrong? | ||
Ulti: it's already merged | |||
Ulti | nine ahh ok cool | ||
I will start fixing my BioInfo package then | 12:53 | ||
its a lot more dead than I had hoped for ;___; | |||
12:53
cognominal left
|
|||
nine | lizmat: yes Sub::Name is a requirement now. I seem to have thought that it's in CORE. May degrade it to a runtime requirement, since it's only required if you use v6::inline; | 12:53 | |
timotimo | nine: are we sure that the $*IN_RETURN gets cleared properly for things? | ||
Ulti | I suspect mostly a generous sprinkle of .flat or .list will bring it back to life | ||
nine | timotimo: do not assume that. If anything I cargo culted and no one has cought me yet. | 12:54 | |
12:54
brrt joined
|
|||
timotimo | hah | 12:54 | |
lizmat | nine: This is perl 5, version 20, subversion 0 (v5.20.0) built for darwin-2level is on OS X 10.10.5 and does not have Sub::Name | ||
woolfy | nine: there's no official call for proposals for FOSDEM yet. But... | 12:55 | |
lizmat checks for updates | |||
timotimo AFK for a bit | |||
ilmari | nine: Sub::Name is not in core. Sub::Util is as of 5.22 | ||
Sub::Util includes the functionality from both Sub::Name and Sub::Identify | |||
woolfy | nine: FOSDEM no news yet: fosdem.org/2016/news/ | ||
[Coke] sees that PerlJam closed a ticket assigned to Coke without checking with coke, and coke didn't get an email. | 12:56 | ||
nine | woolfy: with so much time still available, I'm not sure what exactly I'm gonna be able to talk about. However I do know that I would want to give a talk again :) | 12:57 | |
ilmari: oh, nice. So replacing Sub::Name::subname by Sub::Util::set_subname would already help many people. | |||
[Coke] | woolfy: there's a perl 6 page on facebook? | ||
Ulti | there's also a Perl 6 sub reddit that no one goes to :S | 12:58 | |
or at least no one comments on | |||
DrForr | Courtesy yours truly. There wasn't much p6 traffic, I thought it was because everyone was fixated on p5. | ||
[Coke] | Ulti: if I reddited, I'd use it. :) | 12:59 | |
brrt | timotimo: broken stuff? | ||
DrForr | Lots of modules in the ecosystem, but very few people talking about them. | 13:00 | |
brrt | aye, but jit bug? | ||
nine | lizmat: demoting to a runtime dependency won't help much if the tests still fail....hmm... | 13:01 | |
Ulti | [Coke] I just use it for Perl news, other than twitter its about the only place with up to date info | 13:02 | |
lizmat | if I recall correctly, Sub::Name is a minimal amount of XS | ||
nine: maybe it would be handier to just put the XS into the Inline::Perl5 logic ? | |||
woolfy | Slides of Perl 6 talk by garu during YAPC::Brasil. In Portuguese. www.slideshare.net/garux/introduo-ao-perl-6 | ||
brrt | .ask timotimo is this a new jit bug or the old one? | 13:03 | |
yoleaux | brrt: I'll pass your message to timotimo. | ||
nine | lizmat: that's my current line of thinking. It's not that much code. | ||
woolfy | nine: you are welcome to send a talk proposal to me. Or just tell me you want to talk in the Perl-devroom, and I will put you on the list to contact next month, to ask you for a title, summary, and your "bio". | 13:04 | |
[Coke]: Perl 6 page on Facebook: indeed. www.facebook.com/groups/1595443877388632/ | 13:05 | ||
DrForr | He's already signed up :) | ||
nine | woolfy: yes I do want to talk in the Perl-devroom and please put me on the list :) I will probably talk about some Perl 5 <-> Perl 6 stuff :) | ||
DrForr | Sigh. Throw my name on there as well, I'll try a different approach :) | 13:06 | |
13:06
larion left
|
|||
woolfy | nine: will do. by the way, I am utterly surprised that you want to talk about Perl 5 <-> Perl 6 stuff. ;-) | 13:06 | |
nine | brrt: the bug faced with merging the gmr branch which adds a Pair.new($key, $value) candidate. So far I've failed to reproduce it outside of panda. | 13:07 | |
brrt | gmr branch? | ||
woolfy | DrForr: throw your name on the list of speakers for Perl-devroom at FOSDEM? Or were you not talking to me? | ||
DrForr | Yes, that. | ||
nine | woolfy: yeah, who'd have thought? ;) | ||
woolfy | DrForr: done | 13:08 | |
nine: me me me me me! | 13:09 | ||
DrForr | I missed a chance to promote ::ToPerl6 at YAPC, FOSDEM will have to do :) | ||
woolfy | DrForr: I can't guarantee we will get a devroom. I can't even apply for one yet, since they did not start the process yet. | 13:10 | |
DrForr | 'sokay, I can see the writing on the wall. | ||
nine | brrt: basically postcircumfix.com/2015-08-29-untang...-hierarchy | ||
brrt | oh, yes | ||
i read that, looked good | 13:11 | ||
hmmm | |||
nine | brrt: thought so, too, so I implemented it :) | ||
brrt | ok, so with that, we have a bug in panda | ||
somehwere | |||
brrt realizes he's some weeks behind his rakudo | 13:12 | ||
13:13
Ven joined
|
|||
nine | brrt: return 1, :foo(2); needed fixing because foo got promoted to a named argument, despite being just a Pair constructor. My first attempt caused foo in return Foo.new(:foo(1)) to no longer be a named argument, but I fixed that. It seems like the JIT needs some fix for that as well. | 13:13 | |
[TuxCM] | OH WOW | 13:14 | |
test 50000 34.591 34.512 | |||
test-t 50000 35.531 35.451 | |||
brrt | so, return 1, :foo(2) breaks evilly in the JIT? | ||
moritz | nine: there's nothing wrong with return 1, :foo(2) having :foo as a named argument, as long as &return doesn't discard named params | 13:15 | |
13:15
aborazmeh left
|
|||
nine | moritz: but &return does | 13:16 | |
moritz | nine: then &return needs fixing, not the grammar or actions | ||
13:17
andreoss joined
|
|||
nine | moritz: is return a function or is it just implemented as one? | 13:17 | |
moritz | src/core/control.pm:my &return := -> | { | 13:18 | |
nine: it's a block, actually | |||
not a function | |||
13:19
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
nine | That's how it's implemented. I'm wondering about the design. | 13:20 | |
lizmat | [TuxCM]: better ? | 13:22 | |
fwiw, I think it should be a sub :-) | 13:23 | ||
but I seem to recall, that breaks things at least on the JVM | |||
nine | brrt: no, this: github.com/tadzik/panda/blob/maste...App.pm#L39 | ||
13:23
cognominal joined
|
|||
brrt | hmm, ok | 13:24 | |
oh, i have a hypothesis | |||
nine | brrt: the error message indicates, that those arguments to the constructor are no longer promoted to named ones. | ||
brrt | oh, i no longer have a hypothesis | ||
nine | :( | ||
brrt: github.com/rakudo/rakudo/commit/0d40e0080 was my fix for return 1, :a(2); | 13:25 | ||
timotimo | brrt: it actually seems like a function that takes named arguments breaks when a "return" is put in front of it | ||
yoleaux | 13:03Z <brrt> timotimo: is this a new jit bug or the old one? | ||
timotimo | but only if the jit is turned on | ||
which ... wtf? | |||
brrt | ok, let's try that out | 13:26 | |
this in all rakudo's or just the gmr rakudo | |||
timotimo | there's no "gmr rakudo" | ||
gmr has been merged into nom already | |||
brrt | oh | ||
ok :-) | 13:27 | ||
13:31
cschwenz joined,
cschwenz left
13:35
Ven left
|
|||
[TuxCM] | lizmat, yes | 13:36 | |
first time ever under 36 | 13:37 | ||
lizmat | I guess it's my .lines changes... | ||
13:37
AlexDani` joined
|
|||
lizmat | hmmm... can't be | 13:37 | |
[TuxCM]: no idea what caused that improvement | 13:38 | ||
[TuxCM] | and my stuff has no .lines calls anywhere :) | ||
lizmat | yeah :-) | ||
jnthn | I thought the outer loop of test-t uses lines() ? | ||
13:38
AlexDaniel left
|
|||
lizmat | ah, could be :-) | 13:39 | |
13:40
larion joined
|
|||
nine | Yes, it does. | 13:40 | |
13:42
Ven joined
13:43
SteffenW left,
mullagainn joined
|
|||
[Coke] | RT: 1,025 ; GLR - 3; testneeded - 9; Christmas - 108 | 13:48 | |
[TuxCM] | else { # fastest, but unsafe | 13:49 | |
for lines () :eager { | |||
jnthn | [Coke]: How'd you get the 108? :) | ||
[TuxCM] | that one? | ||
timotimo | you can kick out the :eager fwiw | ||
jnthn | [Coke]: I'm guessing you counted dependencies of RT #123766? | ||
[Coke] | jnthn: the hard way. | ||
jnthn | Damn, I thought you had a clever way. But when I counted yesterday I got 118...hmm :) | 13:50 | |
[Coke] | right, looked at linked tickets,copied them into vi, checked the #lines. | ||
jnthn | Hm | ||
OK :) | |||
[Coke] double checks.. | |||
same. | |||
[Coke] chuckles at rt.perl.org/Ticket/Graphs/index.html?id=123766 | 13:51 | ||
timotimo | blergh %) | 13:52 | |
brrt | oh, lord, that is indeed difficult to reproduce | 13:53 | |
nine | [Coke]: I cannot look at that graph. Neither with the anonymous user, nor with my own. | 13:54 | |
13:54
laouji joined,
AlexDani` is now known as AlexDaniel
|
|||
lizmat | [TuxCM]: forget about :eager, just use .lines: it's safe now | 13:54 | |
nine | and fast :) | 13:55 | |
[TuxCM] | test 50000 34.742 34.663 | ||
test-t 50000 35.831 35.752 | |||
without :eager | |||
[Coke] sees a ticket mail, ponders replying to it as a DIHWIDT, and sees that jnthn++ has already fixed it, added tests, and closed it. | 13:56 | ||
13:57
aborazmeh left
13:58
laouji left
13:59
rurban left
14:02
hernanGOA joined
14:04
Ven left,
skids joined
|
|||
andreoss | could list comprehension be lazy? | 14:04 | |
m: my @f = ($_ if $_ %% 2 for 1..*); say @f[^10]; | 14:05 | ||
camelia | rakudo-moar c26954: OUTPUT«(timeout)» | ||
timotimo | hmm | 14:06 | |
i was hoping i could get the extra node info from SpecialArg as well as Op by using "~ callsame", but no joy :( | |||
skids | Array assignment is eager, no? | ||
leont | But binding isn't | ||
andreoss | m: my @f = 1..*; say @f[^10] | 14:07 | |
camelia | rakudo-moar c26954: OUTPUT«(1 2 3 4 5 6 7 8 9 10)» | ||
leont | my @f := (1..*).grep(* %% 2).list; say @f[^10]; | ||
andreoss | m: my @f = (1..*).grep(* %% 3); say @f[^10]; | 14:08 | |
camelia | rakudo-moar c26954: OUTPUT«(3 6 9 12 15 18 21 24 27 30)» | ||
andreoss | it should detect infinite structures and make array lazy explicitly | 14:10 | |
but should it work with python-styled list comprehension? | 14:11 | ||
colomon | panda’s broken for nom? | ||
timotimo | there's a simple fix available, IIUC | 14:12 | |
14:12
brrt left
|
|||
timotimo | we could "just" turn the offending line into two lines | 14:12 | |
14:12
Sqirrel_ left
14:16
Ven joined,
khw joined
|
|||
skids | Ah, It's for. IIRC for was to stay eager at one point due to usual expectations from procedural languages. | 14:20 | |
14:23
aiacob joined
14:24
laouji joined
14:29
laouji left
14:33
Loren joined
|
|||
Loren | evening #perl6 . | 14:33 | |
hoelzro | o/ #perl6 | 14:34 | |
[Coke] | hoelzro, Loren: ohai. | 14:36 | |
hoelzro | o/ [Coke] | ||
Loren | (Coke, hoelzro).map(&sayhi) | 14:37 | |
Is it right? | 14:38 | ||
14:38
hernanGOA left
|
|||
hoelzro | looks good to me =) | 14:38 | |
14:39
hernanGOA joined
|
|||
Loren | haha. | 14:41 | |
dalek | kudo/nom: b578b41 | lizmat++ | src/core/IO/Handle.pm: Only one consumer, we don't need a role This makes IO.words again 20-30% faster, as we're no longer bothered by RT #126120, so we can use a native int for the position. |
14:45 | |
14:46
synbot6 joined,
kivutar joined
|
|||
andreoss | m: sub say-hi { "hi, $^x!" }; qw/coke hoelzro/».&say-hi | 14:49 | |
camelia | ( no output ) | ||
14:49
Sqirrel joined
|
|||
andreoss | m: sub say-hi { "hi, $^x!".say }; qw/coke hoelzro/».&say-hi | 14:49 | |
camelia | rakudo-moar c26954: OUTPUT«hi, coke!hi, hoelzro!» | ||
14:50
brrt joined,
Loren left
14:51
jack_rabbit_ left,
Loren joined
14:53
andreoss left
14:54
xfix joined
14:55
aindilis left
14:56
aindilis joined
14:57
rurban joined
|
|||
brrt | you know what i find confusing? i wouldn't expect make-default-ecosystem to run often at all | 14:58 | |
nine | I also have not been able to reproduce by doing something like sub foo() { return Foo.new(:bar(1)) }; foo() for 1 .. 10000; | 14:59 | |
brrt | that is almost, to the letter, my exact test :-) | 15:00 | |
nine | woah :) | 15:01 | |
timotimo | brrt: you are right, that confused me quite a bit, too | 15:03 | |
nine | Are we sure the JIT is at fault here? | ||
15:04
aiacob left,
oZ_ joined,
oZ_ is now known as oZ]
|
|||
timotimo | well, turning the jit off is the one thing that fixes it ... for no good reason at all IMO | 15:04 | |
15:04
oZ] left
|
|||
nine | That's the only (albeit strong) indicator pointing in the JIT's direction. OTOH I'd assume that the JIT is far too low level for a bug like this. Am I wrong? | 15:05 | |
15:05
domidumont left
|
|||
timotimo | don't think you're wrong | 15:05 | |
but what do i know | |||
15:06
domidumont joined
|
|||
brrt | hmmm | 15:06 | |
i could imagine a bug in handling named arguments, but i'm not seeing good evidence of it | |||
timotimo | did we already check reverting just the "return 1, :a(1)" commit fixes this | 15:08 | |
15:15
[TuxCM] left,
Ven left
|
|||
moritz | timotimo: not that I'm aware of | 15:17 | |
timotimo | i shall have a go | 15:18 | |
brrt | interesting | ||
15:19
DrForr left,
DrForr joined
|
|||
timotimo | yeah, that fixes it | 15:20 | |
i was assuming for a little bit that the constructor to ecosystem is being called with the named parameters as Pair objects instead | |||
but the QAST doesn't look like that | |||
oh, look at that | 15:21 | ||
er, no, the bug isn't going to suddenly show itself again unless i undo the revert %) |