🦋 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:02 guifa2 joined 00:24 dogbert17 joined 00:28 dogbert12 left 00:30 marcusr left 00:31 Garbanzo joined 00:32 marcusr joined 01:04 Garbanzo left 01:26 MasterDuke left 01:51 pecastro left 02:05 kvw_5 joined 02:08 kvw_5_ left 02:36 gnufr33dom joined 02:53 rindolf joined 03:53 quotable6 left, greppable6 left, notable6 left, bloatable6 left, committable6 left, bisectable6 left, linkable6 left, nativecallable6 left, statisfiable6 left, coverable6 left, unicodable6 left, shareable6 left, evalable6 left, benchable6 left, squashable6 left, releasable6 left, tellable6 left, sourceable6 left 03:54 evalable6 joined, committable6 joined, nativecallable6 joined, releasable6 joined, bisectable6 joined, sourceable6 joined, tellable6 joined, bloatable6 joined 03:55 linkable6 joined, coverable6 joined, greppable6 joined, shareable6 joined 03:56 benchable6 joined, squashable6 joined, notable6 joined, statisfiable6 joined, unicodable6 joined, quotable6 joined 04:56 coverable6 left, quotable6 left, sourceable6 left, unicodable6 left, greppable6 left, bloatable6 left, nativecallable6 left, committable6 left, benchable6 left, notable6 left, statisfiable6 left, tellable6 left, squashable6 left, bisectable6 left, releasable6 left, shareable6 left, linkable6 left, evalable6 left, squashable6 joined 04:57 shareable6 joined, tellable6 joined, linkable6 joined, sourceable6 joined, nativecallable6 joined, greppable6 joined, notable6 joined 04:58 benchable6 joined, committable6 joined, unicodable6 joined, statisfiable6 joined, releasable6 joined 04:59 quotable6 joined, evalable6 joined, bloatable6 joined, coverable6 joined, bisectable6 joined 05:57 xinming joined 05:59 mowcat left 06:24 sno left 06:27 wamba joined 06:28 sortiz left
summerisle getting some strange behaviour with the CLI features with a `sub MAIN( Str :@i ) { * }`. It only ever prints usage, even if any positionals are satisfied 06:28
06:31 kaiwulf left 06:36 __jrjsmrtn__ left, __jrjsmrtn__ joined 06:40 sno joined
guifa2 That signature doesn't have any positionals? 06:40
06:49 jmerelo joined 07:02 wamba left, jmerelo left
moritz summerisle: that's because the command line doesn't offer any way to provide typed arrays 07:04
$ raku -e 'sub MAIN( :@i) { say @i }' --i=foo --i=bar
[foo bar]
without the Str it works
07:05 jmerelo joined
summerisle interesting, thanks. 07:06
next question is, i suppose, is there a way to get the command line to accept parameters as `-I <value>` as opposed to `-I=<value>` without implementing that functionality myself? i'm trying to implement a drop-in replacement for another command-line tool for reasons of laziness. 07:21
moritz I'd not think you easily can; maybe take a look if there's a module for that? 07:22
07:22 stoned75 joined 07:27 domidumont joined 07:32 parabolize left 07:35 ufobat_ joined 07:36 aborazmeh joined, Sgeo left 07:43 wamba joined 07:54 aborazmeh left
El_Che I wrote a module that does that, but it does not support enums yet 08:16
github.com/nxadm/SuperMAIN 08:17
(it's a drop-in, no new syntax or semantics, just add the functionality) 08:18
(I didn't even know you could define enums for inputs :) ) 08:19
08:24 Discipulus joined 08:50 Scimon joined 08:57 dakkar joined 09:07 pecastro joined 09:09 patrickb joined 09:31 cooper left 09:32 ambs joined 09:33 stux|RC joined, cooper joined 09:39 gnufr33dom left 09:51 asymptotically left 09:52 asymptotically joined 09:53 wamba left 09:57 wamba joined 10:57 linkable6 left, evalable6 left 10:59 evalable6 joined 11:00 linkable6 joined 11:25 wamba left
El_Che weekly: nxadm.wordpress.com/2021/02/11/rakudo-pkg-v2/ 11:25
notable6 El_Che, Noted! (weekly)
11:50 Black_Ribbon left 12:04 MasterDuke joined 12:16 squashable6 left, squashable6 joined 12:26 gabiruh left, gabiruh joined 12:29 leont joined 12:33 wamba joined
Scimon Looks great! :) 12:35
12:39 Discipulus left
El_Che Scimon: thx :) 12:41
I am a bourne shell and Github Actions ninja now :P 12:42
Scimon I need to take a look at the Actions. I've spent a lot of time doing gitlab pipelines recently. 12:47
El_Che I spent a lot of time on travis trying to fit my kind-of-extreme use 12:48
and at works Jenkinspipe on Groovy
Github Action are very nice, but the info is all over the place
12:49 Discipulus joined
Scimon I have got a deeper appreciation of good documentation over the years. 12:49
El_Che yeah, certainly 12:51
andinus can i find a list of feeds pl6net fetches from? 13:00
El_Che ping rba ==^ 13:01
(mm, maybe a good place for the rakudo-pkg-v2 post, so people know they need to change their repo config) 13:02
(for now they won't receive new versions, and in may Bintray will kill the old repos) 13:03
13:10 aluaces left 13:14 aluaces joined
lizmat andinus: github.com/Raku/planet.raku.org/bl...perlanetrc 13:16
El_Che (no filtering on tag?) 13:17
13:22 MitarashiDango[m joined 13:32 AncientWizard joined
AncientWizard I've come here to share difficulties using Raku as a replacement for Perl5. I'm hoping to find others that have solved the problems I've found. I've used the Raku doc's but failed to find the golden nugget 13:37
Scimon What is the problem you're having? (I've found Stack Overflow can be a good place for questions too, there's some good answers to a lot of stuff and you can give longer explantions). 13:39
andinus lizmat: thanks
AncientWizard I'm attempting to replace a workplace pel5 app with one written in Raku.
Scimon Ok. But there must be specific issues you're coming across? 13:40
AncientWizard I have looked online but no matches.
El_Che (completely next to the point, but I find it more productive to write new apps for a new itch instead of replacing older ones that work) 13:42
Scimon You can't just drop a Perl5 app into Raku and expect it to work. If you're VERY VERY lucky (and it's very simple) it will but there is no direct compatibility. 13:43
AncientWizard It has to do with symbol lookups.  If appears that the only successful lookups are for symbols i locally called in using 'use Mod::B;'
13:44 jmerelo left
AncientWizard No worries it a code rewrite 13:44
lizmat AncientWizard: you might be interested in these remastered blog posts from 2018: github.com/Raku/CCR/blob/main/Rema...-Series.md
El_Che and this oldie: perl6advent.wordpress.com/2014/12/...ol-tables/
Scimon Raku's scoping and exports are more rigorous than Perls in a lot of places. `use`ing a module won't import all the symbol table. 13:45
lizmat and it will only import them in the lexical scope of the 'use- statement
Scimon You may want to look at docs.raku.org/language/modules#ind...sub_EXPORT and docs.raku.org/language/modules#is_export
AncientWizard If mod a calls in mod b then b can do a use on a and then b can't lookups on a
B cant 13:46
Scimon So you want to make a circular dependency?
AncientWizard No
Scimon A uses B and B uses A?
Sorry just trying to understand. 13:47
AncientWizard But b need to test if a is there and call a sub
Scimon So you got mdule B and it's used A and you then want to call a sub in A? 13:48
AncientWizard If not there then do nothing. I wat to us a features if a is in memory
Scimon Ahhh... So you want to *try* and load A?
AncientWizard No not load 13:49
El_Che import
MasterDuke modules.raku.org/dist/if:github:github:FROGGS maybe?
AncientWizard Symbol check
This is like p5 eval for a sub
Scimon See this is the kind of deep make Perl stuff I try and avoid most of the time so have never really looked into doing it in Raku. 13:50
AncientWizard My p5 app is about 280k lines of source. Very cool 13:52
Scimon Nice :)
AncientWizard Let me add a story this 13:53
In this case mod b is a console builder but it cat be sure what features are built in to app
Can't be 13:54
So it tests for N known features and only calls those those it can find to add their bits to the console 13:55
13:57 dakkar left
Scimon So... you want to know if a given module exists to be loaded? 13:58
AncientWizard I use this same technique when doing DB writes. If a data producer does not want to wait for a DB write it can check for the mod that will bulk up and background that work. I.E. delegates it so it can move on to the next work item
App is Event driven and manages 90+ security scans in parallel 14:01
Scimon m: my $exists = ::("A");say $exists.?exception 14:03
evalable6 No such symbol 'A'
Scimon So that looks to see if A is in the lexical scope. If not it returns a failure that I then look to see if it's got an exception method. 14:04
docs.raku.org/language/packages#In...into_names Might help?
AncientWizard If so :('Some::mod') ...
Will always be false unless use Some::mod; is in the same file 14:05
Scimon Yes. Because modules are lexically scoped not globally. 14:06
AncientWizard Even if the use was already called in file a file read before this 14:07
Scimon Yes because that use would be in that packages scope.
AncientWizard But the symbol is an our class
By default 14:08
Scimon our defines a variable to be Package scoped. So it's not leaking out into Global scope.
AncientWizard Any chance I'm doing the lookup wrong 14:10
14:10 dakkar joined
Scimon m: module A { our $x = 5 }; module B { import A; our $ax = $A::x; };say $B::x;say $A::x;say $B::ax' 14:11
evalable6 (exit code 1) 04===SORRY!04=== Er…
Scimon, Full output: gist.github.com/2a657ba758458b5f19...b1d4f198e8
Scimon m: module A { our $x = 5 }; module B { import A; our $ax = $A::x; };say $B::x;say $A::x;say $B::ax
evalable6 (Any)
lizmat plugs the CCR project by showing yours truly's list of remastered blog posts: github.com/Raku/CCR/blob/main/Rema.../README.md 14:12
Scimon lizmat++ 14:13
I think you might need to rethink how you're going about it AncientWizard. 14:14
AncientWizard In case I confused things my mods are classes no actual units or module. class a::thing ... 14:16
Scimon For me this feels like a perfect case for config files and runtime class loading with require. 14:17
AncientWizard Unfortunately its a long discussion about cutting dependencies and writing for test. It sometimes means more code but it has paid off 14:20
I make every attempt to cut hard depends so testing can toss in adapters 14:21
Scimon Hmmm. All I can think of is putting a more detailed example on Stack Overflow, there's a few of us there who may be able to help work out what to do. 14:22
AncientWizard Agreed. Sadly I can't do that from work. Doing irc from phone is painful 14:24
14:24 wamba left
Scimon stackoverflow.com/questions/661555...ailability : Was this the question? 14:25
AncientWizard I still believe I should be able to look up any global or our scoped symbol so long as use was performed at least ones before I look 14:26
Sorry not the solution. The module is on disk but its not this code responsibly to load it. Its more like is this feature in memory then run it otherwise move on 14:29
14:42 AncientWizard left 15:06 wamba joined 15:15 gnufr33dom joined 15:20 patrickb left 15:24 Sgeo joined 15:41 Sgeo left, Sgeo joined 15:45 wamba left 15:46 gnufr33dom left 15:51 parabolize joined, shadowpaste joined 15:52 codesections joined
codesections o/ 15:52
15:57 patrickb joined 15:58 jmerelo joined
tyil \o 15:59
guifa2 doth mine eyes deceive me? codesections in IRC again? ;-) 16:07
16:16 orinthe left 16:21 orinthe joined 16:27 orinthe9 joined 16:29 orinthe left 16:33 orinthe9 left
tonyo Scimon: if he wants to look at whether it's installed first he can comb $*REPO using .candidates("X") and .next-repo 16:34
16:40 vrurg joined, kaiwulf joined 16:42 orinthe joined
codesections guifa2: haha, yeah, I kept not logging on – in part because I was down a screen and don't have a good client set up. But I'm going to try to be around a bit more :D 17:03
17:04 vrurg left 17:06 vrurg joined
guifa2 so I was thinking that the pack/unpack functions have been experimental and not given much love. They're also very confusing 17:06
confusing = I have to look at the docs everytime to regrok what stuff does
maybe we should consider a totally different approach, eg
Scimon I don't think the original Perl pack or unpack are the easiest to understand. 17:07
guifa2 well, that's also true
Scimon (I'm not disagreeing with you just making the point ;) ) 17:08
guifa2 my $bin = pack { pack $foo :int8; pack $bar :int16; pack $str :str for @str-array } 17:09
my $bin = pack { store-int8 $foo; store-int16 $bar; store-str $str for @str-array } 17:10
17:10 dakkar left
codesections would there be a way to take inspiration from JSON::Fast? 17:11
guifa2 codesections: that just uses to-json and from-json; packing has a few more options that can't be quite so succinctly summed up I don't think 17:13
In effect, it doesn't really do anything you can't do with buf operations, it was just supposed to —in theory— make it easier
the cool power could be in the unpack. Currently unpack just returns a list, so you'd do 17:14
my ($a, $b, $c) = unpack(…);
Using a block, assignment could be enabled
unpack { $a = unpack :int; $b = unpack :int; } or something 17:15
I'd definitely need to think through it carefully to consider all the possibilities, but I think something oculd be done to make it actually useful 17:16
17:18 vrurg left
Discipulus some interesting update on * glob expansion on cmd.exe at www.perlmonks.org/?node_id=11128174 17:20
codesections maybe something like `my $bin = pack({ :foo(int8), :bar(int16), :str(Str) }, @str-array)` (where the first arg is a Hash, not a block)?
17:21 sortiz joined
Discipulus feel free to answer here or there 17:21
17:25 Scimon left
sortiz Discipulus: Yesterday I lost my internet connection. I will write down my findings later. 17:26
17:26 dakkar joined
Discipulus soritz: great! irc you had different behaviours, no? If you read newer posts they can explain this weirdness 17:27
17:30 vrurg joined 17:33 dakkar left 17:35 rindolf left 17:51 stoned75 left
sortiz Discipulus: I can confirm that, in Windows, the behavior depends of the libraries linked. A raku build with Microsoft tools don't expands, but one build with mingw tools does. 17:56
18:00 aborazmeh joined
sortiz With rakubrew is easy to reproduce as I can download some raku versions, all precompiled with MS tools, but can build others if you has strawberry perl installed. 18:01
Discipulus sortiz: great! 18:04
18:06 DiffieHellman joined
Discipulus so now it could interesting to try buildin perl with mingw tools to see if it expands! :) 18:16
sortiz No, strawberry perl is build that way and don't expands. 18:19
18:24 domidumont left
Discipulus no way to build another perl? 18:40
sortiz I commented in PerlMonks. 18:53
Discipulus oh great! 18:54
18:55 Sgeo left, Sgeo joined 18:57 squashable6 left 18:58 jmerelo left, squashable6 joined, stoned75 joined 19:05 wamba joined 19:31 defaultxr joined 19:54 ufobat__ joined 19:58 ufobat_ left 20:02 rindolf joined 20:36 patrickb left, rindolf left 20:41 sortiz left 20:49 ufobat__ left 20:55 leah2 joined 21:02 aindilis left
guifa2 vrurg: re Raku conf. I'm crazy (academic) talking here, but maybe in lieu of (or inaddition to) sponsorships we could shortly afterwards publish a quick proceeds of the conference for people who want to fork over $X to donate to TPF/TRF to support grants and run it through a print-on-demand service. Keepsake + reference material 21:48
21:51 johann1 joined
vrurg guifa2: one thing I'm certain about: what you say is beyond my English abilities. :) I hardly understand your point. 21:52
guifa2 I ramble sometimes, feel free to yell at me for it :-) 21:53
Instead of (or in addition to) trying to get sponsorships for money, perhaps we could give incentives for someone to be a paid "attendee".
vrurg Me too. Sometimes thinking runs fast and talking/writing lags behind. The outcomes are usually messy. :)
guifa2 People have an interest in Raku books, etc, so perhaps we could publish proceedings of the conference (basically, a short book[let]) so people could have a reference copy of the presentations. 21:54
A nice keepsake, basically, but functional
johann1 Where would I have to look to find a precise definition of what "\s" matches? Thinking of a list of code points. 21:56
vrurg I think the best is to have all possible options here. Having choice is always the best. Though I'm not sure a print on demand service could produce any substantial outcome.
johann1: It should be on Regex documentation page. I think I saw it there.
johann1 I looked at docs.raku.org/language/regexes#\s_and_\S but it does not give a definition just "a single whitespace character" 21:57
21:58 Discipulus left
guifa2 johann1: it's anything that's defined in Unicode as a spacing character 21:59
basically, it's equivalent to <:Z+[\r\n\t]> 22:01
(because Unicode considers tab, CR and LF as control characters rather than spacing characters)
johann1 in other words everything marked as "White_Space" in this file www.unicode.org/Public/UCD/latest/...opList.txt ? 22:02
22:03 Garbanzo joined, wamba left
guifa2 johann1: correct 22:04
22:04 johann1 left 22:05 aindilis joined
guifa2 vrurg: true. FWIW, based on some quick quotes, we could print a 100-page, hardbound book for ~$10 each. I dunno, I'm weird. I like books :-P 22:07
vrurg guifa2: We'll where it goes. Overall I like the idea. 22:12
22:16 aborazmeh left, Garbanzo left 22:27 wamba joined
codesections guifa2: the thing is though, at an academic conference, most of the presentations are of papers, and then the proceeding include those papers. But it seems like we mostly write presentations from scratch (rather than, say, adapting a blog post). So what would go in the proceedings? 22:36
guifa2 codesections: it depends on the conference
the ones i go to, proceedings are written after the fact
codesections oh, interesting. But still by each speaker? 22:38
guifa2 Yeah. My thinking was a lot of us could adapt our presentations to a written form within two or three weeks of giving it. I could then stitch it together in InDesign, and have it off to the printers shortly thereafer. 22:39
22:40 kawaii left
guifa2 (in a lot of cases, it's copy paste stuff off of our slides, and add some connecting prose, really. And if someone can't do theirs, I could probably speech-to-text them, and edit it togehter into something quick) 22:40
22:41 mithaldu_ left, mithaldu_ joined
codesections Hmm, I do like that idea, but my concern is that people might not volunteer to give a talk if they don't have time to write it up after (or just don't like writing). Even if it's technically optional, I'd worry that it could scare people off. 22:41
22:41 kawaii joined
codesections Here's a related idea I've been toying around with suggesting: what if we published a "best of Raku essays" out of lizmat's blog-post remastering project? Maybe with quick intros to each one providing context? 22:43
guifa2 ^^^I was literally just thinking another thing could be a "Best of Raku 2020", "Best of Raku 2021" and each year do that with some of the blogs, posts, presentations, etc 22:44
codesections (When I was imagining proposing it, I was thinking that I'd volunteer to be the editor and write the connective bits, but it could be any of us/multiple people)
lizmat codesections: those are definitely ideas that one could work with
22:44 wamba left
codesections Ok, well I think I'll write up a few thoughts slightly more formally and open an issue on the repo for the blog project 22:46
22:48 aluaces left
lizmat codesections++ 22:49
jdv79 is publicity a real issue? 23:20
i used raku for one project professionally and like mr lembark it eats mem. hard to advocate for a slowish lang that also eats mem:( 23:24
23:32 xelxebar left 23:33 xelxebar joined
MasterDuke jdv79: can you create an issue? real code linked in it would be great 23:44