🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 6 September 2022.
00:01 yewscion left 00:27 yewscion joined 00:35 yewscion left 01:01 yewscion joined 01:07 yewscion left 01:18 yewscion joined 01:22 yewscion left 01:34 yewscion joined 01:38 yewscion left 01:39 Aedil joined 01:49 yewscion joined 01:53 kylese left 01:54 yewscion left, kylese joined 02:05 yewscion joined 02:11 yewscion left 02:15 kylese left, kylese joined 02:23 yewscion joined 02:28 yewscion left 02:40 yewscion joined 02:45 yewscion left 02:57 yewscion joined 03:02 yewscion left 03:32 yewscion joined 03:36 yewscion left 03:45 kylese left 03:47 kylese joined 03:56 yewscion joined 04:00 yewscion left 04:12 yewscion joined, melezhik joined 04:17 yewscion left 04:43 yewscion joined 04:49 yewscion left
Voldenet SmokeMachine: basically the idea of that example I've posted was to create separate scopes for both things, but move one part from one scope to the other - the idea is to not explicitly say what gets moved in the task, but define that on the request side 04:54
and you can't copy the storage object - you need to request data from parent scope and move it to the child scope (certainly you can't simply use $storage from old scope - it may give you "file closed", "connection closed" errors if the scope ended) 04:57
so the "start" has to explicitly know its scope
and it has to get all the data from one scope 04:59
05:02 yewscion joined
Voldenet to actually show that idea, I'd probably have to extend my toy example with scopes and singleton lifetime 05:05
otherwise I'm writing code that doesn't work to show that, which has limits… :)
05:07 yewscion left 05:21 yewscion joined 05:25 yewscion left 05:58 yewscion joined 06:02 yewscion left 06:03 Aedil left
librasteve SmokeMachine: thanks for merging my PR on Cromponent, all is testing out on the Air side branch … would you be OK to release Cromponent to fez and then I can upgrade Air …? 06:13
06:16 yewscion joined
melezhik . 06:20
06:27 yewscion left 06:40 arkiuat_ left 06:54 yewscion joined, lichtkind joined 06:55 apac joined 07:00 yewscion left 07:09 arkiuat joined 07:13 yewscion joined, arkiuat left 07:18 yewscion left 07:32 yewscion joined 07:37 yewscion left 07:42 arkiuat joined 07:44 Sgeo left 07:47 arkiuat left 07:51 yewscion joined 07:53 wayland76 joined, Aedil joined 07:55 wayland76 left 07:56 yewscion left 08:06 wayland76 joined 08:10 yewscion joined 08:12 dakkar joined 08:15 yewscion left 08:16 yewscion joined 08:17 arkiuat joined 08:20 yewscion left 08:25 arkiuat left 08:27 Xliff joined 08:38 Aedil left, apac left 08:40 arkiuat joined 08:48 yewscion joined 08:51 lichtkind left 08:53 yewscion left 09:07 yewscion joined 09:12 yewscion left 09:26 yewscion joined 09:31 yewscion left 09:38 lichtkind joined 09:41 arkiuat left 09:45 yewscion joined 09:50 yewscion left 10:05 yewscion joined 10:08 arkiuat joined 10:09 yewscion left 10:13 arkiuat left 10:17 yewscion joined
wayland76 SmokeMachine / Voldenet : What do you think Raku has (core or module) that is most like Façades? I think I figured out today that DBIish is a Façade. 10:20
10:21 yewscion left 10:24 yewscion joined
Voldenet well almost every lib is facade 10:25
10:29 yewscion left
Voldenet classifying something as Facade doesn't help all that much - facade just extracts a few use cases and repacks it into interface for those use cases 10:29
10:35 yewscion joined
Voldenet though i'm not an expert on design patterns, just know a few 10:36
10:37 arkiuat joined 10:38 LainIwakura joined 10:39 yewscion left 10:53 arkiuat left 10:59 yewscion joined 11:07 yewscion left 11:11 arkiuat joined 11:13 Aedil joined 11:22 yewscion joined 11:27 yewscion left 11:41 yewscion joined 11:46 yewscion left 12:01 yewscion joined 12:05 yewscion left 12:20 LainIwakura left 12:39 yewscion joined 12:45 yewscion left 13:39 tgt joined 13:40 apac joined 13:45 tgt left 14:21 yewscion joined
antononcube Yeah, this my impression of Facade — most common use cases (sequences of operations) are “facaded.” 14:22
If you are lucky, those use-cases cover 90%+ of the functionalities needed from the corresponding software system/component. 14:24
14:34 sjm_ joined 14:38 apac left
Voldenet Actually, if you need more than 1 line for common use case, something is wrong 15:00
SmokeMachine Voldenet: about the copy, I was thinking on something like this: usercontent.irccloud-cdn.com/file/.../image.png 15:10
15:17 arkiuat left 15:30 yewscion left 15:42 bdju left 15:44 yewscion joined 15:45 bdju joined 15:46 arkiuat joined 15:51 arkiuat left 15:52 sjm_ left 16:19 arkiuat joined 16:24 arkiuat left 16:27 vrurg left 16:28 vrurg joined 16:37 dakkar left 16:47 tgt joined 16:49 tgt left 16:53 arkiuat joined 16:57 arkiuat left 16:59 arkiuat joined 17:04 arkiuat left 17:12 vrurg left 17:13 vrurg joined 17:31 arkiuat joined
Voldenet SmokeMachine: but can you start independent scope while being in a scope already? 17:48
and then you'd be in multiple scopes at the same time for a while - probably needs some sort of variable-assigned deps - but I'm not sure if `my $di = deps { …; my $scope = deps { …; my $task-scope = deps { use $scope here } } }` can work 17:51
in fact, wouldn't `deps { … }` point at already finished scope? 17:52
I don't know if such assignment can happen before anything (giving you variable-named scope) 17:53
alternative syntax could be `deps $di { …; deps $scope { … } }`
$task-scope in the earlier example would have to be not child scope of $scope despite being inside, so maybe ` is :detached` or something similar could work 17:54
or `:parent($di)` 17:55
SmokeMachine Voldenet: deps {…} if inside another deps {…} creates a new scope child of the outside one, and outside any deps {…} creates a new one with no parent (the same for functions with `is injected` 17:56
I like detached-deps {…} 17:58
Currently deps {…} set the scope object inside $*DEPS, and injected, injectable, etc… maybe it could become @*DEPS, and use them in parallel… injected would search on both and injectable would register on the last inserted one… 18:02
Make sense?
Voldemort: Maybe it souls be: deps-root and deps-scope… root would always create a root scope and the scope would always create a child one… and die if not inside another scope… 18:34
18:36 arkiuat left
SmokeMachine Maybe all deps (root, scope and the usual one) could have an optional name parameter and injected and injectable could accept an optional parameter to indicate what scope to use (by its name) 18:52
19:00 arkiuat joined 19:05 arkiuat left 19:19 pierrot left, pierrot joined 19:34 arkiuat joined 19:38 arkiuat left 19:53 arkiuat joined 20:51 DarthGandalf left 20:52 DarthGandalf joined 21:38 yewscion left 22:28 arkiuat left 22:52 arkiuat joined, librasteve_ left
SmokeMachine Voldenet: I mean something like this: usercontent.irccloud-cdn.com/file/.../image.png 22:58
23:00 wayland76 left 23:12 melezhik left 23:47 clarkema left, clarkema joined, lucerne left 23:48 lucerne joined 23:53 sivoais_ left, sivoais joined 23:57 jdv left