Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
AlexDaniel samcv: ↑ 02:08
Geth rakudo: FCO++ created pull request #2526:
Make Attribute.get_value rw. Fixes #2521
02:46
Geth rakudo: mornfall++ created pull request #2527:
Fix use of uninitialized value in IO::Notification
11:53
[Tux] Rakudo version 2018.11-13-gdd0301454 - MoarVM version 2018.11-12-gd7a4c4c56
csv-ip5xs0.927 - 0.936
csv-ip5xs-206.988 - 7.360
csv-parser22.822 - 22.855
csv-test-xs-200.424 - 0.436
test7.176 - 7.806
test-t1.737 - 1.749
test-t --race0.782 - 0.804
test-t-2031.184 - 32.147
test-t-20 --race9.591 - 10.016
13:48
Geth roast: 33afc20817 | (Jan-Olof Hendig)++ | S32-str/encode.t
Add tests for R#2421
13:51
roast: ca8952031f | dogbert17++ (committed using GitHub Web editor) | S32-str/encode.t
Merge pull request #501 from dogbert17/test-R2421

Add tests for R#2421
nqp/master: 6 commits pushed by (Paweł Murias)++ 14:00
Geth roast: dogbert17++ created pull request #502:
Add test for R#2176
15:11
lucasb sub func(Foo $arg) {...} # <-- func *cares* that $arg is of Foo type, right? 16:03
that's the point of type checking, catching type error :)
but coercion types 'sub f(Foo(Bar) $arg) {...}', they don't care what $arg.Foo returns, they blindly assumes it's of Foo type 16:04
in addition to coercing the argument, wouldn't it be nice if it also *checks* if the argument is of the right type? 16:05
afterall the simpler signature 'func(Foo $arg)' already does that, then why can't 'func(Foo(Bar) $arg)' also check? 16:06
m: class Foo {}; class Bar { method Foo { 'alright' } }; sub func(Foo(Bar) $x) { dd $x }; func(Bar) 16:11
camelia "alright"
gfldex lucasb: you might invoke a conundrum with that. The Foo a module knows that provides a class with .Foo might not be the same Foo as the caller expects. 16:21
lucasb: Fundamentally Perl 6 is a dynamic language. 16:22
lucasb I may not have understood you, gfldex. Are you saying that bescause P6 is dynamic it shouldn't have type checking in subroutine/method parameters? 16:49
to me, a signature :(Foo $arg) and :(Foo(Bar) $arg) should have the same type checking with regard it's argument, shouldn't it? 16:50
do you see them as different (except for the fact that the coercion does a convenient implicit method call) ? 16:52
Geth roast: 683abe27c3 | (Jan-Olof Hendig)++ | S05-capture/match-object.t
Add test for R#2176
17:52
roast: bbb233b73c | dogbert17++ (committed using GitHub Web editor) | S05-capture/match-object.t
Merge pull request #502 from dogbert17/test-r2176

Add test for R#2176
gfldex lucasb: I don't think it should be needed. A coersion method that returns the wrong type is just a bug. If at all it should be triggered by a pragma. 18:04
lucasb The definition of coersion method is one that shares the same name as another class or role? I don't think this convention should be imposed. Just because I decide to name a method "FooBar" doesn't mean it should return a FooBar object otherwise it's a bug. 18:44
IMO, the responsibility for type-checking is on the sub/method signature 18:45
Geth roast: dogbert17++ created pull request #503:
Add tests for R#2361
20:19
roast: 64f38c8a48 | (Jan-Olof Hendig)++ | S32-exceptions/misc2.t
Add tests for R#2361
20:31
roast: 8d2728989b | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S32-exceptions/misc2.t
Merge pull request #503 from dogbert17/test-r2361

Add tests for R#2361
rakudo: a5411e4518 | (Elizabeth Mattijsen)++ | src/core/Attribute.pm6
Give full access with Attribute.get/set_value

The idea being that these methods are sufficiently low-level that they should give direct raw access to the attribute. Also slightly optimized it for the most common case of an object with an Opaque representation. Fixes R#2521
20:39
rakudo: 83d0056b5f | (Petr Rockai)++ | src/core/IO/Notification.pm6
Fix use of uninitialized value in IO::Notification

When libuv returns a NULL path (which it does for directory notifications on kqueue/kevent systems, at minimum), the path returned from nqp::watchfile turns into an undef Str. Hence do not try to concat this undef with the directory path.
20:43
rakudo: 9fe7d64316 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core/IO/Notification.pm6
Merge pull request #2527 from mornfall/fix-io-notification

Fix use of uninitialized value in IO::Notification
rakudo: 869b9e5813 | Skarsnik++ (committed using GitHub Web editor) | src/core/Exception.pm6
Add the definition of arguments in Multi::NoMatch exception

Add a U or D if the parameter is defined or not. This make easier to notice a mismatch because of that, eg you pass an undef value when a defined value is expected. fix #2494
EG :
  `perl6 -e 'my buf8 $foo; $foo.append("foo".encode("latin1"));'`
... (18 more lines)
20:45
rakudo: abfb9a4050 | Skarsnik++ (committed using GitHub Web editor) | src/core/Exception.pm6
Remove the def/undef part for array?
rakudo: 1d597fa510 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core/Exception.pm6
Merge pull request #2495 from Skarsnik/patch-1

Add the definition of arguments in Multi::NoMatch exception
dogbert11 there's a test (#24 - fails multi sigs reports call profile) failing in t/spec/S06-signature/errors.t 21:32
m: say Match.^roles 21:49
camelia No such method 'gist' for invocant of type 'NQPMatchRole'. Did you mean 'ast'?
in block <unit> at <tmp> line 1
Geth rakudo: mornfall++ created pull request #2529:
Cancel the watchfile task when its supply closes
22:21
Geth rakudo: mornfall++ created pull request #2530:
Ignore shared library versions on OpenBSD.
22:40
SmokeMachine I totally agree with lucasb 23:22