[Coke] my article is about 75% done. check it into the repo when finished? 00:22
00:39 Kaeipi joined, Kaiepi left 01:14 Altai-man joined 01:17 sena_kun left 01:44 MasterDuke left 02:26 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 04:15 unicodable6 left, benchable6 left, quotable6 left, coverable6 left, notable6 left, linkable6 left, bloatable6 left, releasable6 left, nativecallable6 left, reportable6 left, statisfiable6 left, evalable6 left, shareable6 left, sourceable6 left, committable6 left, greppable6 left, bisectable6 left, tellable6 left, squashable6 left, coverable6 joined, benchable6 joined 04:16 sourceable6 joined, linkable6 joined, releasable6 joined, unicodable6 joined, shareable6 joined, evalable6 joined, nativecallable6 joined, bisectable6 joined, greppable6 joined, tellable6 joined, bloatable6 joined, quotable6 joined 04:17 statisfiable6 joined, squashable6 joined, reportable6 joined 04:18 notable6 joined, committable6 joined 05:15 sena_kun joined 05:16 Altai-man left 06:44 JJMerelo joined
JJMerelo Today's article, which is actually by leont raku-advent.blog/2020/08/13/rfc22-...an-conway/ on the swiitch statement 06:44
tellable6 2020-08-12T22:55:58Z #raku-dev <leont> JJMerelo sounds fine to me, if you didn't add those links already feel free to do so
JJMerelo .tell leont I still need you to accept the invitation so that the article carries your byline (and you can edit it if necessary) 06:45
tellable6 JJMerelo, I'll pass your message to leont
07:36 leont joined 08:00 JJMerelo left 08:39 squashable6 left, squashable6 joined 09:14 Altai-man joined 09:16 sena_kun left
Geth rakudo: 9d6d8dd7a7 | (Nicholas Clark)++ | src/vm/moar/ops/perl6_ops.c
MoarVM's struct MVMCollectable's `flags` is now `flags1` and `flags2`

As part of the fix for the data race described in MoarVM/moarvm#1336 the flags member of struct MVMCollectable needs to be changed from a single MVMuint16 to two MVMuint8 values. As `p6setfirstflag` and
  `p6takefirstflag` directly manipulate this struct, they need to be
