🦋 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 Altai-man_ joined 00:05 sena_kun left 00:08 guifa2 left 00:10 rbt left 00:11 rbt joined 00:18 _jrjsmrtn joined 00:20 __jrjsmrtn__ left, aborazmeh left 00:22 guifa2 joined 00:26 nightfrog left 00:28 molaf joined, Sgeo left 00:30 Sgeo joined 00:31 markong left 00:36 hungrydonkey left 00:45 hungrydonkey joined 00:50 Tirifto left
guifa2 Well, it honestly sounds like we've got a few people that can work together to make stuff happen on the pod-front 01:02
guifa2 likes
01:19 molaf left 01:23 __jrjsmrtn__ joined 01:24 _jrjsmrtn left 01:30 zacts joined 01:31 molaf joined
raydiak Is it intentional that modules cannot be loaded from a directory containing a META6.json? Whether using "raku -I" or "use lib", trying to "use" or "require" a module by name fails. Passing the filename with extension to require at runtime works, though. Deleting META6.json also gets rid of the problem. 01:33
guifa2 raydiak: hrm, I haven't had that problem. Are you using 'raku -I lib' or just 'raku -I' ? 01:36
raydiak guifa2: I was doing some temporary things in the root of a module, so I copied something to the root of the module and tried to include it with "-I.". This fails if there is a META6.json in the same directory 01:39
guifa2: in an empty dir try this: echo "{}" > META6.json && echo > Foo.rakumod && raku -I. -e 'use Foo' 01:43
01:43 zacts left
raydiak You'll get a warning about no name being declared in META6.json, but it's irrelevant to the behavior. You can just as easily echo '{"name":""}' > META6.json to silence the warning, I just omitted it for berevity. Either way, "use Foo" fails. 01:48
01:48 zacts joined
guifa2 Hmm. That's probably a question for ugexe or someone who does more with the module integration. I'd just keep everything in a lib/ folder and -Ilib in the meantime — it's never failed me (fwiw) 02:00
02:03 sena_kun joined 02:05 Altai-man_ left
raydiak Thanks for trying anyway. That is how I typically structure them, just stumbled across this while doing temporary work on a copy of a file, trying to narrow down some bitrot in one of my modules. Just trying to decide if that's somehow intentional or if I should report it as a bug. 02:05
cpan-raku New module released to CPAN! Smack (0.5.2) by 03HANENKAMP 02:07
raydiak p6: class C { has $.sig = :(|); } 02:08
camelia ===SORRY!===
QAST::Block with cuid 1 has not appeared
raydiak Anyone have thoughts on that one? Has the syntax changed or something? This is code originally from half a decade ago, no idea when it broke. 02:09
ShimmerFairy Regardless of what should happen, NQP details shouldn't be leaking like that. 02:21
raydiak And we report bugs on github instead of RT these days, correct? 02:26
[Coke] yes. 02:46
raydiak Thanks 02:51
03:05 linkable6 left, evalable6 left 03:06 linkable6 joined, evalable6 joined 03:25 zacts_pi joined 03:28 zacts left 03:30 guifa2 left 03:39 zacts_pi left 03:41 vike left 03:48 zacts joined 04:03 Altai-man_ joined 04:05 sena_kun left 04:11 vike joined 04:17 rbt left 04:23 silug1 joined, silug left, silug1 is now known as silug 04:30 guifa2 joined 04:37 guifa2 left 04:44 lucasb left 05:00 zacts left 05:07 xinming left 05:09 xinming joined 05:45 holyghost joined 06:03 sena_kun joined 06:05 Altai-man_ left 06:06 wamba joined, zacts joined 06:12 hungrydonkey left 06:22 hungrydonkey joined 06:27 _jrjsmrtn joined 06:28 __jrjsmrtn__ left 06:55 xinming left, xinming joined 07:05 rindolf joined 07:07 holyghost left 07:14 xinming left, xinming joined 07:23 holyghost joined
Geth ¦ problem-solving: JJ assigned to jnthn Issue The raku-community-modules organization and its problems. github.com/Raku/problem-solving/issues/210 07:27
ecosystem: 2c37478af5 | (JJ Merelo)++ | META.list
Sort alphabetically
ecosystem: 65352ca214 | (JJ Merelo)++ | META.list
Move perl6-community-modules → raku-community-modules and sort
ecosystem: 4527026a6e | (JJ Merelo)++ | META.list
07:31 andrzejku joined 07:42 fling left 07:58 rindolf left 08:00 HarmtH left 08:02 holyghost left 08:03 Altai-man_ joined 08:05 sena_kun left 08:06 veesh left 08:08 vrurg left, pecastro joined 08:09 vrurg joined, softmoth_ joined 08:11 softmoth left 08:13 vrurg left 08:14 veesh joined 08:15 holyghost joined 08:17 oddp joined 08:19 HarmtH joined 08:23 andrzejku left 08:27 aborazmeh joined, aborazmeh left, aborazmeh joined 08:38 andrzejku joined 08:46 vrurg joined, vrurg left, vrurg joined 08:54 cpan-raku left 08:55 zacts left, cpan-raku joined, cpan-raku left, cpan-raku joined
cpan-raku New module released to CPAN! Text::ShellWords (0.1.1) by 03SOFTMOTH 08:55
09:06 Sgeo left 09:08 aborazmeh left 09:15 softmoth_ left
Geth ¦ problem-solving: lizmat unassigned from jnthn Issue The raku-community-modules organization and its problems. github.com/Raku/problem-solving/issues/210 09:15
09:16 elcaro_ left, elcaro joined
lizmat raydiak: yes, if a directory that is indicated with -I if "use lib" has a META6.json file in it, it *will* be taken as authoritative 09:17
so, if the file you'd want to use is not in it, it won't be found 09:18
this was done specifically so that files could benefit from things like $?RESOURCES and such
if I recall correctly 09:19
perhaps we should introduce an environment variable to override this behaviour
09:21 aborazmeh joined, aborazmeh left, aborazmeh joined 09:28 aborazmeh left 09:29 andrzejku left 09:45 rindolf joined 09:46 vrurg left 09:47 vrurg joined 09:52 vrurg left 09:53 Geth_ joined 09:54 Geth left 10:04 sena_kun joined 10:05 Altai-man_ left 10:07 _jrjsmrtn left 10:08 __jrjsmrtn__ joined 10:10 aborazmeh joined, aborazmeh left, aborazmeh joined 10:21 vrurg joined 10:22 vrurg left
cpan-raku New module released to CPAN! Game::Covid19 (0.0.5) by 03ELIZABETH 10:22
10:22 vrurg joined 10:23 HarmtH left 10:24 kensanata joined 10:40 HarmtH joined 10:41 rindolf left 10:42 JJMerelo joined
JJMerelo releasable6: status 10:42
releasable6 JJMerelo, Next release in ≈6 days and ≈8 hours. There are no known blockers. Changelog for this release was not started yet
JJMerelo, Details: gist.github.com/69c30c1e3a0a96356d...d02d33ecb1
10:52 holyghost left
cpan-raku New module released to CPAN! Config (3.0.0) by 03TYIL 11:03
New module released to CPAN! Config::Parser::toml (1.0.2) by 03TYIL
11:13 fling joined 11:15 schlaftier4 joined, schlaftier left, schlaftier4 is now known as schlaftier
yuplushi in the comma ide, is there a way to show documentation inline, like "string".trim() and give a summary of what trim does? 11:17
or even jump to the source definition inside the raku standard library 11:18
11:19 xinming left 11:20 xinming joined
sena_kun yuplushi, yes. You can hover the method name with a ctrl pressed to get short info or Ctrl+Q (in emacs layout, maybe it's different in default) to get full info. 11:21
yuplushi, just tested it works (at least in dev build :) ).
yuplushi, yup, just Ctrl+Q and it'll give you docs for what it can. `"foo".trim` case you mentioned works. 11:22
yuplushi lovely, thanks :) 11:25
11:25 aborazmeh left 11:27 vrurg left 11:28 vrurg joined 11:29 markong joined 11:30 andrzejku joined 11:33 vrurg left 11:38 rindolf joined 11:40 xinming left 11:41 xinming joined 11:49 markoong joined 11:50 markong left
raydiak lizmat thank you for acknowledging and looking into my issue, I appreciate your time 12:02
12:03 Altai-man_ joined 12:05 sena_kun left 12:07 lizmat_ joined 12:09 vrurg joined 12:10 lizmat left, vrurg left 12:11 vrurg joined 12:14 xinming left 12:15 xinming joined 12:16 lizmat_ is now known as lizmat 12:31 dolmen joined
El_Che it looks like activestate is also struggling with native deps for libs and thinking about how to fix that for Perl 7. I could be interesting: www.activestate.com/blog/the-futur...te-part-1/ 12:41
12:48 Tirifto joined 12:50 rbt joined 13:04 dolmen left 13:11 vrurg left 13:12 vrurg joined 13:17 vrurg left 13:40 dumarchie joined
dumarchie p6: (Any.new,Any.new).pick(2).map(*.WHICH) 13:41
camelia ( no output )
dumarchie p6: (Any.new,Any.new).pick(2).map(*.WHICH).raku
camelia ( no output )
dumarchie p6: Any.new 13:42
camelia ( no output )
dumarchie p6: 1
camelia WARNINGS for <tmp>:
Useless use of constant integer 1 in sink context (line 1)
SmokeMachine rypervenche: I hope you don't mind, I've used your example on the Red CookBook, ok? github.com/FCO/Red/blob/master/doc...lationship
dumarchie p6: (Any.new,Any.new).pick(2).map(*.WHICH).raku.say; 13:43
camelia (ObjAt.new("Any|71646528"), ObjAt.new("Any|71646592")).Seq
dumarchie p6: (Any.new,Any.new).pick(2).map(*.WHICH).raku.say;
camelia (ObjAt.new("Any|75657264"), ObjAt.new("Any|75657328")).Seq
rypervenche SmokeMachine: That's fine. If I'm able to give anything back to the Raku community, all the better :)
dumarchie p6: (Any.new,Any.new).pick(2).map(*.WHICH).raku.say;
camelia (ObjAt.new("Any|77984208"), ObjAt.new("Any|77984272")).Seq
dumarchie Shuffling a list of objects doesn't seem to work on a list that is not primed. 13:45
13:46 andrzejku left, vrurg joined
SmokeMachine rypervenche: and I've added an example of how to create new translations 13:47
13:49 vrurg left, vrurg joined
SmokeMachine and, if someone could take a look at it to help me, please. That would be a great help 13:53
github.com/FCO/Red/blob/master/doc...ookbook.md 13:54
rypervenche SmokeMachine: Should "$oi.links-from.create:" be "$oi.links-from.^create:"?
SmokeMachine no, ^create is needed on models. $oi.links-from is a ResultSeq, that has the create method 13:55
rypervenche Ahhh.
SmokeMachine make sense? 13:56
rypervenche Yep. 13:57
14:03 sena_kun joined 14:05 Altai-man_ left 14:17 dumarchie left
SmokeMachine rypervenche: and ResultSeq.create creates a obj of type ResultSeq.of and respecting that ResultSeq filter, that's why you can call .create on a relationship and it will create a row that is part of that relationship 14:35
14:36 dataangel left, dataangel joined
rypervenche Makes sense. :) 14:36
14:42 xinming left 14:44 xinming joined 15:14 kensanata left 15:19 m_athias left 15:37 hungrydonkey left, hungrydonkey joined 15:41 xinming left, Black_Ribbon joined 15:42 xinming joined 15:43 vrurg left 15:44 vrurg joined, gordonfish left 15:48 vrurg left 15:56 oneeggeach joined 15:58 Tirifto left, oneeggeach left 16:02 Altai-man_ joined 16:03 _jrjsmrtn joined, dracu joined
dracu p6: say 'hello'; 16:03
camelia hello
16:03 __jrjsmrtn__ left 16:04 rindolf left
Geth_ ecosystem: 2ea9dd045e | (Aleks-Daniel Jakimenko-Aleksejev)++ | META.list
Fix Whateverable and Blin repo links
ecosystem: 547928270a | (Aleks-Daniel Jakimenko-Aleksejev)++ | META.list
Put Blin next to Whateverable
16:06 sena_kun left 16:07 dracu left 16:10 m_athias joined 16:11 rindolf joined 16:21 vrurg joined 16:22 gordonfish joined 16:44 wamba left 16:51 wamba joined 17:02 JJMerelo left 17:14 xinming left 17:16 xinming joined
oddp Where's all the discussion around v6.e and .f happening? Which mailing lists, github repos, feeds, etc. should I follow to stay on top of language proposals? 17:18
timotimo are there any proposals for .f at all yet? 17:19
lizmat oddp: if anything happens in that respect, it would probably be in the #raku-dev channel 17:22
17:23 kensanata joined
oddp And for past stuff? Also the logs? 17:23
17:26 vrurg left
lizmat colabti.org/irclogger/irclogger_log/raku-dev for the recentish stuff 17:27
colabti.org/irclogger/irclogger_log/perl6-dev for stuff older than a year or so
17:27 vrurg joined, suman joined
oddp Alright, thanks. So, that means there's no RFC-like process where members of the community discuss and vote on certain proposals? 17:32
17:32 vrurg left
oddp Let's say I wake up one morning and decide to put forward an outrageously brilliant (highly unlikely) idea for the language. There gotta be more to it than just implementing a POC and then bothering/spamming people in the dev channel about it, right? Who would shoot it down further down the line? 17:38
lizmat ah, for that we have the problem-solving repo 17:39
github.com/raku/problem-solving/issues 17:40
but please read github.com/raku/problem-solving first :-)
oddp Thanks, liz. Don't worry, I'm not going to waste your time on there with my brain farts. Just want to observe the language evolution. :) 17:45
Just like I skim every new language proposal for each new c++ standard.
lizmat oddp: you could look through the current proposals... perhaps that gives some inspiration 17:46
oddp But say, how did zoffix in the past decide what makes it into previous iterations of the language? And is that now j0nathan's job entirely?
lizmat good questions... expect some answers soon 17:49
17:51 sena_kun joined 17:53 Altai-man_ left 18:02 vrurg joined 18:04 hungrydonkey left 18:21 vrurg_ joined 18:23 vrurg left 18:24 Sgeo joined 18:26 suman left 18:30 eery left 18:35 Xliff joined
codesections Here's a syntax question: If I have a data structure with the shape [ [Int, Str], [Int, Str], …], how do I write a signature constraint to require that the passed argument consists of an array of arrays of Strs and Ints ? 19:02
I tried `Array @variable-name (Array (Int, Str))` and many variations along those same lines, but haven't quite figured it out. I also tried `where` blocks and/or subsets, but haven't gotten that to work yet either 19:04
19:04 rindolf left
lizmat do you have a sub / method that ensures validty ? 19:05
alternately, why the [Int,Str] ? wouldn't it make sense to make that an object ?
codesections Oh, you mean write a separate sub that checks for the required shape and then call that from a `where` block? 19:06
lizmat that would be an idea, yeah ?
but more performant would probably be turning the [Int,Str] into an object 19:07
then you could check for an array with a constraint on that object
codesections I probably would make it an object (or at least a different data structure). But I'm working through an exercise and that's the shape my input data is in. But I mostly just wanted to make sure I understood how to use the type system/signature constraints
lizmat so you wouldn't have to traverse the whole array every time
codesections yeah
lizmat so instead of proving all elements are right, only check the type of the array and know it cannot have any different objects 19:08
19:12 vrurg_ left 19:13 vrurg joined 19:15 rindolf joined 19:20 xinming left, xinming joined 19:34 kiwi_26 joined
kiwi_26 tell lizmat The list of highest upvoted posts of all time in /r/programminglanguages (www.reddit.com/r/ProgrammingLangua...op/?t=all) shows "I'm impressed with Raku" currently at #25 with 107 points :) 19:43
19:50 molaf left 19:51 Altai-man_ joined 19:52 softmoth_ joined
lizmat kiwi_26++ thanks for the mention! 19:54
19:54 sena_kun left
Xliff kiwi_26: Now 112 points. :) 19:55
20:06 softmoth_ is now known as softmoth 20:07 Xliff left 20:10 rbt left 20:11 rbt joined 20:12 kiwi_26 left 20:39 kensanata left 20:55 pecastro left 20:57 pecastro joined
moritz now actually #21 :-) 20:58
timotimo i find it ever so slightly dishonest for people from outside a community to storm in and "spend" all their upvotes like that 20:59
lizmat weekly: www.reddit.com/r/ProgrammingLangua...with_raku/ 21:03
notable6 lizmat, Noted! (weekly)
21:04 vrurg_ joined 21:05 rindolf left
El_Che ooops, my finger slipped and I upvoted it as well 21:05
it got some downvotes in the meantime as well 21:07
lizmat yeah, some people will downvote anything related to former Perl 6
El_Che aren't those people very busy at the moment? 21:08
21:09 vrurg_ left
lizmat you only need a slipped finger 21:10
cpan-raku New module released to CPAN! Gnome::Gtk3 (0.29.0) by 03MARTIMM 21:12
21:16 aborazmeh joined, aborazmeh left, aborazmeh joined
cpan-raku New module released to CPAN! Bits (0.0.3) by 03ELIZABETH 21:18
21:22 dylanwh left 21:23 dylanwh joined 21:30 markoong left, markong joined 21:38 faiface joined
faiface Hey guys, kiwi_26 told me that he posted here about a Reddit post I wrote on r/ProgrammingLanguages that people liked, and urged me to drop here and say hi :D I wish you guys a good luck, Raku is a fantastic language and I hope it gets more traction over time. 21:40
timotimo cool 21:42
lizmat faiface++ # nice post
faiface thanks! tho there's really nothing special about it, I was just feeling enthusiastic and wanted to share, not sure why it gained such attention 21:43
21:44 wamba left
rypervenche Is there a reason why I would want to use {} around my entire test value? I see that it works without it, but I still never know when I should use {} and when I don't need it: dir(test => / { $*KERNEL.hostname.lc } / && { .IO.d }); 21:47
oddp "Raku is maximally homoiconic" -- what?
21:48 aborazmeh left
lizmat en.wikipedia.org/wiki/Homoiconicity 21:49
oddp Yeah, I have a CL background.
How is it "maximally" homoiconic?
lizmat faiface ^^ ? 21:50
faiface Me? I never wrote about Raku being homoiconic 21:51
lizmat ah, one of the comments I guess
oddp No, b2gills did, while answering some questions in that thread.
faiface oh, I see
timotimo is that a reference to RakuAST?
faiface not sure what he meant, from my understanding Raku isn't homoiconic
21:53 sena_kun joined
timotimo "Parrot was started as the VM for Perl 6, but it way longer to define" - lizmat, you missed a "took" there? 21:53
lizmat took indeed...
timotimo www.reddit.com/r/ProgrammingLangua...u/fxv53cp/ - this si the permalink to the "maximally homoiconic" comment 21:54
21:54 Altai-man_ left
lizmat timotimo++ # fixed 21:54
timotimo i'm not really an expert in homoiconicity, so maybe my understanding is wrong or too shallow, but i don't think that's the right word for this context? 21:55
or is that more like "lisp is homoiconic and its representation is extremely simple" vs "raku is homoiconic and its representation is very complex"?
tadzik 3> arguments to functions are immutable by default 21:56
that's a bit of a stretch, innit :)
timotimo true, there's no "deep immutability"
faiface yeah, learned about that later :D but at first I tried to pass an array to a function and mutate it and it didn't work, so I assumed as much 21:57
timotimo m: my @a = 1, 2; sub frob(@x) { @x = 9, 9, 9 }; frob(@a); say @a
camelia [9 9 9]
timotimo m: my @a = 1, 2; sub frob(@x is copy) { @x = 9, 9, 9 }; frob(@a); say @a
camelia [1 2]
timotimo you may have ended up with a List by way of not having assigned it to a @-sigiled var in the mean time
21:57 Kaiepi left
timotimo m: sub frob(@x) { @x[1] = 5 }; say frob((1, 2, 3, 4)); 21:58
camelia Cannot modify an immutable List ((1 2 3 4))
in sub frob at <tmp> line 1
in block <unit> at <tmp> line 1
21:58 Kaiepi joined
faiface oh, yeah, probably that 21:58
sorry, I'm a newbie 21:59
regarding that homoiconicy tho, I think the guy made up the terms "maximally homoiconic", etc. I don't think those are real terms 22:01
rypervenche It's definitely a word :) en.wiktionary.org/wiki/homoiconic
faiface homoiconic yes 22:02
I meant his addition of "maximally" and "minimally"
timotimo the wiktionary page of homoiconicity says the program is supposed to be in a "primitive type" of the language itself
rypervenche I'd say that the community here is maximally awesome.
timotimo if it didn't say "the primary representation of programs" i would say "you can load a moarvm bytecode file into an Int" 22:03
cpan-raku New module released to CPAN! AccountableBagHash (0.0.3) by 03ELIZABETH 22:13
Geth_ ecosystem/finanalyst-patch-3: 1a2182c735 | (Richard Hainsworth)++ (committed using GitHub Web editor) | META.list
Add Generic Pod Renderer to ecosystem

