[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] |
|
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 |