updated to reflect the changes.
Implemented with conditional compilation so that it will work with MoarVM before and after these changes. Once MoarVM is updated, the conditional compilation can be removed.
09:20
linkable6 MOARVM#1336 [open]: github.com/MoarVM/MoarVM/pull/1336 Split `flags` in struct MVMCollectable to avoid data races when setting `MVM_CF_HAS_OBJECT_ID` and `MVM_CF_REF_FROM_GEN2`
tobs .tell JJMerelo post is scheduled for tomorrow. 10:43
tellable6 tobs, I'll pass your message to JJMerelo
lizmat tobs++ # giving me some more time to do #200 10:50
11:23 stoned75 joined 12:31 stoned75 left 13:10 stoned75 joined 13:15 sena_kun joined 13:17 Altai-man left 13:36 squashable6 left 13:37 squashable6 joined 14:33 dogbert17 joined 15:14 stoned75 left 15:18 squashable6 left 15:20 squashable6 joined 16:01 [TuxCM] joined, stoned75 joined
[TuxCM] Rakudo version 2020.07-64-g9d6d8dd7a - MoarVM version 2020.07-19-g9a5203395
csv-ip5xs0.844 - 0.850
csv-ip5xs-208.378 - 8.975
csv-parser25.313 - 26.545
csv-test-xs-200.405 - 0.408
test7.982 - 8.108
test-t1.869 - 1.874
test-t --race0.874 - 0.972
test-t-2031.677 - 32.435
test-t-20 --race8.669 - 8.708
16:22
lizmat m: class Foo { }; Foo.Numeric 16:29
camelia Use of uninitialized value of type Foo in numeric context
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; Foo.Real
camelia Use of uninitialized value of type Foo in numeric context
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; Foo.Int
camelia No such method 'Int' for invocant of type 'Foo'
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; say Foo.Numeric
camelia Use of uninitialized value of type Foo in numeric context
0
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; say Foo.Real 16:30
camelia Use of uninitialized value of type Foo in numeric context
0
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; say Foo.Int
camelia No such method 'Int' for invocant of type 'Foo'
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; say Foo.Rat
camelia No such method 'Rat' for invocant of type 'Foo'
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; say Foo.Num
camelia No such method 'Num' for invocant of type 'Foo'. Did you mean 'sum'?
in block <unit> at <tmp> line 1
lizmat so why are Int / Rat / Num handled differently here ?
m: class Foo { }; say Foo.new.Num 16:31
camelia No such method 'Num' for invocant of type 'Foo'. Did you mean 'sum'?
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; say Foo.new.Numeric
camelia Cannot resolve caller Numeric(Foo:D: ); none of these signatures match:
(Mu:U \v: *%_)
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; say Foo.new.Real
camelia Cannot resolve caller Real(Foo:D: ); none of these signatures match:
(Mu:U \v: *%_)
in block <unit> at <tmp> line 1
lizmat m: class Foo { }; say Foo.new.Int
camelia No such method 'Int' for invocant of type 'Foo'
in block <unit> at <tmp> line 1
16:43 Xliff joined 17:14 Altai-man joined 17:17 sena_kun left
Xliff nine : Any reason for the WIP tag on #3785? It's been merged. 17:41
18:03 stoned75 left 18:35 Xliff left 18:39 vrurg left 18:43 squashable6 left 18:46 squashable6 joined 18:50 Kaiepi joined 18:52 Kaeipi left 19:04 vrurg joined 20:48 vrurg left 21:04 MasterDuke joined 21:15 sena_kun joined 21:17 Altai-man left 21:48 MasterDuke left
gfldex raku: class C { method Str { fail('nope!') } }; say C.new; 22:03
evalable6 C.new
gfldex raku: class C { method Str { fail('nope!') } }; put C.new;
evalable6 (exit code 1) This type cannot unbox to a native string: P6opaque, Failure
in block <unit> at /tmp/_cndE604M7 line 1
gfldex raku: class C is Mu {}; sub s(::T) { T.^name }; s(C.new); 22:49
evalable6 (exit code 1) Type check failed in binding to parameter '<anon>'; expected Any but got C (C.new)
in sub s at /tmp/HwbUG9ZnLQ line 1
in block <unit> at /tmp/HwbUG9ZnLQ line 1
gfldex is this one a Rakudobug?
[Coke] raku: class C is Any {}; sub s(::T) { T.^name }; s(C.new); 22:52
evalable6
[Coke] ^^ nope
some things expect Any's and Mu's don't count.
gfldex so type captures should not be able to capture Mu?
[Coke] raku: class C is Mu {}; sub s(Mu ::T) { T.^name }; s(C.new); 22:53
evalable6
[Coke] ^^
default type for a parameter is rooted at Any
raku: class C is Mu {}; sub s(Mu ::T) { T.^name }; s(C.new).say 22:54
evalable6 C
[Coke] so it's not the type capture, it's that you didn't override the default top level type allowed.
gfldex i see 22:55
raku: sub s($v :(::T)){ say $v.WHAT, T.^name }; s(42); 22:59
evalable6 (exit code 1) 04===SORRY!04=== Er…
gfldex, Full output: gist.github.com/aeaa842db32bef10a1...d4ceeef0e0
gfldex raku: sub s($v (::T)){ say $v.WHAT, T.^name }; s(42); 23:01
evalable6 (exit code 1) Cannot unpack or Capture `42`.
To…
gfldex, Full output: gist.github.com/5de607b1a23cf4f916...875d403fc2