🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm Set by lizmat on 8 June 2022. |
|||
00:07
reportable6 left
00:08
reportable6 joined
|
|||
releasable6 | Next release in ≈1 day and ≈15 hours. 1 blocker. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 03:00 | |
05:40
Kaipei joined
05:44
Kaiepi left
05:53
Kaipii joined
05:56
Kaipei left
06:07
reportable6 left
06:10
reportable6 joined
|
|||
Kaipii | > public void get_attribute_native(ThreadContext tc, SixModelObject class_handle, String name, long hint) | 07:19 | |
what's with this weird signature for a getter? | |||
get_attribute_boxed returns a SixModelObject, but this stuffs the return value in tc? | |||
07:20
Kaipii is now known as Kaiepi,
sena_kun joined
|
|||
Kaiepi | it's from a jnthn commit, but a large one w/ little to say in the commit message | 07:22 | |
.tell jnthn, what's the deal with SixModelObject.get_attribute_native's void return value? | |||
tellable6 | Kaiepi, I'll pass your message to jnthn | ||
Voldenet | get_attribute_native returns `long/double/String/Object` - to avoid allocating anything ThreadContext gets used to pass around the value to the caller | 07:45 | |
07:51
[Tux] left
|
|||
Voldenet | this probably answers the "why" part github.com/Raku/nqp/blob/e01f299b/...java#L2770 | 07:59 | |
08:00
[Tux] joined
08:10
sena_kun left
|
|||
Voldenet | (some callers handle the returned value directly without boxing it into SixModelObject, but I think the direct cause is this badReference being thrown) | 08:10 | |
08:11
sena_kun joined
|
|||
Kaiepi | Voldenet, i'm not sure it's entirely necessary to have the native_* members in tc then. the natives don't appear to be native through and through, so maybe a generic return value is suitable? github.com/Raku/nqp/blob/d372bb1e6...#L123-L133 | 08:30 | |
if bound to one to begin with, that is | 08:33 | ||
09:27
|Tux| left
09:34
|Tux| joined,
Tux__ joined
09:45
Tux__ left
|
|||
Voldenet | the only thing that I'm sure of is that it's likely avoiding allocations | 10:07 | |
10:45
evalable6 left,
linkable6 left
10:47
linkable6 joined,
evalable6 joined
12:07
reportable6 left
12:08
reportable6 joined
|
|||
Geth | rakudo: vrurg++ created pull request #5007: Make code object based delegation 6.e feature |
13:31 | |
rakudo: c6c8dfee01 | (Vadim Belman)++ | src/core.c/traits.pm6 Make code object based delegation 6.e feature For `6.c/d` name-based `self."$delegator"()."$delegation"()` is used. |
14:04 | ||
rakudo: 99bafe65d1 | (Vadim Belman)++ (committed using GitHub Web editor) | src/core.c/traits.pm6 Merge pull request #5007 from vrurg/rakudo-5006-handles Make code object based delegation 6.e feature |
|||
14:54
[Coke] joined
16:19
|Tux| left
16:22
|Tux| joined
16:23
Tux__ joined
16:24
Tux__ left
18:08
reportable6 left,
reportable6 joined
|
|||
gfldex | m: say Date.clone; | 18:13 | |
camelia | Invocant of method 'clone' must be an object instance of type 'Date', not a type object of type 'Date'. Did you forget a '.new'? in block <unit> at <tmp> line 1 |
||
gfldex | m: my \Date = Date.clone; | 18:14 | |
camelia | No such method 'clone' for invocant of type 'VMNull'. Found 'clone' on type 'Mu' in block <unit> at <tmp> line 1 |
||
gfldex | Is there a way to get a clone of a type-object? I don't want to anger the monkeys. | 18:15 | |
japhb | gfldex: Why do you want to do that? Type objects are singletons, yes? | 18:16 | |
gfldex | I want to augment (with the MOP) but in a local scope. | ||
japhb | gfldex: use 'but'? | 18:17 | |
gfldex | That should work. | ||
Well, it doesn't for adding another method new candidate. | 18:21 | ||
m: use nqp; constant Date = nqp::clone(Date); say Date.new(now); | 18:26 | ||
camelia | 2022-07-28 | ||
18:26
ab5tract joined
|
|||
gfldex | I'm not happy that I have to decent into nqp-land for something so simple. | 18:27 | |
18:27
[Coke] left
18:30
[Coke] joined
|
|||
japhb | Wait, you just want to *lexically* add a different .new candidate? | 18:34 | |
That seems ... like an odd desire. | |||
Can you help me understand? | |||
gfldex | If I augment Date, I change the global state of a CORE-thing. That does not compose well. At some point there will be collisions with other folks idea of a better Date. By creating a lexical clone of a type (via it's type object) I can do whatever I please with that type, without of fear of collisions. | 18:39 | |
At least it's my understanding of the benefit of having types represented by objects. We can do cool stuff with them. | 18:41 | ||
Maybe having Mu.clone(::T:U: :type) (that delegates to nqp::cline) would prevent accidents. | 18:42 | ||
japhb | gfldex: Ah, I meant instead of e.g. defining a new class that `is Date` or `does Datish` and has the added features | ||
*Dateish? I forget | 18:43 | ||
gfldex | My typong is rubbush today. I got a "summer-cold". | ||
I shall have some sleep and dream of better Dates. | 18:44 | ||
japhb | Heh | 18:49 | |
Hope you feel better soon! | |||
19:21
ab5tract left
|
|||
jdv | lizmat: ideas? | 20:40 | |
lizmat | not yet, RL interfered quite a bit more today than I expected :-( | ||
jdv | cool. ill ask again tomorrow:) | 20:42 | |
lizmat | thank you | ||
21:53
sena_kun left
22:23
sena_kun joined
22:28
sena_kun left
|
|||
releasable6 | Next release in ≈19 hours. 1 blocker. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 23:00 | |
23:08
[Coke]_ joined
23:09
[Coke] left
23:22
Kaiepi left
23:23
Kaiepi joined
|