Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-09-28

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

All times shown according to UTC.

Time Nick Message
01:48 ilbot3 joined #perl6-dev
01:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
01:55 ilmari[m] joined #perl6-dev
02:24 cognominal joined #perl6-dev
05:52 cognominal joined #perl6-dev
06:36 RabidGravy joined #perl6-dev
06:36 nine This looks kinda scary: https://travis-ci.org/niner/Inline-Perl5/builds/163222455
06:58 RabidGravy eugh
06:59 dalek rakudo/nom: 5435f32 | bartolin++ | src/core/Exception.pm:
06:59 dalek rakudo/nom: Re-add check for X::Method::NotFound for JVM
06:59 dalek rakudo/nom:
06:59 dalek rakudo/nom: With commit 222d16b0b9 the check for X::Method::NotFound was moved
06:59 dalek rakudo/nom: to a location in src/Perl6/Metamodel/BOOTSTRAP.nqp, that was only
06:59 dalek rakudo/nom: interpreted by MoarVM.
06:59 dalek rakudo/nom:
06:59 dalek rakudo/nom: This lead to about 30 spectest failures on JVM, since Exceptions changed
06:59 dalek rakudo/nom: to X::AdHoc.
06:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5435f32949
06:59 dalek rakudo/nom: c1b9878 | niner++ | src/core/Exception.pm:
06:59 dalek rakudo/nom: Merge pull request #889 from usev6/patch-3
06:59 [TuxCM] This is Rakudo version 2016.09-73-gfc3160c built on MoarVM version 2016.09-1-gdebb859
06:59 [TuxCM] csv-ip5xs        4.344
06:59 [TuxCM] test            15.923
06:59 [TuxCM] test-t           7.111
06:59 [TuxCM] csv-parser      17.518
07:01 dalek rakudo/nom: ff12748 | RabidGravy++ | lib/NativeCall/Types.pm6:
07:01 dalek rakudo/nom: fail rather than return a type object for null deref
07:01 dalek rakudo/nom:
07:01 dalek rakudo/nom: Also add a better Bool coercion for Pointer
07:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ff12748f86
07:01 dalek rakudo/nom: c01fc3a | niner++ | lib/NativeCall/Types.pm6:
07:01 dalek rakudo/nom: Merge pull request #888 from jonathanstowe/new-deref-null
07:01 dalek rakudo/nom:
07:01 dalek rakudo/nom: Prevent a segfault on deref of null typed pointer
07:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c01fc3ac19
07:02 RabidGravy Ooh I was just going to say that should be fine to merge :)
07:29 psch bartolin: 5435f32 is a lot of a workaround, honestly
07:29 psch bartolin: what we really want to do is invoke a handler (stored in P6EX) from NQP when we cannot find the method
07:30 psch bartolin: compare nqp commit f84cc8a for a rough idea how that should happen
07:31 psch bartolin: that handler basically gets invoke in all spots that currently .dieInternal(tc, "Method .+ not found for invocant of type .+")
07:32 psch (because invocation is a lot different between moar and jvm, probably because of indy..? vOv)
07:38 RabidGravy .seen Zoffix
07:39 RabidGravy oh
08:00 bartolin psch: you're right, that workaround is ugly. I can try (later today or on the weekend) to find a cleaner solution. for now the alternative I saw was to fudge all those failing tests -- and I wasn't keen on doing that :-)
08:01 psch bartolin: well, it's not really ugly per se, and it's what we had been doing before, anyway
08:01 psch bartolin: it's just that, in general, we probably want to throw typed Exceptions directly from the backend via a hll handler when we can
08:03 psch bartolin: which, honestly, in this case i'm not completely sure we always can.  i'm not sure we have all we need in e.g. resolve_noa, so it's possible there has to be a more creative/involved solution
08:04 bartolin yeah, I fully agree with 'throw typed Exceptions from the backend'   .oO( if only I had more knowledge (or tuits to aquire that knowledge) ... )
08:04 psch bartolin: but in the end, the clean solution is to replace all .dieInternal(tc, "Method not found") with an Ops.invokeDirect call for the handler in the HLLConfig, which probably is mostly pretty straight forward
08:05 psch the nqp commit i mentioned demonstrates the basic way to do it, although it probably can't just be cargo culted straight away and needs some thought on how to make it work in all the spots we dieInternal for MethodNotFound right now
08:05 bartolin psch: thanks for those pointers! (speaking about gaining knowledge :-)
08:14 lizmat Files=1142, Tests=53171, 228 wallclock secs (12.86 usr  3.69 sys + 1394.19 cusr 130.84 csys = 1541.58 CPU)
08:54 tadzik joined #perl6-dev
09:11 cognominal joined #perl6-dev
10:02 yoleaux2 joined #perl6-dev
10:04 tadzik joined #perl6-dev
10:09 Zoffix m: sub foo (*@what) { @what[*-1] ~= 42; dd @what }; foo <foo bar ber>
10:09 camelia rakudo-moar c01fc3: OUTPUT«["foo", "bar", "ber42"]␤»
10:09 Zoffix m: sub foo (*@what) { @what[*-1] ~= 42; dd @what }; foo 'foo', 'bar', 'ber'
10:09 camelia rakudo-moar c01fc3: OUTPUT«Cannot assign to an immutable value␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
10:09 Zoffix bisect: sub foo (*@what) { @what[*-1] ~= 42; dd @what }; foo 'foo', 'bar', 'ber'
10:09 Zoffix ah, right no bot.
10:11 lizmat Zoffix: I would argue the first case is wrong
10:12 Zoffix I think I recall this being a topic of discussion awhile back.
10:12 * Zoffix is mostly bugged by inconsistency :(
10:12 lizmat m: sub foo (*@what) { @what[*-1] ~= 42; dd @what }; foo <foo>   # even more inconsistent
10:12 camelia rakudo-moar c01fc3: OUTPUT«Cannot assign to an immutable value␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
10:15 lizmat m: use nqp; sub a(*@a) { say nqp::iscont(@a[0]) }; a <a>
10:15 camelia rakudo-moar c01fc3: OUTPUT«0␤»
10:15 lizmat m: use nqp; sub a(*@a) { say nqp::iscont(@a[0]) }; a <a b>
10:15 camelia rakudo-moar c01fc3: OUTPUT«1␤»
10:15 lizmat so apparently the slurpy binder is not deconting its values
10:16 psch j: use nqp; sub a(*@a) { say nqp::iscont(@a[0]) }; a <a b>
10:16 camelia rakudo-jvm cd19db: OUTPUT«1␤»
10:16 psch j: use nqp; sub a(*@a) { say nqp::iscont(@a[0]) }; a <a>
10:16 camelia rakudo-jvm cd19db: OUTPUT«0␤»
10:16 psch what strikes me as odd is that <a b> shouldn't have containers in the first place
10:16 jnthn *@a is meant to give you a mutable array
10:17 jnthn *@a is raw gives you a List of the original values
10:17 psch ah, so the single-elem and flat-list cases are wrong
10:17 psch well, not "flat-list"... the other example that died :S
10:17 lizmat jnthn: TIL
10:18 lizmat ok, so I guess there's something wrong in one of the "from-" methods in src/core/List
10:19 jnthn Yeah. The *@a vs **@a vs +@a causes a differnet method to be called
10:20 jnthn (from-slurpy-flat, from-slurpy, and from-slurpy-onearg)
10:20 jnthn And the "is raw" causes it to be called in the List type object rather than the Array one
10:25 psch geez i'm stressing myself out a lot here, apparently o.o
10:25 psch like, i got an informal job offer about two weeks ago
10:25 psch for some digital signage company with a very impressive client base
10:26 psch and the guy i talked to is somewhere in software management
10:26 psch and now i'm supposed to write a semi-formal and short application to their info@ address
10:26 psch and i'm like "but imposter syndrome" and "how do i do semi-formal" /o\
10:27 psch but a job would be kinda cool around now, soo i guess i gotta cope somehow
10:27 psch thanks for listening :S
10:30 llfourn joined #perl6-dev
10:30 arnsholt psch: Imposter syndrome is a real thing (and I sympathize)
10:31 arnsholt Also, don't underestimate the blank page effect
10:31 timotimo i've heard if you put some bullshit onto the page first, it makes it easier? "editing is easier than adding" or something?
10:31 arnsholt Yeah, editing is so much easier
10:31 psch well, i'm struggling to hit semi-formal, honestly
10:32 arnsholt Yeah, that sounds pretty hard actually
10:32 Zoffix Write formal but remove "To whom it may concern" :P
10:32 psch also condensing my c/v without feeling like i'm cherry picking the best parts is kinda hard too
10:33 psch i mean, sure, on one hand i want the best parts in there
10:33 psch but on the other i also don't want to feel like i'm lying about how spotty my c/v actually is
10:33 Zoffix Just pick what's relevant to that particular job.
10:33 gfldex they want that you work for them, let them condense it
10:33 arnsholt That's kind of what a CV is supposed to achieve though, showcasing the most impressive parts of your experience
10:34 timotimo i thought a CV is there to shame you for taking extended periods of time off from work or training?
10:35 arnsholt Alternatively =)
10:37 timotimo i think when i created my twitter account i chose to get the business-related twitter newsletter to go with it
10:38 timotimo probably for shits and giggles ... it's kind of surreal to read these sometimes
10:39 timotimo " Research shows that over half of the users who follow small to medium sized businesses notice Twitter ads, and the majority of those who notice take action as a result.*"
10:39 timotimo that's strange, because the promoted tweets i see are almost exclusively big businesses
10:40 Zoffix heh. Whose research? The guy's who's trying to make you buy adspace? :)
10:43 timotimo "*Twitter + DB5 “Small Business Customer Insights Study,” U.S. 2014 "
10:45 * masak .oO( is it "imposter" or "impostor"? I'm afraid if I ask I'll come across as ignorant )
10:46 Zoffix Both are correct.
10:46 masak that explains why both of them look slightly wrong to me :P
10:46 Zoffix Though, with the former you can also be hung on the wall :P
10:46 Zoffix .oO( I'm poster... )
10:47 masak I try to avoid that whenever possible
10:47 psch well, 225 words, 1731 bytes.  the guy said to keep it short, so yeah
10:47 psch guess i'm gonna send this now :S
10:47 timotimo fingers crossed!
10:47 timotimo (not wires crossed!)
10:49 * masak .oO( I majored in bomb defusing, with a minor in Never Cut The Red Wire )
10:50 psch oh geez, a formatting error slipped through
10:51 psch welp, no edit function for email :S
10:51 psch it's gonna be fine
10:51 masak aye
10:52 psch back to thinking about how i can get the perl6 hllconfig in CStruct.java
10:52 psch or maybe i should shunt that error handling some where else in the first place, actually
10:53 psch right, so what happens seems to be that we compose classes with repr<CStruct> from NQP, not from Perl 6
10:54 psch which means i don't have the right hllConfig to reach the handler that throws a typed exception, and instead .dieInternal
10:54 * Zoffix gifts psch https://bigmachine.io/products/the-imposters-handbook
10:54 Zoffix :)
10:55 * Zoffix bough an early-pre-release-copy and is disappointed with it so far.
10:59 arnsholt psch: tc.gc.getHLLConfigFor("perl6") should do it, I think?
11:01 psch arnsholt: yeah, probably, but then we die when we run a different HLL
11:01 psch arnsholt: as in, NQP probably shouldn't rely on only running perl6 forever
11:01 arnsholt Yeah, that'd suck
11:01 psch and apparently the current HLL *is* NQP, because that's what curFrame runs under
11:02 arnsholt I think tc.curFrame.codeRef.staticInfo.compUnit.hllName(); gets the current HLL
11:02 psch which is, i think, because we compose in nqp
11:02 arnsholt Yeah, it's an NQP-level API
11:02 arnsholt I guess NQP will have to licence keys in the HLL config which can contain callbacks to throw typed exceptions
11:03 arnsholt If the key doesn't exist, you can dieInternal like we do today
11:03 psch that's what i'm doing
11:03 psch it's also what we're doing for e.g. lexical_handler_not_found_error
11:03 arnsholt Kewl
11:03 psch but the latter happens from perl6, while what i'm doing happens from compose, which is nqp
11:04 arnsholt In that case, I'll stop telling you what you already know, now =)
11:04 psch well, the thing is we'd somehow have to either compose from perl6 level
11:04 psch or have another handler that hands composition errors to the hll
11:05 psch which also sounds kind of not-quite-right, because the composing hll is always nqp anyway
11:05 arnsholt Isn't the HLL a global?
11:06 arnsholt Or was it the inverse I tripped over in Snake, perhaps
11:06 arnsholt I can't remember =/
11:07 psch i don't think i understand the question
11:08 psch the hll can change during runtime, but there's always exactly one current hll..?
11:08 arnsholt I *think* so
11:09 arnsholt jnthn: I guess you might know this one better than me?
11:11 jnthn The current HLL is a property of a compilation unit
11:11 jnthn So, if you're in NQP code, at that point the current HLL is NQP code
11:11 jnthn s/code//
11:14 arnsholt Ah, okay
11:14 arnsholt I was remembering the opposite of what actually happened
11:15 arnsholt In that case, I'm not sure what we should do
11:18 psch yeah, it seems quite difficult to sort out
11:23 arnsholt jnthn: You have any ideas how to get that right, when NQP is in between the actual HLL and the runtime code?
11:23 timotimo enter the compilee's HLL and leave it later on :P
11:23 timotimo and use that to signal what HLL is "out there"
11:23 timotimo (don't do that, that's a very bad idea)
11:25 ilmari[m] joined #perl6-dev
11:25 jnthn Well, if you know which HLL config you want, you can look it up by HLL name
11:30 psch i don't think we want to like CStruct hard to perl6, do we?
11:31 timotimo to be really fair, we don't have other serious consumers of nqp at the moment, so might as well make it a bit more difficult to do this in the future and just put a comment for future users of nqp-for-other-langs in there?
11:50 cognominal joined #perl6-dev
12:03 psch i can't think of a reasonable solution, honestly
12:03 psch i'm really against tying a NC REPR that hard to perl6, even as a workaround
12:03 psch so i guess it stays dieInternal and X::AdHoc until someone figures it out
12:33 [Coke] bartolin: want me to back out those few fudges I did?
12:42 RabidGravy there fixed the "not getting enough header" in LWP::Simple
12:43 hackedNODE RabidGravy++
12:47 jnthn Where are we tending to file langauge design bugs/questions these days?
12:47 moritz I still do it as perl6/specs issues
12:56 jnthn .tell TimToady I've ran into a Unicode regex syntax ambiguity issue if you've a moment to look: https://github.com/perl6/specs/issues/118
12:56 yoleaux2 jnthn: I'll pass your message to TimToady.
13:01 dalek nqp: bfa94f7 | jnthn++ | tools/build/MOAR_REVISION:
13:01 dalek nqp: Bump to MoarVM with Unicode 9.
13:01 dalek nqp: review: https://github.com/perl6/nqp/commit/bfa94f777b
13:02 dalek rakudo/nom: 2cad3d2 | jnthn++ | tools/build/NQP_REVISION:
13:02 dalek rakudo/nom: Get MoarVM with basic Unicode 9 support.
13:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2cad3d214f
13:04 dalek rakudo/nom: f6524e6 | (Zoffix Znet)++ | src/core/Str.pm:
13:04 dalek rakudo/nom: Fix .subst-mutate not returning all matches with :x
13:04 dalek rakudo/nom:
13:04 dalek rakudo/nom: RT#129596: https://rt.perl.org/Ticket/Display.html?id=129596
13:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f6524e61e8
13:04 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129596
13:04 dalek roast: 391ecba | (Zoffix Znet)++ | S05-substitution/subst.t:
13:04 dalek roast: Test .subst-mutate with :x returns all matches
13:04 dalek roast:
13:04 dalek roast: RT#129596: https://rt.perl.org/Ticket/Display.html?id=129596
13:04 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129596
13:04 dalek roast: review: https://github.com/perl6/roast/commit/391ecba7b9
13:04 hackedNODE <3 coverage tests... Finding bugs, before our uses find them :D
13:05 hackedNODE our users too
13:05 travis-ci joined #perl6-dev
13:05 travis-ci NQP build failed. Jonathan Worthington 'Bump to MoarVM with Unicode 9.'
13:05 travis-ci https://travis-ci.org/perl6/nqp/builds/163392763 https://github.com/perl6/nqp/compare/737630a6da1e...bfa94f777b25
13:05 travis-ci left #perl6-dev
13:06 hackedNODE "You asked me to build master, but 2016.09-3-g9b39aa5 is not new enough to satisfy version 2016.09-4-g224a261"
13:07 jnthn arse, I was on the wrong branch :/
13:08 dalek nqp: 2c16625 | jnthn++ | tools/build/MOAR_REVISION:
13:08 dalek nqp: Correct bogus Moar version bump.
13:08 dalek nqp: review: https://github.com/perl6/nqp/commit/2c16625c98
13:10 gfldex jnthn: you may want to consider https://coderwall.com/p/fasnya/add-git-branch-name-to-bash-prompt
13:10 nine I'm so used to that by now that I get thoroughly confused and disoriented when I'm at a shell that doesn't tell me git's status
13:10 jnthn Not sure I'd have paid enough attention to it to prevent this, tbh...
13:12 jnthn Added it anyways :)
13:13 jnthn ooh, having the current directory in a different color is worth that alone :)
13:13 jnthn gfldex++
13:14 hackedNODE That's neat. gfldex++
13:14 nine jnthn: do you just have the branch name, or full status? I run with GIT_PS1_SHOWDIRTYSTATE=1 GIT_PS1_SHOWUPSTREAM="auto" GIT_PS1_SHOWCOLORHINTS=1 PROMPT_COMMAND='__git_ps1 "\u@\h:\w" "> "'
13:15 jnthn Just branch name
13:16 nine The GIT_PS1_SHOWDIRTYSTATE=1 also tells you if you have local changes or patches added to the index.
13:49 gfldex m: sub f( | ( :$a, :$b ) where { $a.defined ^^ $b.defined } ) {}; f a=>42
13:49 camelia rakudo-moar f6524e: OUTPUT«Cannot call method 'defined' on a null object␤  in sub f at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
13:49 gfldex jnthn: ^^^ that's what I actually wanted to do
13:50 gfldex m: sub f( :$a, :$b where { $a.defined ^^ $b.defined } ) {}; f a=>42
13:50 camelia rakudo-moar f6524e: ( no output )
13:50 gfldex m: sub f( :$a, :$b where { $a.defined ^^ $b.defined } ) {}; f a=>42, b=>43
13:50 camelia rakudo-moar f6524e: OUTPUT«Constraint type check failed for parameter '$b'␤  in sub f at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
13:50 jnthn So, sticking it in the subsig works?
13:51 jnthn Your `sub f( |c where { c } ) {}; f 42` one is a legit bug and I'm spectesting a fix for it locally
13:52 gfldex yes but the where-clause _has_ to be at the very last argument and the error message ain't nice
13:55 jnthn That's normal with where clauses though; consider the case where you didn't have the unpack there
13:55 jnthn ($x, $y where $x < $y)
13:56 gfldex we don't really have a where clause for the whole sub. That's why I wanted to have it on the anon sub sig, to cheat that feature into Perl 6.
14:00 jnthn Yeah, but since you can write it on the last arg of the sub-sig to get that meaning, then we instead leave the where to guard the unpacking of the sub sig.
14:03 travis-ci joined #perl6-dev
14:03 travis-ci Rakudo build failed. Jonathan Worthington 'Get MoarVM with basic Unicode 9 support.'
14:03 travis-ci https://travis-ci.org/rakudo/rakudo/builds/163393270 https://github.com/rakudo/rakudo/compare/c01fc3ac1988...2cad3d214f6f
14:03 travis-ci left #perl6-dev
14:07 dalek rakudo/nom: fe5423a | jnthn++ | tools/build/NQP_REVISION:
14:07 dalek rakudo/nom: Bump to NQP with fixed MOAR_REVISION.
14:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fe5423a0f6
14:07 dalek rakudo/nom: 5f91031 | jnthn++ | src/Perl6/ (2 files):
14:07 dalek rakudo/nom: Make declaration of sigilless params sooner.
14:07 dalek rakudo/nom:
14:07 dalek rakudo/nom: For consistency with variable parameters. Fixes `-> |c where { c }`
14:07 dalek rakudo/nom: style constructs (previously, `c` was declared too late to be used
14:07 dalek rakudo/nom: in the `where`).
14:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f910316f9
14:08 dalek roast: 4fdfa4c | jnthn++ | S15-unicode-information/uniname.t:
14:08 dalek roast: Test for Unicode 9 character support.
14:08 dalek roast: review: https://github.com/perl6/roast/commit/4fdfa4c2d2
14:08 dalek roast: 2a11bdf | jnthn++ | S12-subset/subtypes.t:
14:08 dalek roast: Test to cover RT #129430.
14:08 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129430
14:08 dalek roast: review: https://github.com/perl6/roast/commit/2a11bdf9a5
14:09 [Coke] I like how I can't read that character in the unicode 9 test anywhere yet. :|
14:09 [Coke] (seriously, it means we're ahead of the curve.)
14:10 gfldex we need a font designer to volunteer for Perl 6 :->
14:11 hackedNODE Why?
14:11 hackedNODE I can see that char.
14:11 hackedNODE https://github.com/eosrei/emojione-color-font
14:14 hackedNODE jnthn: So... we now have Unicode 9 support or are you still working on it? (/me contemplates a tweet to brag about it)
14:15 jnthn hackedNODE: Not fully
14:15 jnthn hackedNODE: The graphame clustering algorithm has changed
14:15 hackedNODE ok. I'll wait :)
14:15 jnthn In such a way that's not trivial to handle
14:15 hackedNODE :(
14:15 jnthn To handle emoji, of all things :/
14:16 jnthn So that'll need some more work
14:16 hackedNODE cool
14:16 jnthn You used to be able to tell if there was a grapheme break by just looking at two codepoints
14:16 jnthn So you'd consider two of them and say "yes, there's a break between them" or "no, there ain't"
14:17 jnthn And now the rules have stuff like
14:18 jnthn (E_Base | EBG) Extend* × E_Modifier
14:18 jnthn And
14:18 jnthn ^ (RI RI)* RI × RI
14:19 jnthn http://unicode.org/reports/tr29/#GB10 fwiw :)
14:19 jnthn Oh
14:20 jnthn But underneath it still says "Grapheme cluster boundaries can be easily tested by looking at immediately adjacent characters."
14:31 [Coke] jnthn: do you have any comments on the recent ask about unicode not getting normalized? a user wanted to, for example, only change one portion of a document, not normalize everything in the document.
14:32 [Coke] https://stackoverflow.com/questions/39663846/how-can-i-make-perl-6-be-roundtrip-safe-for-unicode-data/39669883#39669883
14:34 jnthn At some point you'll be able to do it with Uni
14:36 jnthn (e.g. you'll be able to open a file saying you want .get/.lines etc to give you Uni, not Str)
14:36 jnthn We'll need to flesh out the things you can do with a Uni too
14:38 jnthn Complaining you "can't roundtrip Unicode" is a bit silly though. The input and output may not be byte equivalent, but they're Unicode equivalent.
14:39 jnthn I figure saying what normalization form you want to write out will also cover a bunch of the use cases (e.g. "I need my input to be in NFD")
15:18 pmurias joined #perl6-dev
15:20 dalek nqp: e14ebce | (Pawel Murias)++ | t/qast/01-qast.t:
15:20 dalek nqp: [js] Test a QAST::Var with a 'param' decl and children nodes.
15:20 dalek nqp: review: https://github.com/perl6/nqp/commit/e14ebce07c
15:20 dalek nqp: c45a1c2 | (Pawel Murias)++ | / (4 files):
15:20 dalek nqp: Move test passed on all backends out of t/jvm and t/moar/ to t/nqp.
15:20 dalek nqp: review: https://github.com/perl6/nqp/commit/c45a1c284a
15:20 dalek nqp: 6633624 | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
15:20 dalek nqp: [js] Treat static similiar to contvars.
15:20 dalek nqp: review: https://github.com/perl6/nqp/commit/6633624be7
15:20 dalek nqp: 779b39d | (Pawel Murias)++ | t/qast/01-qast.t:
15:20 dalek nqp: Test that statics are rebindable.
15:20 dalek nqp: review: https://github.com/perl6/nqp/commit/779b39d023
15:27 dalek rakudo/nom: 2673ca8 | jnthn++ | src/core/Promise.pm:
15:27 dalek rakudo/nom: Remove untested, experimental, Promise coercions.
15:27 dalek rakudo/nom:
15:27 dalek rakudo/nom: Coercions are a bad thing to have block. Promise.new ~~ SomeEnumValue
15:27 dalek rakudo/nom: would hang as a result of the Numeric one, due to the numeric coercion
15:27 dalek rakudo/nom: performed by the ACCEPTS of the enum value, for example.
15:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2673ca85c1
15:42 AlexDaniel joined #perl6-dev
16:04 Ven_ joined #perl6-dev
16:10 Ven_ joined #perl6-dev
16:17 SourceBaby joined #perl6-dev
16:18 Undercover joined #perl6-dev
17:01 travis-ci joined #perl6-dev
17:01 travis-ci Rakudo build failed. Jonathan Worthington 'Make declaration of sigilless params sooner.
17:01 travis-ci https://travis-ci.org/rakudo/rakudo/builds/163412042 https://github.com/rakudo/rakudo/compare/f6524e61e89b...5f910316f983
17:01 travis-ci left #perl6-dev
17:01 dalek roast: 70aa3cf | (Zoffix Znet)++ | S17-promise/basic.t:
17:01 dalek roast: Smartmatching a Promise against Enum does not hang
17:01 dalek roast:
17:01 dalek roast: RT#129753:  https://rt.perl.org/Ticket/Display.html?id=129753
17:01 dalek roast: review: https://github.com/perl6/roast/commit/70aa3cf924
17:01 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129753
17:02 psch what *is* wrong with 13-union.t..?
17:04 timotimo everything, basically
17:04 timotimo :\
17:05 psch but it's osx only..?
17:05 psch or isn't it and just shows up there
17:05 timotimo oh, i'd ahve to ehcek older buildes
17:05 timotimo um, what happened there
17:16 hackedNODE psch: yeah, it sems to be OSX only. It's only ever happens on OSX travis (as far as I can notice) and I had it running in a loop on Linux and it never failed
17:16 FROGGS joined #perl6-dev
17:31 psch mhm, moar NC isn't really my cup of tea though :/
17:31 psch especially considering i don't have anything running osx :)
17:33 psch btw, i did get a reply email to call the CEO of the company
17:34 psch he suggested i make an appointment to visit next monday, which is a national holiday
17:34 hackedNODE \o/
17:34 hackedNODE heh
17:34 psch also, it was really, *really* weirdly informal
17:34 psch like, it starts with "Cool.... call me.... come over."
17:34 psch translated, of course
17:36 psch although that was literally the format of the... well, it's not actually a sentence i guess
17:36 psch also, does anyone wanna do the moarvm bits for throwing an adhoc exception on a zero size struct? :P
17:36 psch 'cause i don't really wanna push tests for something that moar would fail
17:53 psch iirc we don't even fudge in t/, so that's out too
17:56 bartolin btw, i created a PR for NQP: https://github.com/perl6/nqp/pull/308
17:56 psch bartolin++
17:57 dalek nqp: 9da2705 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
17:57 dalek nqp: Throw exception instead of calling dieInternal
17:57 dalek nqp:
17:57 dalek nqp: After removing this check for a SaveStackException
17:57 dalek nqp: the special case for JVM in Rakudo's src/core/control.pm
17:57 dalek nqp: is no longer needed.
17:57 dalek nqp:
17:57 dalek nqp: There are no new failing tests (neither with 'make test'
17:57 dalek nqp: for NQP nor with 'make test; make install; make spectest'
17:57 dalek nqp: for Rakudo).
17:57 dalek nqp:
17:57 dalek nqp: Fixes two tickets for rakudo-j:
17:57 dalek nqp:
17:57 dalek nqp: * https://rt.perl.org/Ticket/Display.html?id=122732
17:59 dalek rakudo/nom: 2a16055 | peschwa++ | tools/build/NQP_REVISION:
17:59 dalek rakudo/nom: Bump NQP_REVISION for SaveStackException fix, bartolin++.
17:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2a16055907
17:59 bartolin thanks :-)
17:59 psch you too :)
17:59 psch did you get a chance to poke at the MethodNotFound thing, ooc?
18:00 nine psch: if noone beats me to it and I don't forget, I'll have a look at the zero size struct thing tomorrow.
18:01 bartolin not yet (just returned from $work), now it's bedtime for the kids ..
18:01 nine psch: though it wouldn't exactly be unfair for you to break moar after so many people broke rakudo-j ;)
18:01 Ven_ joined #perl6-dev
18:01 psch nine: well, the fix itself isn't that hard, it's just that i don't want travis complaining about broken builds for something this minor
18:02 psch nine: i could probably easily PR it myself and all, but that still just puts it into a queue somewhere
18:03 psch eh, actually the fix itself is quite a few lines
18:03 psch because we're currently using info_alloc to mean "what do we have to allocate", because we're special casing the 0 attrs situation
18:04 psch so what could be "num_attrs * sizeof(MVMint32)" turned into "info_alloc * sizeof(MVMint32)" because we cheat when we have no attrs
18:05 psch i mean, on a purely functional level it's just removing the special case for 0 attrs and checking for info_alloc == 0 and then throwing adhoc
18:05 psch but info_alloc becomes aesthetically annoying when we don't have a special case
18:06 psch https://github.com/MoarVM/MoarVM/blob/master/src/6model/reprs/CStruct.c#L130
18:07 psch so, yeah, practically it's just removing the ternary in that line and adding a == 0 check after the decls
18:07 psch but aesthetically that'd leave a huge mess :P
18:07 psch although maybe semantically it doesn't, i'm not sure on that
18:08 psch (also, i wouldn't even *break* r-m, i'd just introduce a test i *know* it fails, which isn't fudgable.  i feel that's significantly different :P)
18:21 Ven_ joined #perl6-dev
18:41 Ven_ joined #perl6-dev
18:45 dalek roast: 1cff953 | usev6++ | S05-substitution/subst.t:
18:45 dalek roast: Fudge newly added test for JVM
18:45 dalek roast: review: https://github.com/perl6/roast/commit/1cff953085
19:01 Ven_ joined #perl6-dev
19:02 hackedNODE :o
19:03 hackedNODE j: ''
19:03 camelia rakudo-jvm cd19db: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant string "" in sink context (line 1)␤»
19:04 hackedNODE That's from July 16.... :/
19:04 bartolin yes, would be nice to get a new r-j from time to time
19:05 hackedNODE bartolin: when was the previous passing spectest run?
19:06 hackedNODE (just thinking if the failures are due to the 2 tests I added today, rather than some other in that subtest that I added yesterday)
19:07 bartolin hackedNODE: it was about 20 hours ago. that was before your change from today (I checked that)
19:07 bartolin on rakudo commit fc3160c7e5
19:07 dalek roast: 09eaf48 | usev6++ | S06-advanced/wrap.t:
19:07 dalek roast: Test for RT #69312 now passes on JVM
19:07 dalek roast: review: https://github.com/perl6/roast/commit/09eaf48fa2
19:07 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=69312
19:09 hackedNODE Ah. Then it's one or both of these: https://github.com/perl6/roast/blob/master/S05-substitution/subst.t#L606-L607
19:09 hackedNODE m: say ($='').subst-mutate: /<[abc]>/, '', :5x
19:09 camelia rakudo-moar 2a1605: OUTPUT«Nil␤»
19:09 hackedNODE j: say ($='').subst-mutate: /<[abc]>/, '', :5x
19:09 camelia rakudo-jvm cd19db: OUTPUT«Nil␤»
19:10 hackedNODE j: say ($='').match: /<[abc]>/, :5x
19:10 camelia rakudo-jvm cd19db: OUTPUT«()␤»
19:10 nine bartolin: I thought rakudo-j would be updated automatically like rakudo-m?
19:10 * hackedNODE shrugs
19:10 bartolin nine: dunno what triggers an update, sorry
19:11 hackedNODE m: say ($='').subst-mutate: /<[abc]>/, :x(1..5)
19:11 camelia rakudo-moar 2a1605: OUTPUT«Cannot resolve caller subst-mutate(Str: Regex, Range); none of these signatures match:␤    (Cool:D $self is rw: $matcher, $replacement, *%named)␤    (Str:D $self is rw: $matcher, $replacement, :ii(:$samecase), :ss(:$samespace), :mm(:$samemark), *%optio…»
19:11 bartolin hackedNODE: I tried to identify the failing subtest, but failed. I'll try again a bit later ...
19:11 hackedNODE ^ that error is confusing. I'm not calling it with (Str: Regex, Range), but with (Str: Regex, :x(Range))
19:15 hackedNODE m: class { multi method foo ($x, $y) {} }.foo: 2, :x
19:15 camelia rakudo-moar 2a1605: OUTPUT«Cannot resolve caller foo(<anon|61906960>: Int, :x); none of these signatures match:␤    (<anon|61906960> $: $x, $y, *%_)␤  in block <unit> at <tmp> line 1␤␤»
19:16 bartolin [Coke]: would be nice if you undo the three fudges from yesterday. in case you don't have tuits today, I can do it tomorrow
19:17 hackedNODE I can do it..
19:18 dalek roast: 69d8dae | (Zoffix Znet)++ | S14-traits/routines.t:
19:18 dalek roast: Revert "Fudge RT #129375 for rakudo.jvm"
19:18 dalek roast:
19:18 dalek roast: This reverts commit 7a20048943c927398e2643d09c522e8bb03eb892.
19:18 dalek roast: review: https://github.com/perl6/roast/commit/69d8daef56
19:18 dalek roast: 962850d | (Zoffix Znet)++ | S14-roles/composition.t:
19:18 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129375
19:18 dalek roast: Revert "fudge RT #64766 for rakudo.jvm"
19:18 dalek roast:
19:18 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=64766
19:18 dalek roast: This reverts commit 7e25c941716b47d4bfc3c99e5f868f1b6f0cdaa4.
19:18 dalek roast: review: https://github.com/perl6/roast/commit/962850db95
19:19 bartolin hackedNODE++
19:21 Ven_ joined #perl6-dev
19:32 patrickz joined #perl6-dev
19:37 dalek roast: 18e3964 | (Zoffix Znet)++ | S32-temporal/Date.t:
19:37 dalek roast: [coverage] Cover all nudity in Date.pm
19:37 dalek roast: review: https://github.com/perl6/roast/commit/18e39647be
19:41 Ven_ joined #perl6-dev
19:45 hackedNODE I guess that's misleading... not all nudity, but methods that are reported as uncovered. I've not yet investigated how accurate the reports are for conditions inside of methods
20:00 Ven_ joined #perl6-dev
20:21 Ven_ joined #perl6-dev
20:40 Ven_ joined #perl6-dev
20:41 dogbert17 o/ what's the difference between the .rakudo.moar files and the .t files?
20:45 geekosaur the former are fudged to not run tests known to fail on rakudo-moar
20:46 geekosaur (to reduce the noise when looking for regressions)
20:46 arnsholt The fudging being disabling tests know to crash the test script hard
20:47 geekosaur there's a perl5 script that reads annotations in the .t files to generate the implementation specific test scripts
20:49 dogbert17 so if I have a test marked 'todo' it won't be run?
20:50 nine bartolin: building new camelia-j
20:50 nine bartolin: local changes prevented the git pull
20:51 bartolin \o/ nine++
20:51 dogbert17 the following file suddenly got a rakudo.moar version: https://github.com/perl6/roast/blob/master/S32-list/duckmap.t
20:56 geekosaur yes, think that happened yesterday and it would be the #?rakudo todo line that triggered it
20:56 Ven_ joined #perl6-dev
21:00 dogbert17 my idea was that when the bug in question was fixed the test would 'fail' and then be unfudged
21:01 geekosaur well, the tests are the language spec, so you don't want to encode a known broken feature as a test for its brokenness
21:03 geekosaur but I think the fudged tests are still run, and an unexpected pass is noted in the summary
21:03 dogbert17 geekosaur: thanks for the explanation
21:03 geekosaur unless, as arnsholt said, it causes a hard crash in wjhich case it is skipped completely because the test harness can't deal
21:04 dogbert17 so if a bug is found it's probably better to add a test after it's been fixed
21:13 nine j: say $*PERL.compiler
21:13 camelia rakudo-jvm cd19db: OUTPUT«rakudo (2016.06.276.gcd.19.db.2)␤»
21:14 nine God damn it: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp'
21:20 nine Let's see if git clean -xfd and removing the inst directory helps
21:28 go|dfish joined #perl6-dev
21:35 nine j: say $*PERL.compiler
21:35 camelia rakudo-jvm 2a1605: OUTPUT«rakudo (2016.09.83.g.2.a.16055)␤»
21:35 nine Finally :)
21:53 jnthn 'night, #perl6-dev
22:03 MasterDuke are filesystem operations supposed to be concurrency safe? e.g., if i have a bunch of start blocks making changes to the filesystem, but don't ever write to the same file, should i be guaranteed that they will all complete successfully (assuming no outside interference of course)?
22:11 gfldex MasterDuke: given they all operate with different file names/paths, they should all be successfull. Do you got specific code that bugs you?
22:16 dalek rakudo/nom: c4055e4 | usev6++ | src/core/control.pm:
22:16 dalek rakudo/nom: Remove special case for JVM
22:16 dalek rakudo/nom:
22:16 dalek rakudo/nom: After NQP commit 9da2705b1b this workaround for JVM
22:16 dalek rakudo/nom: is not necessary anymore. Fixes RT #122732
22:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c4055e455d
22:16 dalek rakudo/nom: ed0ced2 | lizmat++ | src/core/control.pm:
22:16 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=122732
22:16 dalek rakudo/nom: Merge pull request #890 from usev6/rt122732
22:16 dalek rakudo/nom:
22:16 dalek rakudo/nom: Remove special case for JVM
22:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ed0ced2e5d
22:33 Zoffix__ joined #perl6-dev
23:29 gfldex what class/role is CALL-ME actually coming from? (that's another ENODOC)
23:30 geekosaur Callable
23:30 gfldex in Rakudo it's not defined in that role
23:31 gfldex or declared for that matter
23:31 gfldex i will doc it there anyway tho
23:32 geekosaur hm, InvocationProtocol.nqp
23:32 geekosaur and I thought that method was the point of Callable, but. sigh.
23:34 geekosaur ... ok that's weird. doesn't document any way to specify *what* to call. (which presumably would be circumfix:<<( )>> canonically... unless it's CALL-ME, which you say it isn't.)
23:37 gfldex i'm not saying it shouldn't be in Callable. Likely leaky internals (or not leaky enough). There are plenty of roastlings tho, hence the ENODOC.
23:40 gfldex $ENODOC-- :)
23:50 geekosaur yes, this needs to be clarified. I'm not the one to do it, since how it seemed to work is apparently not how it actualy works :/
23:52 geekosaur actually I think it really is supposed to have CALL-ME but that is not enforced in the role, it's just assumed by things relying on it
23:52 geekosaur since otherwise it does nothing whatsoever to say how to call a Callable
23:52 geekosaur which seems to miss the point somehow

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