Distribution contains Pod::To::HTML, Pod::To::MarkDown, and a Graphical README.md generator from Pod in Module file. Generates TOC and Glossary and puts them in HTML. Customisable CSS and favicon. Implements P<> format code (old Pod::To::HTML does not do this). Pod::To::HTML in this distribution passes all old Pod::To::HTML tests All output determined by customisable Templates (Mustache engine but this can be changed by subclassing) Lots of Documentation on usage and subclassing.
ecosystem: finanalyst++ created pull request #516:
Add Generic Pod Renderer to ecosystem
22:31 sftp left
b2gills faiface: I was making the point that language mutability goes deeper, and to a greater extent than those other languages. 22:34
22:38 holyghost joined 22:41 markoong joined 22:42 markong left
oddp Still not quite sure how that's "more" homoiconic, but CL also has readtable patching via reader macros, allowing for funky language shenanigans. 22:46
But let's not drift off, I see where you are coming from.
faiface b2gills: does it really go deeper, tho? I mean, in LISP you can literally programmatically produce code and manipulate/execute it, not sure you can go much deeper than that 22:55
but feel free to correct me 22:56
23:17 hungrydonkey joined 23:18 pecastro left
rypervenche m: say dir(test => / <{ $*KERNEL.hostname.lc }> / && { "$_".IO.d }); 23:45
camelia ()
rypervenche m: say dir(test => { / <{ $*KERNEL.hostname.lc }> / && { "$_".IO.d } });
camelia ()
rypervenche Is there a reason why I might use one over the other ^
I.e., the {} around the whole test.
23:47 faiface left 23:48 oddp left 23:49 markoong left 23:52 Altai-man_ joined
vrurg rypervenche: in the second case you have a code block -> extra cycles on invoking it. 23:52
23:54 sena_kun left
vrurg rypervenche: but in the first case it wouldn't work as you expect it: 23:55
m: say $(test => / <{ $*KERNEL.hostname.lc }> / && { "$_".IO.d }) 23:56
camelia test => / <{ $*KERNEL.hostname.lc }> /
vrurg rypervenche: ^^^