🦋 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
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.
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