š¦ 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:14
sftp left
00:15
sftp joined
00:20
Manifest0 left
01:20
bisectable6 left,
committable6 left
01:21
committable6 joined
01:23
bisectable6 joined
02:23
committable6 left,
bisectable6 left
02:24
bisectable6 joined,
committable6 joined
03:24
committable6 left,
bisectable6 left
03:26
bisectable6 joined,
bdju left
03:27
committable6 joined
03:28
Sgeo left
03:29
Sgeo joined
03:44
bdju joined
04:26
mark22k left
04:28
mark22k joined
05:28
bisectable6 left,
committable6 left
05:29
bisectable6 joined
05:31
committable6 joined
06:20
GreaseMonkey left
06:58
abraxxa joined
07:13
saint- left
07:15
jpn joined
07:16
andinus left
07:17
andinus joined
07:30
jpn left
07:36
jpn joined
07:42
jpn left
07:43
Manifest0 joined
07:44
jpn joined
08:06
Sgeo left
08:07
lichtkind__ joined
08:11
dakkar joined
08:21
sena_kun joined
08:24
El_Che left
08:25
El_Che joined
08:52
abraxxa left
09:07
timo joined
09:30
sena_kun left
10:04
abraxxa joined
10:12
abraxxa left
10:16
guessed joined
|
|||
guessed | hi seeing the old version of the documentation website is only possible via, e.g., web.archive.org or similar tool? or is there an option or other website to see it | 10:23 | |
by old version i mean old design, the one before this current one | 10:24 | ||
lizmat | yeah, the wayback machine appears the safest bet: Aarok MALE | 10:45 | |
web.archive.org/web/20230114101631/....raku.org/ # oops mispaste :-) | |||
guifa | oooh | 10:49 | |
I managed to successfully implement in module the original idea behind the feed operators | 10:50 | ||
guessed | thanks | ||
guifa | just made each step create a channel and hook into the previous one | 10:51 | |
lizmat | I wonder how that matches with gist.github.com/lizmat/cecd2801129...c9a8fe0ee7 :-) | 10:54 | |
antononcube | @guifa " I managed to successfully implement in module the original idea behind the feed operators" -- Where is that module? What is the original idea? š | 10:58 | |
guifa | lizmat: i didn't use any nqp haha. i also didn't set up any max buffer size, each stage processes as eagerly as it can | 10:59 | |
lizmat | you'd want some back pressure for the slower steps | ||
otherwise the faster steps will produce more than the slower steps can handle, and use a lot of memory | 11:00 | ||
guifa | antononcube: right now, doing @foo ===> &bar ===> &xyz ===> @end is identical to @end = @foo>>.&bar>>.&xyz | ||
lizmat: fair. I just did it in like an hour of playing around with Channels last nights ha. No real tweaks yet, but sounds like if you've done it in NQP it's to try to dump it in core soon | 11:01 | ||
lizmat | yeah, that was my original idea... but it was never accepted :-( | 11:02 | |
guifa | antononcube but the idea would be to xyz to be called as soon as bar produces each result, and to push values to end as soon as xyz produces them | 11:03 | |
antononcube | I see, interesting. That is inline with Seq, etc. | 11:04 | |
guifa | so that you get something slightly more akin to @end = lazy gather {Ā @foo.map({ take $_.&bar.&xyz} ) } | ||
11:04
melezhik joined
|
|||
melezhik | o/ | 11:04 | |
if there is any linters for Raku? | 11:05 | ||
guifa | melezhik: I'm kinda sorta working on one but it's been more for my own person use with RakuAST stuff, but I do have plans to polish it up | ||
melezhik | I see | ||
guifa | okay time for work, afk. | ||
antononcube | @guifa I use the forward feed operator often (==>). Iy is especially good in data- or LLM transformations demos -- helps emphasize what is data or expression we start with. | 11:06 | |
@guifa It is nice to see discussion or work on this. | |||
melezhik | I started quite a big project on Raku in my company , people started to contribute , so they wonder of there is Raku linter? | ||
we have Rake based DSL system to generate ninja templates | |||
a really big project as it covers a dozens of applications | 11:07 | ||
a really big project as it covers a dozen of applications | |||
lizmat | well, there is a prototype of a linter, if you will | 11:09 | |
say $source.AST.DEPARSE | |||
use experimental :rakuast | |||
antononcube | @melezhik I wonder is BScan's plugin for VSCode might be useful to you: marketplace.visualstudio.com/items...-navigator | 11:10 | |
lizmat | m: say "if 42 { 666 }".AST.DEPARSE | ||
camelia | ===SORRY!=== Error while compiling Missing block ------> if 42ā 666 |
||
lizmat | m: say 'if 42 { 666 }'.AST.DEPARSE | ||
camelia | if 42 { 666 } |
||
melezhik | lizmat: what $source.AST.DEPARSE does ? | ||
lizmat | .AST converts the given source to a RakuAST tree, and the .DEPARSE changes it back to source code | 11:11 | |
melezhik | m: say 'sub foo() {}; foo()'.AST.DEPARSE | ||
camelia | sub foo { } foo() |
||
melezhik | m: say 'sub foo() {}; foo'.AST.DEPARSE | ||
camelia | sub foo { } foo() |
||
melezhik | I would like. linter that would raise a warning if foo called without parentheses | ||
lizmat | not all Raku features are supported yet though... | ||
ok, then using RakuAST is *not* the way atm | 11:12 | ||
11:25
pjlsergeant__ left
11:37
guessed left
|
|||
nemokosch | I think it's easy to see why a linter would be useful for a large collaboration but it's just as easy to see that the Raku community has no culture for it, as it is currently | 11:38 | |
the current mindset is much more like "anything somebody might write should be considered valid" with minimal disclaimer | 11:39 | ||
melezhik | lizmat: I see, thanks anyway | 11:43 | |
11:49
melezhik left
12:10
teatime joined
|
|||
tbrowder__ | melezhik: i like the linter idea. i asked Damian about a best Raku practices a long time ago and he said it was too early. i think raku ppl could start one now (with lots of options in the spirit of Perl's linter) | 13:05 | |
tellable6 | tbrowder__, I'll pass your message to melezhik | ||
nemokosch | melezhik: sorry to bother you again but I'm really just figuring devops stuff out at the moment | 13:07 | |
tellable6 | nemokosch, I'll pass your message to melezhik | ||
nemokosch | is Sparrow something like Ansible? | ||
now that I roughly know the point of Ansible... | |||
andinus | sparrow is a CI iirc, more like github actions or travisci | 13:10 | |
nemokosch | the way I understood is that these are "jack of all trades" tools | 13:11 | |
Sparrow6 for one just calls itself "automation framework" | 13:12 | ||
that sounds much like Ansible to me | 13:13 | ||
maybe I should really just read the readme, lol | |||
> Sparrow could be thought as an alternative to existing configuration management and provisioning tools like Ansible or Chef, however Sparrow is much broader and not limited to configuration management only. | |||
andinus | ah i see, i'm not familiar with that | 13:14 | |
nemokosch | what I'm starting to be confused about right now is... if tools like this exist for whatever hardware environment, what is the point of something like Vagrant? lol | 13:15 | |
it would be hard to downright declare that Vagrant is useless but now I get the impression that what I missed more often is more like Ansible and its alternatives | 13:17 | ||
coleman | one reason to still build images (or bake them, to use the cake metaphor) is that a pre made image launches quickly and can become operational without network access | 13:24 | |
but most can rely on network access | 13:25 | ||
a pattern I like is to build a "base" virtual machine with common tools and then use config management scripts to sprinkle in the specialization. this gives the benefits of speed without the complexity of building dozens of images | 13:27 | ||
nemokosch | that also makes sense | 13:29 | |
just to imagine the amount of headaches that could have been avoided by having a configuration strategy and preferably some tool for autoconfiguring network interfaces at my previous workplace... | |||
jdv | ansible is just agentless box mgmt | ||
nemokosch | basically dev environment was "here, I made this reasonably working import from Virtualbox, good luck" | 13:30 | |
but what "reasonably working" meant or was even supposed to cover, that was completely ad-hoc | 13:31 | ||
also, the fun of downloading 30GB images over VPN | |||
coleman | right. a snapshotted environment is not necessarily a reproducible environment. | ||
so you need CI for your CI images and that's work that many organizations don't do | 13:33 | ||
jdv | what? | 13:34 | |
coleman | a dev environment that doesn't have a reproducible build script, but is just a baked image, can become out of date and hard to update | 13:35 | |
CI images too. Hence needing CI for CI | 13:36 | ||
nemokosch | my other problem/objection was that I didn't necessarily want all the same settings | ||
jdv | i mean if your dev env is the same image as the prod one then you've just saved yourself a lot of wasted time | ||
assuming you don't have crazy (pre)reqs | 13:37 | ||
nemokosch | maybe I wanted network interfaces to be set up differently, either for hardware reasons or because of my personal workflow | ||
maybe I wanted something as mundane as a different keyboard layout or UI | |||
coleman | if you can make dev like prod, cool. but dev requirements are often chonkier and having debug tools on prod can be a security risk...no shortcuts | ||
nemokosch | but that was all in ad-hoc in-baked rc scripts and the like | ||
sometimes layers of sourced profile files | 13:38 | ||
jdv | sure, but "CI" doesn't mean cultivating an image/env. | ||
nemokosch | the CI part wasn't half bad, or not annoying at least | 13:39 | |
there was like one person who understood Jenkins enough to configure a build server | |||
and most of the time it just worked, even Sonarqube could be integrated | 13:40 | ||
actually, it was much easier to just steal a network VM that took part in the CI deployment than to mangle with an own Virtualbox VM xD | 13:41 | ||
it wasn't encouraged but it wasn't outright forbidden either so I just stopped looking for another way at some point | |||
I could get used to the terms by which it worked and just be careful enough not to break it... | 13:42 | ||
13:46
xinming left
13:48
xinming joined
13:51
greaser|q joined
14:00
lichtkind__ left
15:33
jgaz joined
15:45
xinming left
15:47
xinming joined
16:18
lichtkind__ joined
16:23
jpn left
16:31
jpn joined
16:39
dakkar left
17:00
manu_ is now known as eseyman
17:42
sena_kun joined
18:12
melezhik joined
|
|||
melezhik | Nemokosch: to bring clarity . We have ci.sparrowhub.io which is CI ( Aka SparrowCI) and we have Sparrow itself - github.com/melezhik/Sparrow6 which is automation tool ( well like Ansible but still a bit different ) , if you really after Ansible like tool in Raku please consider sparrowdo | 18:14 | |
tellable6 | 2023-10-04T13:05:53Z #raku <tbrowder__> melezhik: i like the linter idea. i asked Damian about a best Raku practices a long time ago and he said it was too early. i think raku ppl could start one now (with lots of options in the spirit of Perl's linter) | ||
2023-10-04T13:07:19Z #raku <nemokosch> melezhik: sorry to bother you again but I'm really just figuring devops stuff out at the moment | |||
melezhik | The thing is those tools underlyingly are built on the same platform which is Sparrow however they are all for different users / use cases ))) | 18:15 | |
[21:08:17] melezhik: There are also Sparky , Tomty and Tomty in this family and they are also automation / devops / test tools built on the same Sparrow engine | |||
And we also have Cromtit , ))) | |||
Depending on context I can give a recommendation which specific tool to use | 18:16 | ||
And yeah I forgot to mention Bird | |||
Now you should be be pretty "overwhelmed" haha š with a choice | 18:17 | ||
nemokosch | this has always been my impression with these tools š there is genuinely too much | 18:18 | |
18:19
melezhik left
18:26
melezhik joined
|
|||
melezhik | Well ... it depends on how you see it , let's get started , what do you want and I will equip you with a proper tool )))š | 18:27 | |
18:28
melezhik left
|
|||
nemokosch | right now I really only want to create a deployment workflow for a Typescript project. Let's say that I push to the dev (I think it's actually called "debug", whatever) branch of the repo on github. I would like it to be deployed on my VPS automatically. | 18:32 | |
rather than pull manually and run some yarn commands manually | 18:33 | ||
19:01
melezhik joined
|
|||
melezhik | Nemokosch: you can install hosted SparrowCI on your vps and it will do the job you want . | 19:03 | |
If SparrowCI is too heavy for that you can do pretty much the same with Sparky only which in that case lightweight version of SparrowCI with a bit low level api , but still good enough | 19:04 | ||
nemokosch | It's rather just the "broader context of things" that there was a little infotainment kind of presentation about Ansible and since I've seen it being used recently, now that I kinda get what it's for, that also sounded like something that can be useful a lot of times | ||
Perhaps more times than deployment but my concrete personal deal is deployment-related š | 19:05 | ||
melezhik | So yes, for CD use Sparky , sorry I did not pay attention . SparrowCI won't fit as it for CI only. But Sparky is a hosted cicd server | 19:07 | |
github.com/melezhik/sparky | 19:08 | ||
In your case you are interested in localhost jobs | 19:10 | ||
github.com/melezhik/sparky#trigger...cm-changes | 19:11 | ||
19:19
melezhik left
|
|||
ab5tract | melezhik: I have to say, I've considered digging into Sparrow but usually get lost due to interconnected references to other similar-but-different projects :) | 19:21 | |
tellable6 | ab5tract, I'll pass your message to melezhik | ||
nemokosch | yes, it is kind of embarrassing for me as well when I get this feeling | 19:22 | |
like, I genuinely appreciate it and have all the reasons to believe that it's well done | |||
but... I just can't get around it, or develop a connection | 19:23 | ||
antononcube | I really liked the idea of SparrowCI, but then I simply got out of habit to associate or register my packages in it. | 19:39 | |
Another thing -- GitHub actions seem more visible and immediate. So, if go the CI way at all, I would use GitHub actions. | 19:41 | ||
nemokosch | anyway, now I know that my drug of choice is Sparky | ||
antononcube | I think for me is simply about mental bandwidth (CI-wise...) | 19:42 | |
melezhik | @ab5tract - itās ok, again feel free to ask me and give you some recommendation depending on your case | 20:13 | |
tellable6 | 2023-10-04T19:21:05Z #raku <ab5tract> melezhik: I have to say, I've considered digging into Sparrow but usually get lost due to interconnected references to other similar-but-different projects :) | ||
20:25
jgaz left
20:26
jgaz joined,
xinming left
20:28
xinming joined
20:39
eseyman left
20:41
manu_ joined
20:45
manu_ is now known as eseyman
20:59
abraxxa joined
|
|||
abraxxa | ARGH @vscode 1.83.0 release notes: | 21:00 | |
Perl 5/RakuThe Perl 5 language has been renamed to Raku (language identifierĀ raku), and Raku will be automatically selected as the language forĀ .rakuĀ files. | |||
ab5tract | ?? | 21:08 | |
21:22
Sgeo joined
|
|||
scullucs | Off-by-one error. | 21:23 | |
nemokosch | XD | 21:36 | |
so we did kill Perl, after all š¤£ | |||
El_Che | abraxxa: autch | 21:55 | |
22:00
sena_kun left
22:05
kst joined
22:15
kst left
22:35
lichtkind__ left
22:37
kst joined
22:51
abraxxa left
22:58
abraxxa joined
23:04
jpn left
23:25
abraxxa left,
abraxxa joined
23:29
abraxxa left
23:44
teatime left,
teatime joined,
initrod joined
23:46
teatime left,
teatime joined
23:55
teatwo joined
23:58
teatime left,
merp left,
initrod left
|