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] Rakudo version 2017.12-93-gfc99d5e1c - MoarVM version 2017.12-19-g40a79ee83
csv-ip5xs1.206 - 1.215
csv-ip5xs-2014.400 - 14.947
csv-parser13.298 - 14.564
csv-test-xs-200.447 - 0.456
test12.342 - 12.558
test-t3.024 - 3.183
test-t --race1.304 - 1.348
test-t-2055.459 - 56.823
test-t-20 --race20.676 - 20.722
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
Rakudo version 2017.12-97-gf8d8481c9 - MoarVM version 2017.12-19-g40a79ee83
csv-ip5xs1.103 - 1.113
csv-ip5xs-2012.941 - 13.408
csv-parser12.375 - 12.480
csv-test-xs-200.452 - 0.472
test11.391 - 11.524
test-t2.858 - 2.875
test-t --race1.144 - 1.151
test-t-2051.689 - 52.245
test-t-20 --race17.832 - 18.274
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