[Coke] my article is about 75% done. check it into the repo when finished? 00:22
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
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
[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
Xliff nine : Any reason for the WIP tag on #3785? It's been merged. 17:41
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