travis-ci | Rakudo build failed. Zoffix Znet 'Remove :$CWD param in IO::Path.dir | 00:45 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/324308633 github.com/rakudo/rakudo/compare/0...e73b64a28f | |||||||||||||||||||||||||||||||||||||||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. Across all jobs, 2 unique test files failed. | ||||||||||||||||||||||||||||||||||||||
tbrowder | .tell AlexDaniel Happy New Year! check out my new commits on rakudo PR #1339 and roast PR #371. | 01:18 | |||||||||||||||||||||||||||||||||||||
yoleaux | tbrowder: I'll pass your message to AlexDaniel. | ||||||||||||||||||||||||||||||||||||||
Zoffix | Man. Got this code gist.github.com/zoffixznet/5ab4bf5...7a44b6de8d that dies with Cannot find method 'base_type' on object of type Perl6::Metamodel::ClassHOW | 03:00 | |||||||||||||||||||||||||||||||||||||
at gen/moar/BOOTSTRAP.nqp:1604 | |||||||||||||||||||||||||||||||||||||||
I just don't get how.... it's checked for being DefiniteHOW first :S | 03:01 | ||||||||||||||||||||||||||||||||||||||
nqp: say(nqp::istype(42, blahblahblah)) | 03:33 | ||||||||||||||||||||||||||||||||||||||
camelia | 0 | ||||||||||||||||||||||||||||||||||||||
Zoffix | I see | 03:34 | |||||||||||||||||||||||||||||||||||||
And the real type is Perl6::Metamodel::DefiniteHOW | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo/smiley-coercers2: 8dcf9dac13 | (Zoffix Znet)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp Coerce to base_type of DefiniteHOWs |
03:44 | |||||||||||||||||||||||||||||||||||||
Zoffix | m: -> Int(Str) { dd $x }("x" but role { method Int { "x" } }) | ||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$x' is not declared at <tmp>:1 ------> 3-> Int(Str) { dd 7⏏5$x }("x" but role { method Int { "x" } } |
||||||||||||||||||||||||||||||||||||||
Zoffix | m: -> Int(Str) $x { dd $x }("x" but role { method Int { "x" } }) | 03:45 | |||||||||||||||||||||||||||||||||||||
camelia | "x" | ||||||||||||||||||||||||||||||||||||||
Zoffix | So we don't do typecheck that result is what we want. I wonder how much slower stuff will get if that's implemented :| | ||||||||||||||||||||||||||||||||||||||
I guess there's one way to find out :) | 03:47 | ||||||||||||||||||||||||||||||||||||||
ZofBot: #YOLO amirite? | |||||||||||||||||||||||||||||||||||||||
ZofBot | Zoffix, 736 00:57Z <japhb> [Tux]: Where is the historical file for your newly-expanded suite of CSV perf tests? I'm thinking of expanding the buggable speed grapher to graph any of them | ||||||||||||||||||||||||||||||||||||||
Zoffix | releasable6: next | ||||||||||||||||||||||||||||||||||||||
releasable6 | Zoffix, Next release in 17 days and ≈15 hours. No blockers. Unknown changelog format | ||||||||||||||||||||||||||||||||||||||
Zoffix | Also what was that thing we talked about where the target type can implement the method to coerce? | 03:50 | |||||||||||||||||||||||||||||||||||||
Oh just a new? | |||||||||||||||||||||||||||||||||||||||
m: class Foos { has $.z; method new (Int $x) { self.bless: :z($x) } }; -> Foos() $x { dd $x }(42) | 03:51 | ||||||||||||||||||||||||||||||||||||||
camelia | No such method 'Foos' for invocant of type 'Int'. Did you mean any of these? Bool acos cos does in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Zoffix | So that'd try to call .Foos and if that fails, then try to call Foos.new(arg) and use that if that succeeds | 03:52 | |||||||||||||||||||||||||||||||||||||
Gonna implement that and the typechecking of the resultant type | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: a177fa99cb | (Zoffix Znet)++ | 4 files Parse DefiniteHOWs as target type in coercers We parse type smileys with <colonpair>s, which makes Int:D(Cool) appear as Int with colonpair :D(Cool). We only care about the keys of those colonpairs, so we end up thinking it's just a plain DefiniteHOW without any coercer bits. Fix by gutting the type-smiley Pair objects for WVals and using them to make coercers. Originally tried to fix this by making a separate type-smiley token, which works for parameters, but conflicts with colonpair longnames in term:<name>s. |
03:58 | |||||||||||||||||||||||||||||||||||||
rakudo: 8dcf9dac13 | (Zoffix Znet)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp Coerce to base_type of DefiniteHOWs |
|||||||||||||||||||||||||||||||||||||||
rakudo: fc99d5e1cd | (Zoffix Znet)++ | 5 files Merge branch 'smiley-coercers2' - Fixes parsing bugs where `Foo:D(Bar)` got parsed as just a DefiniteHOW, completely ignoring stuff in parentheses - `Foo:D(Bar)` is now a definite-how coercer that accepts a `Bar` and coerces to `Foo`. The definiteness check on the resultant type is not yet performed - Now throws X::MultipleTypeSmiley on stuff like `Foo:D:U:D:D:D` that previously parsed without issues |
|||||||||||||||||||||||||||||||||||||||
Zoffix forgot --no-ff thing on merge | |||||||||||||||||||||||||||||||||||||||
Geth | roast: 7327b52b82 | (Zoffix Znet)++ | S12-coercion/coercion-types.t Unfudge now-passing test RT#126433: rt.perl.org/Ticket/Display.html?id=126433 Rakudo fix: github.com/rakudo/rakudo/commit/fc99d5e1cd |
04:03 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#126433 [open]: rt.perl.org/Ticket/Display.html?id=126433 Parameter coercion with type smiley doesn't work | ||||||||||||||||||||||||||||||||||||||
Zoffix | .tell jnthn made `Foo:D(Bar)` coercers work, if you wanted to sanity check: github.com/rakudo/rakudo/commit/fc...4ccc2R1599 FYI: next gonna implement type-checking of result after coersion + trying to do `Target.new: Original` coersion if `Original.Target` fails | 04:08 | |||||||||||||||||||||||||||||||||||||
yoleaux | Zoffix: I'll pass your message to jnthn. | ||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build failed. Zoffix Znet 'Merge branch 'smiley-coercers2' | 04:49 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/324445853 github.com/rakudo/rakudo/compare/b...99d5e1cd4a | |||||||||||||||||||||||||||||||||||||||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. Across all jobs, only t/05-messages/01-errors.t test file failed. | ||||||||||||||||||||||||||||||||||||||
[Tux] | ZofBot, japhb, tux.nl/Talks/CSV6/speed-all.log | 07:36 | |||||||||||||||||||||||||||||||||||||
ZofBot | [Tux], i got 28% inlined btw, how much did you get? Same with that op i get 98 | ||||||||||||||||||||||||||||||||||||||
[Tux] |
|
07:50 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: titsuki++ created pull request #1359: Fix RT#127051 |
08:51 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#127051 [new]: rt.perl.org/Ticket/Display.html?id=127051 [LHF] error for 1/1.WHAT | 08:52 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 9910b39319 | (Itsuki Toyota)++ | src/core/Rat.pm Add smileys to make sure that rational calculation only uses instances not type objects Fixes RT#127051: rt.perl.org/Public/Bug/Display.html?id=127051 This fix keeps both DIVIDE_NUMBERS and DON'T_DIVIDE_NUMBERS from accepting type object and makes the exception handling more proper. For example, multi sub infix:</>(Int:D \a, Int:D \b) can detect the denominator of 1/1.WHAT is a type object and cause an exception before calling DIVIDE_NUMBERS. |
09:30 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#127051 [new]: rt.perl.org/Ticket/Display.html?id=127051 [LHF] error for 1/1.WHAT | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 9adc58c3cb | (Itsuki Toyota)++ | t/05-messages/02-errors.t Add tests for exception handling of rational calculation Fixes RT#127051: rt.perl.org/Public/Bug/Display.html?id=127051 |
||||||||||||||||||||||||||||||||||||||
rakudo: 6373961a54 | lizmat++ (committed using GitHub Web editor) | 2 files Merge pull request #1359 from titsuki/fix-rat-LTA Fix RT#127051 |
|||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build errored. lizmat 'Merge pull request #1359 from titsuki/fix-rat-LTA | 10:33 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/324507089 github.com/rakudo/rakudo/compare/f...73961a5485 | |||||||||||||||||||||||||||||||||||||||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. Across all jobs, 4 unique test files failed. | 10:34 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: f8d8481c99 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/Perl6/Metamodel/BOOTSTRAP.nqp Fix typos in comment |
14:19 | |||||||||||||||||||||||||||||||||||||
[Coke] | Zoffix++ # working on 6.d stuff | 15:43 | |||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build errored. Zoffix Znet 'Fix typos in comment' | 15:50 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/324596352 github.com/rakudo/rakudo/compare/6...d8481c995c | |||||||||||||||||||||||||||||||||||||||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. Across all jobs, 3 unique test files failed. | ||||||||||||||||||||||||||||||||||||||
|Tux| | Box was relatively busy this morning, so here we go again ... | 16:20 | |||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | Weird. Thought this was the business end of the coercion stuff: github.com/rakudo/rakudo/blob/mast...#L381-L395 | 17:22 | |||||||||||||||||||||||||||||||||||||
But I made changes to it and nothing happened and I see the error message on failed coercion doesn't match that code either | 17:23 | ||||||||||||||||||||||||||||||||||||||
m: class Bar { }; -> Int(Bar) $x {dd $x}(Bar) | |||||||||||||||||||||||||||||||||||||||
camelia | No such method 'Int' for invocant of type 'Bar' in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
timotimo | there's quite possibly also coercion implemented in the signature lowerer, Zoffix | 17:55 | |||||||||||||||||||||||||||||||||||||
that's a piece of code that replaces a call into the slow binder with custom code generated for exactly the signature the sub has | |||||||||||||||||||||||||||||||||||||||
Zoffix | timotimo: where is it at? Somewhere in Actions/Grammar? | 18:06 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | squashable6: next | ||||||||||||||||||||||||||||||||||||||
squashable6 | AlexDaniel, ⚠🍕 Next SQUASHathon in 1 day and ≈15 hours (2018-01-06 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||||||||||||||||||||||||||||||||||||||
Zoffix | "src/Perl6/Actions.nqp: sub lower_signature" guess that is it | 18:07 | |||||||||||||||||||||||||||||||||||||
timotimo | have to look | ||||||||||||||||||||||||||||||||||||||
ah, yes that one | |||||||||||||||||||||||||||||||||||||||
Zoffix | Thanks. | ||||||||||||||||||||||||||||||||||||||
aye, see the coersion bits up in there :) timotimo++ | 18:11 | ||||||||||||||||||||||||||||||||||||||
What would make it go through unlowered path? 'cause I need to test it too | 18:15 | ||||||||||||||||||||||||||||||||||||||
timotimo | hm, maybe put a named argument with a hundred aliases in | 18:16 | |||||||||||||||||||||||||||||||||||||
Zoffix | timotimo++ # :foo(:ber(:$moo)) did the trick | 18:17 | |||||||||||||||||||||||||||||||||||||
timotimo | neat | ||||||||||||||||||||||||||||||||||||||
lizmat | m: enum (a => { $^b < 42 }); dd a # shouldn't this work ? | 20:25 | |||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot auto-generate a proto method for 'Int' in the setting at <tmp>:1 |
||||||||||||||||||||||||||||||||||||||
lizmat | pretty LTA error message BTW | ||||||||||||||||||||||||||||||||||||||
jnthn | I dunno what you want it to do. Pretty sure that error is a heuristic for CORE.setting developers that rewrites some real error, though, apparently not always helpfully | 20:26 | |||||||||||||||||||||||||||||||||||||
Oh, maybe enum with Block values? | 20:27 | ||||||||||||||||||||||||||||||||||||||
lizmat | right | ||||||||||||||||||||||||||||||||||||||
a simple dispatch table in enums | |||||||||||||||||||||||||||||||||||||||
Zoffix | m: class Target {}; class Source { method Target { Target.new } }; -> Target:D(Source:U) {}( Source ) | 23:23 | |||||||||||||||||||||||||||||||||||||
camelia | Parameter '<anon>' of routine '<anon>' must be an object instance of type 'Source:U', not a type object of type 'Source'. Did you forget a '.new'? in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Zoffix | That should work, right? | ||||||||||||||||||||||||||||||||||||||
"this" -> coercers with :U source and :D target or viceversa | 23:24 | ||||||||||||||||||||||||||||||||||||||
timotimo | tbh, i'd use a type capture for the :D → :U case | 23:36 | |||||||||||||||||||||||||||||||||||||
Zoffix | timotimo: what's a type capture? | 23:37 | |||||||||||||||||||||||||||||||||||||
the ::T thing? | 23:38 | ||||||||||||||||||||||||||||||||||||||
Zoffix doesn't follow | 23:39 | ||||||||||||||||||||||||||||||||||||||
¯\_(ツ)_/¯ | 23:56 | ||||||||||||||||||||||||||||||||||||||
ZofBot: the humans aren't answering. We're on our own! | |||||||||||||||||||||||||||||||||||||||
ZofBot | Zoffix, jeffbots | ||||||||||||||||||||||||||||||||||||||
Zoffix | Ssssh! The jeffbots are a secret! | ||||||||||||||||||||||||||||||||||||||
k, well, I'll spec the :D/:U thing as a todo and will rip out before 6.d if it's not reasonable to implement it |