🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
00:00
xelxebar left,
xelxebar joined
00:02
melezhik joined
00:09
melezhik left
00:35
guifa2 left
00:42
mowcat joined,
guifa2 joined
00:51
guifa2 left
01:03
sena_kun joined
01:05
Altai-man_ left
01:06
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:10
Kaiepi joined
01:27
AlexDaniel joined,
AlexDaniel left,
AlexDaniel joined
|
|||
[Coke] | m: dd List.new | 01:28 | |
01:28
molaf left
|
|||
camelia | () | 01:28 | |
[Coke] | m: dd Array.new | 01:29 | |
camelia | Array element = [] | ||
[Coke] | m: dd Str.new | ||
camelia | "" | ||
[Coke] | m: dd List | ||
camelia | List | ||
[Coke] | m: use nqp; dd nqp::hlllist | ||
camelia | () | ||
[Coke] | m: use nqp; dd nqp::hllhash | ||
camelia | Hash element = {} | ||
01:33
cognomin_ joined
01:37
cognominal left
01:40
aborazmeh left,
molaf joined
01:50
cpup left
01:52
farcas1982regreg joined
01:57
cpup joined
02:06
Manifest0 left,
Manifest0 joined
02:10
melezhik joined,
melezhik left
02:18
melezhik joined
02:26
aborazmeh joined,
aborazmeh left,
aborazmeh joined
02:29
xxpor joined
|
|||
melezhik | chloekek: I made a proposal on possible usage of Sparrow in CRAI provision/deployment. Appreciate your feedback. github.com/chloekek/crai/issues/24 | 02:54 | |
tellable6 | melezhik, I'll pass your message to chloekek | ||
02:56
melezhik left
02:57
mowcat left
03:02
Altai-man_ joined
03:05
sena_kun left
03:12
aborazmeh left
03:14
pilne left
03:18
cpan-raku left
03:24
cpan-raku joined,
cpan-raku left,
cpan-raku joined
04:02
caterfxo left
04:11
molaf left
04:22
hungrydonkey joined
04:23
Doc_Holliwood joined
|
|||
hungrydonkey | Hello everyone, I just started to learn raku. How to get the nth character of a string ? Like : my $str = "Hello Raku", I want to get the third character of $str. How can I do it? | 04:35 | |
moritz | hungrydonkey: with substr | 04:49 | |
m: my $str = "Hello Raku"; say $str.substr(2, 1) | |||
camelia | l | ||
moritz | (the 2 because raku starts counting at 0) | 04:50 | |
and 1 for the numbers of characters you want to extract | |||
hungrydonkey | Oh, that's cool! Thank you, Moritz. | 04:54 | |
05:03
sena_kun joined
05:04
[Coke] joined,
[Coke] left,
[Coke] joined
05:05
Altai-man_ left
05:34
sauvin joined
05:55
hungrydonkey left
06:02
p6steve joined
06:03
guifa2 joined
06:04
sjm_uk joined
06:07
p6steve left
06:29
Doc_Holliwood left
06:38
lichtkind joined
06:42
rindolf joined
06:43
andrzejku joined
06:51
stoned75 joined
07:00
p6steve joined
07:02
Altai-man_ joined
07:05
sena_kun left
07:06
hungrydonkey joined
07:13
vike joined
07:18
dakkar joined
07:57
p6steve left
08:16
pecastro joined
08:24
p6steve joined
08:29
p6steve left
08:36
ismustachio joined
|
|||
Geth | doc: 5acc3f5a70 | (Patrick Böker)++ (committed using GitHub Web editor) | doc/Language/concurrency.pod6 Replace a "Perl" with "Raku" |
08:38 | |
linkable6 | Link: docs.raku.org/language/concurrency | ||
08:42
rindolf left
08:51
rindolf joined
|
|||
Altreus | I feel like I keep asking this but I keep confusing myself so I hope you'll forgive me - does 'done' act like 'return' inasmuch as the following statements won't be run? | 08:53 | |
08:59
p6steve joined
|
|||
ismustachio | @Altreus from docs: Within a Supply block, it will indicate the supply will no longer emit anything. See also documentation on method done. | 09:03 | |
docs.raku.org/routine/done | |||
09:03
sena_kun joined,
p6steve left
|
|||
sena_kun | Altreus, yes | 09:05 | |
m: start react supply { say 42; done; say 42; }; sleep 1; | |||
camelia | ( no output ) | ||
09:05
Altai-man_ left
|
|||
sena_kun | erm | 09:05 | |
m: await start react supply { say 42; done; say 42; } | |||
camelia | ( no output ) | ||
sena_kun | erm | ||
m: react whenever supply { say 42; done; say 42; } | 09:06 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing block (whitespace needed before curlies taken as a hash subscript?) at <tmp>:1 ------> 3henever supply { say 42; done; say 42; }7⏏5<EOL> expecting any of: block or poin… |
||
sena_kun | ok, morning, you got me | ||
m: react whenever Supply.interval(1) { say $_; done; say 42; } | 09:09 | ||
camelia | 0 | ||
sena_kun | Altreus, ^ | ||
09:11
daxim left
09:18
daxim joined
|
|||
Altreus | nice thank :) | 09:18 | |
09:20
MasterDuke left
09:36
p6steve joined
09:40
p6steve left
09:42
Sgeo joined
09:47
Black_Ribbon left
|
|||
Altreus | Does there exist a module that will trace all method calls? Perhaps one that I can filter to certain namespaces? | 10:00 | |
tadzik | hmm, I seem to recall Devel::Trace being a builtin pragma... | 10:01 | |
I seem to remember wrong though | |||
jnthn | Altreus: modules.raku.org/dist/Trait::Traced:cpan:KAIEPI maybe | 10:02 | |
Though if you're trying to understand concurrent stuff I tend to use modules.raku.org/dist/Log::Timeline:cpan:JNTHN | |||
Hm, the status info on that page is actually out of date | |||
Altreus | splendid! | 10:03 | |
jnthn | (the upcoming stuff upcame) | ||
Altreus | Forever grateful for the work of people more knowledgeable than I | ||
which always seems to be either lizmat or jnthn | |||
but ok | |||
I love the idea of a role that traces | 10:05 | ||
now I can add it to the websocket and see what happens | |||
Kaiepi | Trait::Traced traces all method calls to a type when applied to one, one the condition that they exist in its method tables somewhere | ||
s/one/on/ | |||
jnthn | Well, Trait::Traced isn't lizmat or I, but Kaiepi++ :) | 10:06 | |
lizmat | indeed! | ||
Altreus | Indeed Kaiepi++ | 10:07 | |
Kaiepi | :) | ||
jnthn | Log::Timeline I guess I'm guilty for though :) | ||
Altreus | DO droplets are kind of clunky huh | ||
should probably not do this sort of heavy debugging on one of them | 10:08 | ||
dakkar | re: Log::Timeline, be aware of github.com/jnthn/p6-log-timeline/issues/8 | ||
Altreus | also I love but | 10:10 | |
>_> | |||
don't say that out loud | 10:11 | ||
Ah, suddenly the difference between "trait" and "role" is driven home to me | 10:14 | ||
10:18
lichtkind_ joined
10:20
lichtkind left
|
|||
Altreus | If I put «is traced» on Cro::WebSocket::Client I get «Serialization Error: missing static code ref for closure '' (gen/moar/World.nqp:2594) | 10:21 | |
» | |||
from the «use Cro::WebSocket::Client» line in my code | |||
Kaiepi | yeah that's a bug in the current release | ||
Altreus | :< | ||
well | |||
Kaiepi | the fix for it i have atm depends on the next release of rakudo | 10:22 | |
Altreus | I'm editing the websocket code - I'll just stick more print debugging in :D | ||
Determined to find this problem! | |||
jnthn tries to remember if he already put timeline probes into Cro::WebSocket or not... | 10:23 | ||
Altreus | unsure how to recognise them | ||
10:24
squashable6 left
|
|||
Kaiepi | there is a way you can trace any method call on a type similarly to how Trait::Traced does without the module, just it's a bit annoying to write | 10:25 | |
gimme a sec | |||
10:25
squashable6 joined,
Doc_Holliwood joined
10:31
Ekho left
|
|||
Altreus | I'm not yet sure what traces I want anyway :D | 10:40 | |
Currently I have a note before and after many many lines in my own code | |||
trying to figure out which bit is running and which bit is hanging | 10:41 | ||
Kaiepi | Altreus, this should trace all method calls to methods a type declares fpaste.scsys.co.uk/588661 | 10:42 | |
in a way that works with older releases | |||
Altreus | *paw* | ||
Kaiepi | the only reason Trait::Traced itself doesn't do something like this in the current release is because it doesn't work (yet) with multi methods | 10:43 | |
Altreus | does it have to be a trait? I mean since it composes an anonymous role, can I just make it nonymous and compose it on the object? | ||
Kaiepi | you can do it like that if you want | 10:44 | |
Altreus | i try | 10:45 | |
gonna wait for the thing to fail before I restart it with this | 10:48 | ||
10:48
chloekek joined
|
|||
Kaiepi | btw, how were you using Trait::Traced to get that serialization error? | 10:49 | |
chloekek | . | ||
tellable6 | 2020-04-22T02:54:59Z #raku <melezhik> chloekek: I made a proposal on possible usage of Sparrow in CRAI provision/deployment. Appreciate your feedback. github.com/chloekek/crai/issues/24 | ||
10:53
chloekek left,
hungrydonkey left
10:55
wbn joined
10:58
Ekho joined
11:02
Altai-man_ joined
11:05
sena_kun left
11:07
hungrydonkey joined
11:11
woolfy joined,
rbt left,
woolfy left
11:12
rbt joined
11:18
caterfxo joined
11:24
Doc_Holliwood left
11:25
dakkar left
11:26
dakkar joined
11:37
p6steve joined
11:41
p6steve left
11:42
hungrydonkey left
|
|||
Altreus | Kaiepi: I cloned cro-websocket and just bunged it in the source | 11:51 | |
class Cro::WebSocket::Client is traced { | 11:52 | ||
then used raku -I to use it :) | |||
Kaiepi | ah, that's probably fixed with the upcoming release, but it could use some tests | 11:54 | |
11:56
p6steve joined
|
|||
Altreus | :) | 11:59 | |
12:05
MasterDuke joined
12:08
stoned75 left
12:22
aborazmeh joined,
aborazmeh left,
aborazmeh joined
12:24
rbt left
12:25
rbt joined
12:30
rbt left
12:40
rbt joined
12:48
aborazmeh left
12:50
sena_kun joined
12:51
Altai-man_ left
12:53
mowcat joined,
melezhik joined
12:54
andrzejku left
12:55
Doc_Holliwood joined,
melezhik left
12:57
cognominal joined
13:00
cognomin_ left
|
|||
Kaiepi | yep, precomp seems to get handled ok | 13:08 | |
13:28
pilne joined
13:33
mowcat left,
molaf joined
13:35
Doc_Holliwood left
14:08
dg joined
14:16
andrzejku joined
14:17
MasterDuke left
14:22
AlexDaniel left
14:32
molaf left
14:35
MasterDuke joined
14:46
xelxebar left
14:48
Doc_Holliwood joined
14:49
Altai-man_ joined
14:51
sena_kun left
14:58
melezhik36 joined,
melezhik36 is now known as melezhik2
14:59
xelxebar joined
15:04
lucasb joined
15:07
stoned75 joined
15:11
natrys joined
|
|||
Altreus | hrm I think I need to do a sort of pointer-to-pointer thing except with supplies | 15:19 | |
15:19
dotdotdot joined
|
|||
Altreus | Is there an idiom I can steal so I don't have to figure it out for myself? | 15:19 | |
Basically I need to be able to recreate this supply without anything that was tapping it noticing that it stopped github.com/shuppet/p6-api-discord/...n.pm6#L108 | 15:20 | ||
(Cos I might be required to reconnect, which I am doing by creating a new websocket) | 15:21 | ||
dakkar | possibly stupid idea: wrap the real Supply in your own Supply-like class, delegate most behaviour, then switch the real Supply inside when you need to | 15:23 | |
timotimo | i haven't looked, but it kind of sounds like you want a Supplier that you .emit stuff into from where you get messages from your websockets | 15:26 | |
m: my $output = Supplier.new; my $events = $output.Supply; start react whenever $events { say "event: $_" }; react whenever Supply.from-list(^3) { $output.emit("first: $_") }; react whenever Supply.from-list(5..8) { $output.emit("second: $_") }; sleep 0.5 | 15:27 | ||
camelia | event: first: 0 event: first: 1 event: first: 2 event: second: 5 event: second: 6 event: second: 7 event: second: 8 |
||
timotimo | Altreus: what do you think? | 15:28 | |
15:30
ellipsis joined,
dotdotdot left
|
|||
Altreus | Yeah, I started to think that maybe instead of setting it to a supply {} I use a Supplier that I can just call emit on | 15:35 | |
But then I thought hang on, didn't I have that? | 15:36 | ||
I refactored it not to :o maybe this is why it was like that | |||
I'm gonna try it | |||
turns out it was only 3 lines | 15:38 | ||
timotimo | there's also migrate, if that's the right name | ||
where you push a supply of supplies and it'll always take items from the last supply it got | |||
Altreus | hmm | 15:41 | |
15:42
stoned75 left
|
|||
Altreus | oh I see! | 15:43 | |
docs.raku.org/type/Supply#method_migrate | |||
So I can just emit the supply I currently have and call migrate on the supply | 15:44 | ||
lemme try | |||
15:47
stoned75 joined
15:48
chloekek joined
|
|||
Altreus | Ah, but I emit the first supply before anything starts tapping it, and therefore migrate isn't called | 15:49 | |
So nothing happens | |||
Hrm I expect it to do something but it doesn't | 15:52 | ||
annoyingly I've elected to hack at an http clone of my repo so I can't just push my changes :) | |||
I have $!messages-supplier.emit: supply { note "Starting message supply" ... } but I don't get the note | 15:53 | ||
I think that pattern is more complex than just start react whenever { ... $!messages.emit } | 15:55 | ||
15:55
molaf joined
15:57
molaf_ joined
16:00
softmoth joined,
molaf left
|
|||
Altreus | I think I have a bad design here | 16:02 | |
I've conflated supply and react | |||
~ sort of | |||
I think when I turned it into a supply I ignored the fact that it was really a react where *one* of the outcomes *happened* to be to emit the data | 16:03 | ||
Same way a map is not a foreach | |||
16:07
AlexDaniel joined,
AlexDaniel left,
AlexDaniel joined
16:11
rbt left,
rbt joined
|
|||
melezhik2 | Hi chloekek: did you happen to see my Sparrow suggestion for CRAI? | 16:18 | |
in nutshell I trying to see if imperative, traditional CM tool could be fit for CRAI provision/cm/deploy | 16:19 | ||
Geth | doc/makefile-cleanup: 8a1c78ea4c | (Stoned Elipot)++ | Makefile remove references to removed make targets refs #2996 |
16:20 | |
doc: stoned++ created pull request #3345: remove references to removed make targets |
16:21 | ||
melezhik2 | I've got others idea of embedding Sparrow into Nix packages, so we could run Sparrow tasks Nix natively, :-) but that's another story ... I just started with something simple | 16:23 | |
16:24
vike left
16:26
lichtkind_ left
16:28
rbt left
16:29
rbt joined
16:37
dakkar left,
ismustachio left
16:40
Doc_Holliwood left
16:47
andrzejku left
16:50
sena_kun joined
16:51
Altai-man_ left
17:11
sjm_uk left
17:14
titsuki joined
17:19
mowcat joined
17:25
thundergnat joined,
thundergnat left
|
|||
Geth | doc: 8a1c78ea4c | (Stoned Elipot)++ | Makefile remove references to removed make targets refs #2996 |
17:28 | |
doc: 3320a13642 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | Makefile Merge pull request #3345 from Raku/makefile-cleanup remove references to removed make targets |
|||
linkable6 | DOC#2996 [open]: github.com/Raku/doc/issues/2996 [big][build][meta] Remove htmlify.p6 | ||
17:40
wildtrees joined
17:41
wildtrees left
17:43
wildtrees_ joined,
wildtrees_ left
17:44
wildtrees_ joined
17:55
sjm_uk joined
17:56
andrzejku joined
18:00
vike joined,
Doc_Holliwood joined
18:13
titsuki left
18:16
wildtrees_ left
18:26
sauvin left
18:49
Altai-man_ joined
18:51
sena_kun left
|
|||
stoned75 | :q | 18:58 | |
El_Che | stoned75: there is no escape | 19:00 | |
19:02
sjm_uk left
|
|||
stoned75 | C-x-C-c | 19:04 | |
19:11
softmoth left,
softmoth joined
19:15
rindolf left
19:19
melezhik2 left
19:21
melezhik joined
19:25
molaf_ left
19:31
patrickb joined
19:34
patrickb left,
|Sno| left
19:35
[Sno] joined
19:38
chloekek left
19:41
[Sno] left
19:43
[Sno] joined
19:44
andrzejku left
19:48
farcas1982regreg left
19:49
k-man_ joined,
k-man left
|
|||
Manifest0 | Is there a way to specify "dynamic" subsets? | 19:59 | |
For example i would like something like this "subset ($a+)n of Str where $a ~~ /\d/ $_.chars == $a" | |||
:-) | |||
20:01
Black_Ribbon joined
|
|||
timotimo | kind of like a parameterized subset? | 20:10 | |
Manifest0 | yes. I would like then to do "my 29n $var;" or "my 10n $var='abcdefghij'" | 20:13 | |
timotimo | ah, not exactly like that i think | 20:15 | |
Manifest0 | and if set the var with a length higher than the number in the begining it would throw an error :-) | ||
20:25
aborazmeh joined,
aborazmeh left,
aborazmeh joined
20:29
melezhik left
20:30
melezhik joined
20:31
leah2 joined
|
|||
melezhik | vrug: Test-Async test fails on rakudist , I know this is a an old problem, FYI - repo.westus.cloudapp.azure.com/raku...585441.txt | 20:31 | |
vrurg: Test-Async test fails on rakudist , I know this is a an old problem, FYI - repo.westus.cloudapp.azure.com/raku...585441.txt | |||
vrurg | melezhik: thanks, will look at it later today! | 20:33 | |
melezhik | sure, NP | ||
20:38
p6steve left
20:44
mowcat left,
wamba joined
20:45
aborazmeh left,
molaf joined,
wamba left
20:49
squashable6 left
20:50
sena_kun joined,
squashable6 joined
20:51
Altai-man_ left
20:54
p6steve joined
21:02
p6steve left
21:11
rbt left
21:12
rbt joined
21:18
squashable6 left,
squashable6 joined
21:20
squashable6 left
21:21
squashable6 joined
21:39
natrys left
21:43
softmoth left
21:44
softmoth joined
21:45
mike_s joined
|
|||
[Coke] | Manifest0: I would write a sub that took a parameter and then do ... where my-check(param1) and where my-check(param2) | 21:46 | |
21:46
skyl4rk joined
21:49
MilkmanDan joined
21:52
natrys joined
22:06
softmoth left
22:07
molaf left
22:10
natrys left
22:29
pecastro left
22:34
cognomin_ joined
22:37
cognominal left,
__jrjsmrtn__ joined
22:38
_jrjsmrtn left
22:49
Altai-man_ joined
22:51
sena_kun left
|
|||
Demos[m] | does IO::Path.open(:exclusive) ACTUALLLY fail if the file exists or just if another process has the file open? | 22:54 | |
22:59
pilne_ joined
23:00
pilne_ left
23:02
pilne left
23:11
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
vrurg | .tell melezhik regarding the failing test – the actual test did not run. It was p6doc dependecy which failed to install. It probably should not happen. | 23:16 | |
tellable6 | vrurg, I'll pass your message to melezhik | ||
23:27
melezhik7 joined,
melezhik7 is now known as melezhik2
|
|||
melezhik2 | vrurg: I know this is not the module's blame. but it is still an error, and it bound to be, this is an old bug with p6doc | 23:28 | |
tellable6 | 2020-04-22T23:16:56Z #raku <vrurg> melezhik regarding the failing test – the actual test did not run. It was p6doc dependecy which failed to install. It probably should not happen. | ||
23:30
p6steve joined
23:34
p6steve left
23:47
melezhik2 left
|