🦋 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:22 notable6 left, releasable6 left, quotable6 left, linkable6 left, evalable6 left, sourceable6 left, greppable6 left, statisfiable6 left, squashable6 left, committable6 left, bloatable6 left, shareable6 left, bisectable6 left, tellable6 left, benchable6 left, nativecallable6 left, unicodable6 left, coverable6 left 00:23 bloatable6 joined, greppable6 joined, releasable6 joined, sourceable6 joined, tellable6 joined, benchable6 joined 00:24 bisectable6 joined, nativecallable6 joined, statisfiable6 joined, linkable6 joined, notable6 joined, squashable6 joined, coverable6 joined, evalable6 joined 00:25 committable6 joined, shareable6 joined, quotable6 joined, unicodable6 joined 01:02 parv left 01:12 kvw_5 left 01:14 kvw_5 joined
tonyo raydiak: got what you were after? 01:23
02:07 Sgeo left 02:14 gabiruh joined 02:20 neshpion joined 02:26 Sgeo joined 02:38 lucasb left 02:52 monkey__ joined 02:54 trexx joined 02:58 trexx left 03:05 epony joined 03:42 frost-lab joined
raydiak tonyo: not really, but it wasn't for me anyway. demostanis[m] was asking about documentation on authoring zef modules, among other things. I had a tab about fez open too, and got them mixed in my head for a minute (I don't multitask well). thanks for checking though, I appreciate it! 03:45
zef plugins, that is 03:51
04:04 mahafyi joined 04:05 ambidextrose joined 04:12 monkey__ left 04:13 neshpion left 04:59 simcop2387 left
ambidextrose can someone link me to some good stuff if i'm catching up from 7 years ago? 05:01
or just good perl6/raku pages in general?
i still miss seeing the eject symbol on debug messages from the interpreter 05:02
ambidextrose hears a mysterious wind blow
05:05 softmoth_ joined
frost-lab You can get rakudo (the compiler) from rakudo.org, and you can get the latest news from the weekly news( rakudoweekly.blog/blog-feed/ ). 05:08
05:08 softmoth left
frost-lab At this time, most people are sleeping, I guess :) 05:09
05:17 simcop2387 joined, simcop2387 left, simcop2387 joined 05:21 ambidextrose left 05:41 parv joined 05:42 parv left 05:47 ufobat__ joined 05:49 jmerelo joined 05:55 rindolf joined 06:01 softmoth_ left 06:11 simcop2387 left 06:13 simcop2387 joined 06:19 parabolize left 06:22 Geth joined 06:48 simcop2387 left 06:49 simcop2387 joined 06:51 abraxxa joined 07:02 pecastro joined 07:03 abraxxa left 07:05 abraxxa joined 07:10 brtastic joined 07:11 abraxxa left 07:12 abraxxa joined 07:28 brtastic1 joined 07:29 brtastic left, brtastic1 is now known as brtastic 07:49 dakkar joined 07:52 wamba joined, mahafyi left 07:53 sno left 08:00 Sgeo left 08:23 aborazmeh joined 08:57 xarvos joined 08:58 xarvos left 09:09 aik|onl is now known as solitario 09:14 sno joined 09:16 kurahaupo left 09:23 aborazmeh left 09:24 kurahaupo joined 09:26 Geth left, Geth joined, aborazmeh joined 09:35 wamba left, aborazmeh left 09:55 asymptotically joined, aborazmeh joined 09:57 wamba joined 10:14 patrickb joined 10:28 dakkar left 10:29 dakkar joined 10:31 aborazmeh left 11:06 aindilis` joined, aindilis left 11:25 mahafyi joined
tonyo raydiak: demostanis[m]: deathbyperl6.com/zef-plugins-a-ver...a-glimpse/ <- this is the most recent i've written about it for zef 12:01
it being `plugins`
12:17 sno left 12:18 sno joined 12:19 sno left
demostanis[m] <tonyo "raydiak: demostanis: dea"> Do plugins still work the same way as described in this article? Was that WIP branch to bring plugins support merged into master? 12:24
12:31 frost-lab left 12:32 dakkar left, dakkar joined, jmerelo left
tonyo the structure was changed a bit in zef before being merged. it was waiting on a commit i made to core at that time which has merged since 12:59
i doubt the plugin stuff made the merge, let me check 13:00
it didn't 13:02
what're you trying to write demostanis[m] ?
13:15 natrys joined 13:22 abraxxa left 13:24 abraxxa joined 13:32 HarmtH joined
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2021/04/19/2021-...atch-anew/ 13:38
13:47 wamba left
demostanis[m] <tonyo "what're you trying to write demo"> A META6 generator, with features like updating META6.json on `zef install` 13:52
<lizmat "and yet another Rakudo Weekly Ne"> I'm in the Rakudo Weekly 🎉 13:54
🥳 13:55
14:05 b2gills left 14:10 mowcat joined 14:19 Sgeo joined 14:21 mowcat left 14:26 mowcat joined, MasterDuke left 14:28 MasterDuke joined 14:31 tejr left 14:32 tejr joined 14:33 ufobat_ joined, b2gills joined
tonyo demostanis[m]: messing with zef install might come with some weirdness. if it's for module authoring you might look at plugins for fez 14:36
14:37 ufobat__ left 14:41 parabolize joined
ugexe updating meta6.json on `zef install` would be essentially roll out the red carpet for setting up inconsistent environments. consumers of modules don't care about something that e.g. makes it easier for the author to publish; ease of publishing features shouldnt impact module users. someone modifying a local copy of some module shouldnt end up with crazy version conflicts because `zef install .` 15:21
wanted to not only change things, but to also assume the changes its making are what you would have even wanted.
as for meta6.json generation whats the difference between a theoretical `zef skeleton` and a theoretical `mi6 skeleton` (im sure it has an actual command for this) or `fez skeleton`? since zef installs modules its trivial to install any tool you want that can do these things 15:23
with the bonus that things that are not included with zef can use external modules / dependencies 15:24
15:25 jmerelo joined
[Coke] m: $*ERR.out-buffer: False; 15:33
camelia Too many positionals passed; expected 1 argument but got 2
in block <unit> at <tmp> line 1
[Coke] m: $*ERR.out-buffer = False; 15:35
camelia ( no output )
[Coke] ah.
demostanis[m] <ugexe "updating meta6.json on `zef inst"> I don't see how updating META6.json on `zef install` would create version conflicts. It would simply make our lives easier, as we wouldn't have to write JSON. Much like what NPM does by creating a package.json when we run `npm install <package>`
[Coke] out-buffer is listed as a method on docs site.
ugexe and rakudo could just do that as well 15:36
but its not a good idea
and creating lock-files isn't the same as changing meta6.json
but again, making module authors lives easier at the peril of the systems the modules will run on is not a goal of mine 15:37
and yes it would create version fonclits 15:39
npm for instance doesnt manage a global module repository along with local repositories with the ability to have multiple versions in every one 15:40
codesections I don't have an opinion on how zef should handle it (and what you're saying makes sense, ugexe) but npm et al. don't _just_ edit lock files -- they change package.json, not just package.lock. But I'm also fine with *not* following that model; it obviously has flaws
ugexe right, im saying updating a package.lock would be acceptable but not the meta6.json 15:42
tonyo your average user doesn't have to write json to use zef, just the module author. if you want to automate that then create a bundler plugin for fez 15:45
16:10 brtastic left 16:17 patrickb left 16:23 |oLa|1 left 16:31 kurahaupo_ joined, kurahaupo_ left 16:32 Kaeipi joined, kurahaupo left, Kaeipi is now known as Kaiepi, kurahaupo joined 16:36 dakkar left 16:55 aindilis` left 16:57 movl joined
[Coke] . 17:12
17:33 brtastic joined
demostanis[m] Can't two different versions of the same module coexist using zef? 17:35
17:37 wamba joined
jmerelo demostanis[m]: yes, if they have a different auth field, or even an API field. 17:39
demostanis[m]:the :api adverb has been designed with that objective in mind
demostanis[m] Then how would that create version conflicts? I don't really understand.. 17:40
17:41 aborazmeh joined 17:54 jmerelo left
ugexe you are assuming that whever you run this on is absolutely the latest version 17:55
what if you work on an older verison? `zef install` would then bump the version to a version that already exists 17:56
17:57 ufobat_ left
demostanis[m] What do you mean? One would install a specific version of a module and this version would be the one written to the META6.json. What problem arises there? I'm having trouble understanding what you're saying. 18:07
18:07 rindolf left 18:09 abraxxa1 joined
ugexe you were suggesting `zef install .` updates stuff in a meta6.json 18:12
demostanis[m] No, I never mentionned `zef install .`. I was talking about updating META6.json when a new/newer version of a module is installed 18:13
ugexe <demostanis[m]><tonyo "what're you trying to write demo"> A META6 generator, with features like updating META6.json on `zef install
demostanis[m] Not `zef install .`. Sorry for the confusion. 18:14
18:15 aindilis joined
demostanis[m] < matrix.org/_matrix/media/r0/downlo...essage.txt > 18:15
ugexe if you are talking about updating dependencies i refer back to my stance of generating a package.lock being ok (and doesnt yet exist in raku) but not the data inside a meta6.json
because installing some module does not imply to add it to some meta6.json 18:16
which again goes back to the issue of having a global repo of modules that other projects also use 18:17
El_Che (nothing much to add but changing upstream meta6.json seems like a terrible idea. It kind of breaks the no surprise principle)
demostanis[m] < matrix.org/_matrix/media/r0/downlo...essage.txt > 18:18
demostanis[m] < matrix.org/_matrix/media/r0/downlo...essage.txt > 18:19
demostanis[m] < matrix.org/_matrix/media/r0/downlo...essage.txt >
demostanis[m] < matrix.org/_matrix/media/r0/downlo...essage.txt >
Oops sorry for the edit spam
ugexe i do like 80% of my raku development inside ~/repos/zef... 100% of what i `zef install` inside that directory is not intended to be a zef dependency
demostanis[m] Then having a command line flag which tells zef to update META6.json 18:20
`zef install --add-to-meta6-json-please MODULE`
ugexe just run a separate command
there is no reason an authoring tool cant do this and run the zef install
and then there is no confusion because its explicitly an authoring action 18:21
demostanis[m] Does such a command exist yet? Should it be implemented in zef, or as an external program? 18:26
demostanis[m] < matrix.org/_matrix/media/r0/downlo...essage.txt > 18:30
ugexe depending on a specific version doesn't even solve the problem 18:32
you still have to depend on that specific version in your code
putting Foo:ver<1> in your meta6.json doesnt mean `use Foo` is going to load :ver<1>
if things were simple it be very easy to implement things the way e.g. Golang did 18:33
18:47 rouking left 18:54 ChanServ sets mode: +o tyil 18:55 tyil sets mode: +b mst!*@*, mst was kicked by tyil (mst)), tyil sets mode: -o tyil
demostanis[m] Which version is loaded when I do `use Foo` then? 18:59
lizmat if there is only one version installed, that one 19:01
demostanis[m] If there's 2?
lizmat otherwise the highest API, then version
it's still a bit of a grey arear
demostanis[m] Why not changing Rakudo's code so that it can load the version specified in the META6.json? 19:02
lizmat *area
you *can* say "use Foo:ver<0.0.3>"
and that will make sure you get *that* version
demostanis[m] Yes, but isn't it easier for Rakudo to load the version specified in the META6.json, if there's one?
and fallback to the highest API, then version if not? 19:03
lizmat that may happen in the future...
meanwhile, being *specific* in what you want to use, is the best way of ensuring stability 19:04
demostanis[m] Until then, what can I do for zef to write on my META6.json for me when I run `zef install MODULE` without having to do it manually? 19:05
El_Che it sounds you have a fix for an undefined problem
demostanis[m] <El_Che "it sounds you have a fix for an "> What is it? 19:06
El_Che that you want to write the Meta file with a module installer instead with an authoring tool 19:07
separation of concern, I would say 19:08
but ugexe knows a lot more about that than I do, just 2c
demostanis[m] So... with fez? 19:10
or creating my own authoring tool?
for such a simple task?
tonyo tbh i would just check out mi6 demostanis[m] 19:16
19:16 dataange` left, dataangel joined
tonyo if you're coming from haskell or something with pinned requirements and you just want, in your meta, to pin a `depends` then put it as ugexe and lizmat said `{ ..., "depends": ["Test:ver<1>:auth<some1>", ...]}` 19:17
19:17 simcop2387 left
lizmat FYI: news.perlfoundation.org/post/cat-t...april-2021 19:26
El_Che is there a list of the CAT members? 19:32
samcv El_Che, it is in the previous post news.perlfoundation.org/post/cat-u...april-2021 19:36
El_Che thx, samcv 19:37
19:38 simcop2387 joined 19:39 Kaiepi left, Kaiepi joined
japhb Thank you to everyone working on that team, and to samcv++ for (IIUC) leading it currently. It can be a hard and stressful job, but it is a very important one; I very much appreciate the work that goes into this. 19:41
19:42 aborazmeh left
samcv japhb, thanks for the appreciation. I concur with everything you said. 19:43
demostanis[m] tonyo: "How can I manage depends, build-depends, test-depends? 19:45
Write them to META6.json directly :)."
El_Che The vagueness (in order to repect the privacy of those involved) makes me a little uneasy, certainly if the result is a perpetual ban. 19:46
19:46 simcop2387 left
jdv79 if that's what passes for "transparency" ok then. seems opaque to me. 19:46
19:49 simcop2387 joined, neshpion joined 19:50 neshpion left 19:51 neshpion joined
japhb jdv79: From experience in other communities (and as a team manager), that's pretty transparent. Unfortunately, there's just about no level of transparency that won't invite further curiosity (or in worse cases, attempts to reopen the case). People are naturally curious, and often find it difficult to not know all the details. 19:52
El_Che it's not curiosity only. I suspect people feel the need to know details in order to make their own judgement. 19:53
japhb (And as a side note, certain bits of privacy don't just have an ethical imperative but a legal one as well. I am unfamiliar with all the relevant laws, besides knowing they exist.)
El_Che this is no critique of samcv's works (or others), but I think that's how people tick 19:54
it's a hard spot to be in for the people making decisions, certainly 19:55
japhb El_Che: One of the things that makes the CAT job so difficult is that it is a position of trust; the community puts their trust in your ability to be fair, even when you can't explain the details as much as they would like.
Yeah, exactly.
samcv jdv79, El_Che if you have comments please reply to the email address at the end of the document. We will be looking at them. That is the proper place to ensure the CAT gets them. 19:56
Of course you are free to discuss it here if you wish, just letting you know
neshpion what is CAT
El_Che samcv: that's kind of the paradox, we don't know what we don't know
samcv El_Che, if you wish there was more detail in the report then please send an email saying so. 19:57
El_Che samcv: thank you, I'll think about it.
japhb neshpion: news.perlfoundation.org/post/cat-u...april-2021 19:58
El_Che I suspect the banned person did get all the details?
lucs neshpion: Community Affairs Team 20:00
tonyo i'd suspect they have half 20:01
codesections just as a note, this level of detail is similar to the level called for in the Raku CoC incident response guide 20:02
("When summarizing an incident, the CAT should avoid going into more detail than necessary to fairly inform the community of the incident. Additionally, the CAT should recall that the identity of any party may become known even if that party isn't named in the summary, and the CAT should be especially careful to avoid descriptions of the event that risk creating misleading impressions of the violation's severity. If factual dispute
about the incident exist, the CAT should avoid creating the impression of greater certainty about the facts than exists.")
japhb codesections: I would bet that's 100% intentional.
guifa Given my work on similiar-ish committees at the university I work at, the report seems about what I’d expect. Obviously, some people might want more, and others (those involved) might want less. But as japhb mentions, there’s trust that the folks working on the team (who is known) does have greater details, and is acting fairly.
El_Che samcv: again, don't feel attacked by my musings. I think I have a good relationship with several people in this issue, and I was a little surprised about the connection of investigation 1 and 2 (I saw them as separate issues) 20:03
20:19 neshpion left 20:21 neshpion joined 20:26 lucasb joined 20:29 aborazmeh joined 20:33 asymptotically left 20:38 caasih left 20:39 mithaldu_ left 20:40 caasih joined, mithaldu_ joined 20:48 kst left 20:53 natrys left 20:55 kst joined 20:58 dogbert11 joined 20:59 softmoth_ joined 21:00 dogbert17 left
mithaldu_ El_Che: as of this point it appears that person 1 may not even have seen the message or be aware of any of this happening, and person 2 was threatened with receiving a warning in the future, but it is unclear who they are and several candidates have not received any notice yet 21:01
[Coke] .seen pmichaud 21:04
tellable6 [Coke], I saw pmichaud 2018-10-02T15:45:44Z in #perl6: <pmichaud> BTW, the docs page on ""is required"" only mentions scalar variables, a hash or array example might be useful there.
21:04 mithaldu_ left
El_Che mithaldu_: I am under the assumption all parties were heard. Or they should be, imho, certainly because of the perpetual character of the ban 21:04
tellable6 El_Che, I'll pass your message to mithaldu_
lizmat "several candidates" ?? 21:05
21:24 wamba left, Sgeo_ joined 21:25 lizmat_ joined 21:26 webstrand left 21:27 brtastic left 21:28 sena_kun left, Sgeo left, lizmat_ is now known as lizmat 21:31 webstrand joined 21:32 sena_kun joined 21:34 __jrjsmrtn__ joined, _jrjsmrtn left 21:38 dogbert17 joined 21:42 dogbert11 left, sena_kun left, defaultxr left 21:43 sena_kun joined 21:46 abraxxa1 is now known as abraxxa-home 22:00 webstrand left 22:02 webstrand joined 22:04 abraxxa-home left 22:11 sena_kun left 22:22 Gus26 joined
Gus26 Hi I was wondering, what is the easiest way to play with RakuAST? Is it necessary to build from source at this point? 22:23
22:25 ComputerTech joined
[Coke] I believe so, yes. 22:26
codesections Gus26: last time I checked, you needed to clone the repo, check out the RakuAST branch, and build with the RAKUDO_RAKUAST=1 env var. See www.reddit.com/r/rakulang/comments...n/gpivwha/ 22:27
[Coke] I believe you need a very recent version and have to a) set env vars and b) update your code.
Gus26 Ok thanks. I've read the blog posts about the work but somehow missed the comment you linked explaining how to set it up. 22:28
22:30 aborazmeh left
guifa really needs to do that at some point 22:31
Gus26 Do you know what branch the new dispatcher work is on?
lizmat building with RAKUDO_RAKUAST=1 won't work
much anyway
you need to *run* with RAKUDO_RAKUAST=1
the new grammar is not capable of building Rakudo completely yet
ComputerTech wut
MasterDuke Gus26: new-disp
lizmat running with RAKUDO_RAKUAST=1 forces the new grammar to be used for any code compiled with it *then* 22:32
bootstrapping is hard
Gus26 lizmat Do I need to build from source (without RAKUDO_RAKUAST) in order for that ENV variable to do anything?
lizmat yes, in the "rakuast" branch
Gus26 Ok, so first build from source from that branch, then turn on the ENV variable to enable the feature when running a script 22:33
MasterDuke thanks!
lizmat Gus26: yup 22:34
calling it a nigh&
guifa lizmat++ I might even just make a post on reddit for others who are interested
lizmat ++guifa 22:35
guifa will need to check that he can successfully build it first, probably later tonight
Gus26 Is there something sort of like godbolt for rakulang?
An online playpen where people can try out different versions? 22:36
MasterDuke the committable6 bot has pre-built rakudo at every commit from ~end of 2014. it didn't used to also do branches, but i think it might as of recently 22:39
committable6: 2014.12,2021.03 say "hi"
committable6 MasterDuke, ¦2014.12,2021.03: «hi␤» 22:40
MasterDuke committable6: 2014.12,2021.03 say $*PERL.compiler.version 22:41
committable6 MasterDuke, ¦2014.12: «v2014.12␤» ¦2021.03: «v2021.03␤»
Gus26 MasterDuke is there a guide anywhere?
MasterDuke committable6: help
committable6 MasterDuke, Like this: committable6: f583f22,HEAD say ‘hello’; say ‘world’ # See wiki for more examples: github.com/Raku/whateverable/wiki/Committable
codesections Gus26: there's also this list of online evaluators that support Raku, though I'm not sure which/if any let you select a version www.reddit.com/r/rakulang/comments...orts_raku/ 22:43
Gus26 I apologize if this isn't a raku question but an IRC question, but can I interact with committable6 without it spamming responses back to this channel?
ugexe you can private message code with `camelia` 22:45
but i think thats the only one
Gus26 codesections hey that's really helpful for playing with a normal/mainline version, thanks!
MasterDuke Gus26: the *able bots don't respond to private messages, but they are all in #whateverable, which anyone is free to use 22:46
22:46 abraxxa left
Gus26 MasterDuke great, thanks! 22:47
MasterDuke welcome
22:49 berber44 joined, abraxxa joined 22:58 pecastro left
Gus26 I just realized that while committable6 recognizes the commits from the rakuAST branch, it doesn't have the ENV variable set; none of the online playpens would either. Will just have to build from source. 23:03
23:03 softmoth_ left
ugexe if `shell` works... 23:05
MasterDuke you could use `run` command probably. e.g., something like committable6: rakuast %*ENV<RAKUDO_RAKUAST> = 1; say run <raku -e "say 'hi'">
23:29 aborazmeh joined 23:44 aborazmeh left
Gus26 MasterDuke So the example you gave didn't quite work, but this seemed to: committable6: rakuast %*ENV<RAKUDO_RAKUAST> = 1; my $p = run 'raku', '-e', "say 'hi'", :out; my $o = $p.out.slurp: :close; say $o; 23:47
Now I just need to figure out a simple AST example to see if it actually works! 23:48
ugexe also needs to fit in a single line of irc text 23:50