🦋 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:07 hungrydonkey joined, Kaiepi left, Kaiepi joined 00:15 aborazmeh joined, aborazmeh left, aborazmeh joined 00:18 skyl4rk left 00:19 skyl4rk joined 00:24 moysL joined 00:25 devmikey left 00:28 p6steve joined 00:31 ola joined 00:32 ola left 00:33 p6steve left 00:39 moysL left 00:44 skyl4rk left, skyl4rk_ joined, skyl4rk_ is now known as skyl4rk 00:51 perryprog_ left 00:52 perryprog joined 01:15 dotdotdot left 01:17 molaf left 01:21 dotdotdot joined 01:29 molaf joined 01:35 vike left 01:44 vike joined 01:55 skyl4rk left 02:05 phogg joined, phogg left, phogg joined 02:09 skyl4rk joined 02:14 pilne left 02:15 aborazmeh left 02:29 p6steve joined 02:34 p6steve left 03:03 maggotbrain joined 03:22 _jrjsmrtn joined 03:24 __jrjsmrtn__ left 03:46 hungrydonkey left, hungrydonkey joined 03:56 brtastic joined 04:30 p6steve joined 04:35 p6steve left 05:01 holli__ joined 05:16 rindolf joined 05:38 a3r0 joined 06:02 p6steve joined 06:07 p6steve left 06:27 sjm_uk joined 06:32 p6steve joined 06:39 hungrydonkey left, hungryd99 joined 06:43 CourtneyTai joined 06:45 RagazzaMia26 joined 06:46 CourtneyTai left, hungryd99 left 06:48 RagazzaMia26 left 06:54 hungrydonkey joined 06:59 rindolf left 07:01 hungrydonkey left 07:02 hungrydonkey joined 07:04 rindolf joined 07:21 a3r0 left, a3r0 joined 07:30 hungrydonkey left 07:43 hungrydonkey joined 07:50 KindOne left 07:52 KindOne joined, p6steve left 07:55 pecastro joined 08:00 Altai-man_ joined 08:19 stu002 joined 08:21 stu002 left 08:24 p6steve joined 08:29 p6steve left 08:39 epony left 08:44 epony joined 08:45 epony left 08:46 epony joined 08:55 p6steve joined 08:57 sena_kun joined, AlexDaniel left 08:58 AlexDaniel joined, AlexDaniel left, AlexDaniel joined, Altai-man_ left 09:04 hungrydonkey left 09:06 ensamvarg_g6 joined 09:12 p6steve left 09:42 Kaiepi left 09:43 Kaiepi joined 09:59 hungrydonkey joined 10:20 MasterDuke left, hungrydonkey left 10:28 holli__ left 10:36 farcas1982regreg left 10:40 p6steve joined 10:44 p6steve left 10:46 Ven`` joined 10:56 Altai-man_ joined 10:57 Ven`` left 10:58 sena_kun left 11:27 oneeggeach joined, oneeggeach left 11:38 Ven`` joined 11:49 farcas1982regreg joined
Kaiepi releasable6, status 11:51
releasable6 Kaiepi, Next release will happen when it's ready. 3 blockers. 166 out of 370 commits logged (⚠ 3 warnings)
Kaiepi, Details: gist.github.com/9be1dd84bde47d62ab...848b2646c8
11:55 MasterDuke joined 12:10 mowcat joined 12:15 farcas1982regreg left
Altai-man_ Kaiepi, maybe github.com/rakudo/rakudo/issues/3569 wants youe attention? 12:15
tellable6 2020-05-01T02:18:20Z #raku-dev <vrurg> Altai-man I think we could try unrolling the next-dispatcher stuff to unblock releases.
Altai-man_ ayaya 12:16
12:17 farcas1982regreg joined 12:27 hungrydonkey joined
Kaiepi Altai-man_, mb, missed the email for that. i'll take a look 12:27
12:29 mowcat left 12:30 caterfxo left 12:32 hungryd47 joined, hungrydonkey left 12:41 p6steve joined 12:46 p6steve left 12:51 caterfxo joined 12:57 sena_kun joined 12:58 Altai-man_ left 13:01 gabiruh joined 13:07 hungryd47 left 13:10 Black_Ribbon left 13:19 farcas1982regreg left 13:22 xinming left 13:28 hungrydonkey joined 13:57 aeruder joined 14:04 aborazmeh joined, aborazmeh left, aborazmeh joined 14:05 hungrydonkey left 14:07 hungrydonkey joined 14:08 farcas1982regreg joined 14:18 holli__ joined
samebchase- Hi, What is the easiest way I can "load" one file/module if they are in the same directory. Do I need to follow some specified directory structure. Was messing around with "use" and "is export", but not been able to get it right so far. 14:23
I have some common code i.e. a module which I want to use from three smaller scripts
say I have A.rakumod and B.raku in the same directory. How do I import module A from B.raku? 14:24
sena_kun samebchase-, you can `use A` in B, but on invocation you should add current directory to paths where to search modules, e.g. `raku -I. B.raku`. Please remember that modules are searched and cached recursively on the whole directory tree, so better not to set e.g. you home directory as path. 14:26
where `-I` is argument to add another path and `.` means the current directory. You can e.g. put A.rakumod to `lib` directory and call it as `raku -Ilib B.raku`, so `lib` directory will be added to paths. 14:27
samebchase- sena_kun: I am running these scripts with the `env raku` shebang at the top-level, so is there any way I can do this from within the file itself, without having to add specific flags in the shell? 14:29
sena_kun samebchase-, you can add something like `use lib 'my-path/to-modules'` on the top of your script. 14:30
samebchase- sena_kun: awesome! that was what I was looking for.
sena_kun samebchase-, but this will be rather fragile, so please do consider making a "proper" module out of your files so it would be install-able with package manager. Unless you're just playing and exploring, of course. :) 14:31
14:34 brtastic left
samebchase- sena_kun: there are parts which I could potentially package properly for wider consumption once I get it stable :-) 14:34
This is what the documentation calls the `use lib` pragma? 14:35
sena_kun samebchase-, docs.raku.org/language/pragmas#lib <- see this 14:36
samebchase-, you can also set RAKULIB env variable which is like PATH, but for modules. One more friendly remainder not to set it to something like /home. 14:37
samebchase- woah it worked!!! Thanks so much. This will help me clean up the code a lot.
14:42 p6steve joined 14:46 p6steve left
El_Che use lib 'lib'; 14:49
(ok, my irssi windows was on a previous page and I didn't see the rest of the conversation :) ) 14:52
14:56 Altai-man_ joined 14:58 sena_kun left
tbrowder hi 14:59
is there a docker image available for latest raku release on debian or ubuntu? 15:00
moritz I'm not sure about latest raku, but the rakudo-star:2020.01 image is based on Debian
tbrowder publicly available that is? 15:01
moritz: hi, thnx 15:02
15:07 aborazmeh left 15:19 chloekek joined 15:22 Summertime joined
samebchase- Been programming since 2009, and have explored Python, C/C++, Common Lisp, Shen, OCaml, Rust, Clojure (professionally for the last 5 years), but the last four days where I have been writing some Raku, is the most fun I have ever had with any language. The docs are excellent. I ❤️ docs.raku.org. From the colour scheme to the layout, to the syntax hi 15:29
ghlighting. It is such a good resource, that I can spend hours reading. The error messages are helpful. The community IRC channel is nice. Picking an existing Perl library from the large selection avaiable from CPAN is easy (and I have never written a line of Perl before). The feeling of sheer power I get from using Grammars, and fixing bugs quickl
y with Grammar::Tracer makes me feel like a wizard🕴️. Programming has always been a frustrating, anti-climactic activity, but I am able to think freely and just churn out code in Raku. It does not get in your way at all, and doesn't act like it knows better (even though it actually does haha). I want to write a long-form article about Raku in the
coming days, but for now will write more code, and try to use it more often whenever I get the opportunity. I am filled with gratitude to the entire community for building such a unique and enjoyable language. You should all be proud of yourselves.
15:29 mayuresh joined
mayuresh hello. :) 15:30
is anyone active?
tadzik sure
mayuresh i am confused about the roles played by rakudo, nqp, moarvm in the raku system. 15:31
if moarvm along with the raku libraries is the execution environment.
and rakudo is the compiler which produces the intermediate code for that environment.
then what role does 'nqp' play? 15:32
tadzik it's a simplified subset raku from which the compiler is bootstrapped
mayuresh is it only to provide a sub-intermediatary execution engine so that the output of rakudo can target moarvm, jvm and javascript engines?
15:32 p6steve joined
tadzik pretty much, yeah 15:32
15:32 mowcat joined
tadzik rakudo itself mostly targets nqp, afaik 15:33
mayuresh is there really any benefit it targetting the jvm and js engines?
isn't that kind of out of scope from a glue language perspective?
can't rakudo be made to directly target the moarvm? 15:34
tadzik it's much simplier to write a backend for nqp than it is to write one for rakudo
mayuresh i can't understand that statement.
or rather i fail to understand the importance of it.
MasterDuke samebchase: glad to hear. but also jealous you've been able to use Clojure professionally, it's another language i quite enjoy (did a lot of for-fun programming in it and Racket a while ago)
mayuresh from a pure project management point of view, wouldn't diverting resources put into 'nqp' toward "rakudo" deliver a full compiler? 15:36
tadzik I can give you a bit of a historical context until someone who actually knows this stuff shows up... ;) 15:37
mayuresh or is it so that the rakudo team has yet to figure out a way to generate output which is fully compliant with "moarvm"?
tadzik actually, rakudo itself is mostly written in nqp, not raku 15:38
the standard library is self-hosted, but the compiler itself is not
I remember the idea of raku written in raku (back then: perl6 written in perl6) to be perhaps possible, but ultimately not worth the effort 15:39
15:39 mayuresh_ joined
tadzik writing new compiler targets is also much easier when you need to do it for simplistic nqp than if you had to do it for full-blown raku 15:39
which definitely helps when targeting new platforms 15:40
mayuresh_ i still don't understand, the new target platforms actually run "moarvm" natively, while the output of "rakudo" + 'nqp' (bytecode-like stuff) is what is run by "moarvm". 15:41
15:41 mayuresh left 15:42 mayuresh_ left
tadzik new target platforms don't run moarvm, they are alternatives to moarvm 15:42
15:42 mayuresh joined
tadzik new target platforms don't run moarvm, they are alternatives to moarvm 15:42
mayuresh something strange happened.
tadzik looks like your ISP changed your IP address somewhere along the way
mayuresh okay, there's a misunderstanding here, what do you mean by target platforms?
yeap, my ISP is the mostly badly maintained one in my country. 15:43
tadzik for example, if you want to run your code in the browser, you'd use rakudo with a JS backend
mayuresh they are bankrupt, pending employee salaries for 2 months, and about to die.
tadzik if you wanted JVM, you use rakudo with JVM backend
for anything else, you use rakudo on moarvm
mayuresh okay, my understanding of target platform was the processor ISA. 15:44
i now get your hint about historical context.
perl6, as raku was originally called, targetted the "parrot" vm, isn't it? 15:45
tadzik before moarvm came along, yes
for a moment you could choose parrot or moarvm (or jvm)
mayuresh and the "parrot" vm was supposed to be the be all and end all of all other vm systems.
tadzik parrot has been dropped somewhere along the way
that was the theory, yes
mayuresh ah, now i got it.
15:45 molaf left
mayuresh but from a purely high-performant execution environment perspective, wouldn't it make sense to drop off that old baggage and concentrate only on "moarvm" executing natively on the processor ISA? 15:46
tadzik :)
there's so many things happening in raku's runtime that you'll need to implement and ship that with your binaries anyway 15:47
kind of like Go does it, where it has its own threading and whatnot in each program you build, but way, way, *way* bigger
timotimo it's probably a bit misleading to say rakudo "targets" nqp
mayuresh hmnn. okay.
tadzik so it doesn't really make any sense, you wouldn't win anything 15:48
timotimo both the nqp compiler and the rakudo compiler target a common format called QAST
tadzik a modern VM ends up executing your code natively on the CPU anyway
timotimo and a bunch of backends exist that turn QAST into bytecode or other stuff
during the time parrot was active there was also niecza which was a perl6 to CLR compiler/runtime
mayuresh so why not integrate the functionality of 'nqp' into "rakudo" and drop off jvm and js and focus only on "moarvm"? 15:49
wouldn't that make things simpler and allow for performance boosts?
timotimo don't think so
mayuresh i think jvm and js are supported only because of the "becase we can" attitude.
timotimo nqp is easier to write performant code in, because the semantics are less do-what-i-mean 15:50
tadzik it's not one monolithic rakudo team that chooses to target all 3 VMs at the same time for bragging rights
timotimo for example, there are no scalar containers, no assignment only binding
tadzik 99% of the "core" effort is put into moarvm anyway
but anyone is free to write, maintain and contribute to any backends they want, so jvm and js exist
timotimo making the jvm backend was extremely helpful in making nqp and rakudo portable to additional backends apart from parrot
which was what allowed moarvm to be built quickly from the ground up 15:51
mayuresh i still don't understand the importance of having 'nqp' if it's not to also support the jvm and js and something else it it pops up.
timotimo nqp existed long before there was any other backend than parrot
at the beginning rakudo stuff was writen in PIR, then nqp came along to make that unnecessary
mayuresh i don't think 'nqp' was used in the "pugs" era.
timotimo yeah, nqp was built for rakudo, not for pugs 15:52
what survived of pugs was the massive test suite
mayuresh so technologically, "pugs" was singly more sophisticated than "moarvm" + 'nqp' + "rakudo".
timotimo not sure what that's supposed to mean 15:53
there was a bit less to perl6 back then
did pugs offer any multithreading stuff?
mayuresh "pugs" was what was required. "moarvm" + 'nqp' + "rakudo" is what we make do with.
i wonder why ms. tang backed off. 15:54
timotimo didn't pugs compile to parrot bytecode?
mayuresh no, "pugs" was a compiler+interpreter for perl6.
tadzik I thought it was kind of an interpreter, like perl5
timotimo OK, pugscc compiled to haskell, perl5, javascript, or PIR 15:55
mayuresh like perl5 has it's own compiler+interpreter.
tadzik: perl5 interpreter has an internal compiler which does magic.
tadzik mayuresh: yes, of course
there are no "pure" interpreters these days, even bash and tcl compile to some internal IR :) 15:56
mayuresh "pugscc" transpiled to ansi-c.
tadzik it was a figure of speech, as in "there is no visible intermediate step"
mayuresh that ansi-c could be passed through the 'gcc' toolchain tranparently.
to give native binaries of perl6 code.
timotimo what was the performance like? 15:57
mayuresh awesome.
mr. wall considers ms. tang to be a genius.
so do i.
timotimo do you happen to have a perl6 program compiled to ansi-c as well as the source code?
mayuresh no.
tadzik not to take anything away from pugs, but it's easy to be fast when you're not doing everything
niecza was also a performance king for a long time, even while moarvm existed iirc
timotimo no clue what i'd have to do to get a pugscc up and running on a modern haskell toolchain
tadzik and then sorear hit a wall and said "I can either implement perl6 correctly or keep it fast" and gave up :/ 15:58
mayuresh i lost all my backup when i killed off all my code stores when i succumbed to severe depression a while back.
timotimo: they still maintain "pugcc" to be in tune with the latest haskell release.
timotimo OK, so i can just "cabal install pugs"? 15:59
mayuresh timotimo: i don't know that.
but "pugcc" is available from ms. tang's github.
just google for "audrey tang github pugs". 16:00
timotimo i found instructions
mayuresh cool 16:01
lucky duck. :p
i just hope that eventually we get a perl5 like interpreter for raku. 16:02
timotimo what does that mean to you? 16:03
mayuresh i means more for me as a community member.
the community i believe should be focused and take pride in a well crafted product instead of an hack.
tadzik what would that interpreter do that rakudo currently doesn't?
timotimo d'oh 16:04
tadzik I'd appreciate a community not calling something "just a hack" without a proper understanding of what it is
timotimo cabal: Error: some packages failed to install:
Pugs- depends on Pugs-
which failed to install.
mayuresh i have been in an engineering environment.
timotimo control-timeout-0.1.2-ASsnQIP5FBiDENFnVHgb61 failed during the configure step.
cabal: The package 'control-timeout' requires Cabal library version -any && >=0 but no suitable version is installed.
mayuresh i definitely can't term the raku environment as a well engineered product.
the raku environment as it exists right now is more like perl between 0 - 4. 16:05
perl5 was a total rewrite.
of the execution engine.
in short, perl5 was better engineered than perl[0-4]. 16:06
i think one fine day the raku environment will get there.
16:06 lgtaube left
mayuresh till then, i'll enjoy what i get. 16:06
also, i checked out the perl6/raku books from apress and they are horrible. 16:07
tadzik well, perl5 is a performance dead-end, so I'm glad we're beyond that
mayuresh just going through the "look-inside" feature on amazon shows dirt.
on the other hand, the perl6 books by o'reilly are awesome. 16:08
timotimo i'm not quite sure what merging nqp and rakudo would do to improve things; you can probably do that with a bunch of work, if you're willing to take a, say, 1000x performance hit for exerything?
mayuresh i hope o'reilly brings out more books on perl6/raku.
timotimo: that's because everything on the execution environment right now is a set of hacks upon hacks. 16:09
timotimo i don't follow
tadzik curious how it took you 10 minutes on irc to go from "I don't know what nqp is" to this conclusion
mayuresh i believe someday, someone like ms. tang will come along and do the right thing.
tadzik, i have been in the industry for 30 years. 16:10
just understanding what you've said till now shows up as hacks.
timotimo in a way, dropping parrot in favor of moarvm was like what you thought dropping js and jvm would do 16:11
mayuresh kind of.
timotimo moarvm is built to run raku code well, the js and jvm backends are an extra implementation based on QAST
we are going to get RakuAST in the near future
mayuresh i know everybody is here to do their own thing and coincidentally collaborate toward a single project. 16:12
timotimo which will be a nicer target for doing things like macros, and can save memory usage and compilation time for rakudo code itself
as well as inside nqp
mayuresh but if only there was a benevolent sub-dictator for the execution environment!
timotimo yeah, the "ants moving food towards the nest, on average"
which is not what jonathan is? 16:13
mayuresh who's jonathan?
timotimo worthington
mayuresh okay, don't know him, yet.
tadzik of the 3 attempts I've seen, 2 have failed with "I cannot implement this correctly and keep it fast", and the 3rd is rakudo
mayuresh nice.
tadzik there's also been multiple people saying "can we not just target x86 and make it faster?" who never delivered anything
mayuresh :D
timotimo why don't you have a look around before trying to tear down the house and build a new one 16:14
mayuresh i am more inclined to look at tang's work.
her approach seemed more logical.
tadzik so if you feel like your 30 years in the industry make you more qualified, go for it and I'll be delighted to see what you can bring to the table
but until then I'm happy with the effort of people with 100s of years in collective experience in compiler development
mayuresh not more qualified to implement.
so am i. 16:15
timotimo reviving pugs could be pretty amazing, though i must admit i have no clue of pugs itself
and i can't install it right now
mayuresh as i said. raku will get there eventually. it's inevitable.
till then, i am going to definitely enjoy what i'm getting. 16:16
with perl, it's more about the community that mr. wall built. 16:17
i love you guys.
and i deeply respect mr. wall.
you know, mr. wall's legacy won't be "rn" or "patch" or "perl5".
it won't even be "raku".
mr. wall's lasting legacy will be the community he's built and the ethos he's imbibed in it. 16:18
as far as my industry career goes, i'm done.
i just like to poke around and be part of a group, a culture, rather. 16:19
and i believe the perl/raku culture is amazingly nice.
16:20 skyl4rk left
mayuresh i am placing orders for "think perl 6" and "learning perl 6" from amazon as soon as the lockdown is eased off. 16:20
as before, o'reilly definitely do a way more professional job than apress.
that book "deep dive into perl 6" or something from packt is hilariously stupid.
16:21 skyl4rk joined
timotimo could you find some nicer words for the authors? 16:24
they are also community members 16:25
[Coke] mayuresh: your comments are not particularly helpful.
mayuresh hmnn, downey is amazing.
[Coke] In fact, they are "hilariously uninformed" to paraphrase yourself.
mayuresh i don't remember the author for "learning perl 6".
coke: read that book on perl 6 by packt.
[Coke] If you'd like to be part of the community, this chat today isn't a great start. 16:26
mayuresh you'll regret touching it.
coke, i agree, i have been derisive.
won't here on.
[Coke] I own that book and have found it very helpful.
samebchase- mayuresh: I am six chapters into "Deep Dive Into Perl 6", and I have found it to be a very useful book for learning the language.
mayuresh samebchase, there's nothing deep about that book. 16:27
nothing that qualifies it for it's title.
oh, sorry, i was nasty.
should remember not to be so honest out here.
[Coke] Not sure if your years of experience taught you this, but you can be honest *and* helpful 16:28
tadzik I don't think it has much to do with honesty, to be hehe honest 16:30
[Coke] tadzik: *high five*
timotimo *honest five*
[Coke] hehehehe
tadzik you come in, not understanding how things are. Based on a few sentences you determine that things suck, authors are stupid and hopefully one day everyone will understand that you know better
[Coke] hides this chat so he can focus on $dayjob for a bit.
mayuresh i have been honest and helpful. just not nice towards snowflakes. 16:31
tadzik that's not a very effective way to rally people to your cause
yep, I'm out
mayuresh i don't have a cause to rally people around. 16:32
tadzik, why are going off at a tangent?
Grinnz mayuresh: you are wrong. being rude is being rude, you don't get to decide what's rude. you can either learn from it or not. and there is always a way to give honest feedback politely
though it is harder for those working in a second language, usually
mayuresh grinzz, hmnn, honest feedback politely, hmmn, will remember. 16:33
actually, i've been with the openbsd crowd for too long.
turned me into a hardarse.
tadzik well, I prefer to not say anything at all if I don't have anything constructive or nice to say 16:34
mayuresh will remember to take extra efforts to be nice here on.
tadzik and I'd consider it a personal failure if I succeded at one but not the other
Altai-man_ I am not sure if such a bored and low-level baiting deserves anything else than a honest hug, to be honest.
mayuresh i agree. :)
tadzik Altai-man_: I think you're absolutely right
Grinnz it's a necessary component of engaging in a community without burning people out
even if there are communities where it seems like everyoen is rude to each other and it works, i assure you there are people out there that have silently ceased being part of that community for that reason 16:35
mayuresh hmnn, right.
16:35 p6steve left
mayuresh but i prefered to fight back and was accepted. 16:35
now need to soften up again. :)
as i said, i'll be taking extra efforts to become nice. will eventually. 16:36
tadzik there are very pragmatic reasons to be nice to one another, imo
mayuresh if anyone like "camelia", check out my latest tweet; @mayureshkathe 16:37
i ordered that t-shirt today afternoon.
should get it in a week.
"camelia" is really cute, and meaningful, and very pun-ny. :) 16:38
anyone here tried that ide called "commaide"? 16:39
prima-face looks awesome.
timotimo i must not comment, i'm involved in its development :P 16:40
mayuresh you are!!! golly good. :)
i'm going to purchase a yearly license once i'm done with those oreilly books.
do give my regards to your team. :) 16:41
okay, i just notice a butterfly in the top-bar of my "irssi" session. 16:42
how did that get there?
16:42 Ven`` left
timotimo there's also »ö« which is considerably less unicode 16:42
i'm probably the contributor to comma with the smallest contributions, though 16:43
mayuresh okay, now how do i get that symbol?
timotimo: what do you work on there?
timotimo that's just an o umlaut and french quotes (guillemonts or something?)
actually i don't even remember? did i actually do anything? 16:44
mayuresh but how do i produce it with my regular us-en keyboard?
timotimo depends on your system. the raku docs actually have a page on inputting special characters on different systems 16:45
mayuresh care to share a link?
else at least what should i be googling for?
see this; twitter.com/mayureshkathe/status/1...01/photo/1 16:47
timotimo docs.raku.org/language/unicode_entry 16:48
mayuresh thanks timotimo. :) 16:49
timotimo NP
mayuresh alrighty, time to go, sleepy. 16:52
have a good day people.
and sorry for being so obnoxious. 16:53
16:53 mayuresh left 16:57 sena_kun joined 16:59 Altai-man_ left 17:05 holli__ left 17:12 brtastic joined 17:23 molaf joined 17:24 rmmm joined 17:36 xelxebar left, xelxebar joined 17:51 holli__ joined 17:59 lembark joined 18:02 hungrydonkey left 18:03 aborazmeh joined, aborazmeh left, aborazmeh joined
[Coke] ~~ 18:05
18:33 ensamvarg_g6 left
lembark Q: Has anyone seen FindBin::libs fail? I'm trying to track down the release of rakudo that is blows up in. 18:34
sena_kun lembark, I'm running Blin right now, so if there was a regression between 2020.02 and HEAD, it'll spot it and name the commit. 18:35
⏳ 534 out of 1445 modules processed
lembark Thank you. 18:45
18:49 rindolf left
lembark If possible, could you just add the tag and any comments to: 18:52
18:56 Altai-man_ joined 18:59 sena_kun left, rindolf joined 19:04 farcas1982regreg left 19:18 Kaiepi left 19:19 Kaiepi joined 19:22 Kaiepi left 19:31 PamelaAlexa joined 19:33 chloekek left, PamelaAlexa left, chloekek joined 19:38 rindolf left 19:51 sjm_uk left 19:58 Kaiepi joined 20:42 melezhik joined 20:57 sena_kun joined 20:59 Altai-man_ left 21:07 brtastic left 21:08 Marcool joined 21:09 melezhik left
Marcool Hi all, I'm running into a bit of an issue interfacing with a program that uses environment variables from raku. Specifically, I need to CLEAR an environment variable, and setting to Nil seems to still evaluate to "true" for the external program (which is borg backup, written in python). 21:10
I can get the behavior I want by doing %*ENV=%*ENV.map: {if ($_.key ne "VAR_NAME") {$_}} but that seems kind of well… sledgehammerish? 21:11
and as far as I can tell, bash reacts of to having %*ENV<VAR_NAME>=Nil, however you then test $VAR_NAME (by [ -z $VAR_NAME ] or [ "$VAR_NAME" != "" ] the result is ok. 21:12
However, env | grep "VAR_NAME" shows a line with VAR_NAME= (that is, an empty value, but still set…)
[Coke] If I understand, you're trying to remove an env var in a program you're calling, and expecting that to impact the environment you called the program from? 21:15
(which you can't do) 21:16
Or are you calling raku, then exec'ing something from there, and looking at the env of the child of the raku process?
Marcool [Coke]: well I'm making successive call's to borgbackup from a raku program, and before making the calls setting env vars, and between I also need to unset one of them 21:19
[Coke] ok, that should work. one sec. 21:20
Marcool like I said, as far as I can tell from testing with a bash child, it does… but if you do something like, run("env", :out).out.lines.grep("VAR_NAME") you get a "VAR_NAME=" line 21:21
Geth doc: lukasvalle++ created pull request #3356:
example for use lib with IO:Path
[Coke] I think you want %*ENV.DELETE_KEY: <VAR_NAME>;
if you assign NIL to it, that's an empty string. You want to remove the key, not give it an empty value. 21:23
I think you want %*ENV.DELETE-KEY: <VAR_NAME>;
Marcool [Coke]: Oh I never knew about DELETE-KEY! :D
[Coke] (dash not underscore)
Marcool yup ok!
will try that
[Coke] It feels lower level: there may be syntax that gives you the same thing.
good luck. 21:24
Marcool it seems like %*ENV<VAR_NAME>:delete; should be the thing: docs.perl6.org/language/subscripts#:delete 21:27
but it *looks* to not work on %*ENV :/ 21:28
21:29 BritManuela joined
Marcool my bad, it *DOES* work :D 21:29
%*ENV<VAR_NAME>:delete is it
21:32 BritManuela left
Marcool thanks a lot [Coke] 21:33
[Coke] there you go, lowercase is less magical. :)
21:34 Kaiepi left, Kaiepi joined 21:35 Kaiepi left, Kaiepi joined 21:47 lgtaube joined 21:48 farcas1982regreg joined 22:05 chloekek left, Marcool left 22:07 lgtaube left, aborazmeh left, KindOne left, kst left, eseyman left, orinthe left, dustinm` left, telex left, SCHAPiE left, a6502 left, holli__ left, mowcat left, holyghost left, silug left, roguelazer left, simcop2387 left, perlbot left, reportable6 left, coverable6 left, quotable6 left, Grauwolf left, [Sno] left, go|dfish left, Ulti left, reportable6 joined, coverable6 joined, quotable6 joined, kst joined 22:08 dustinm` joined, Grauwolf joined, simcop2387 joined, telex joined, Grauwolf left, Grauwolf joined, simcop2387 left, simcop2387 joined, [Sno] joined, go|dfish joined, perlbot_ joined, perlbot_ is now known as perlbot, perlbot left, perlbot joined, lgtaube joined 22:09 aborazmeh joined, aborazmeh left, aborazmeh joined, Black_Ribbon joined 22:10 Summertime left 22:11 roguelazer joined, KindOne joined 22:12 eseyman joined, a6502 joined, Ulti joined 22:13 Summertime joined 22:14 |Sno| joined, SCHAPiE joined 22:16 [Sno] left
guifa2 does anyone really ever use the :ex modifier in regex? I'm fairly certain I've never seen it in the wild. 22:31
MasterDuke greppable6: :ex 22:37
greppable6 MasterDuke, 2514 lines, 391 modules: gist.github.com/185a1fbc6c8252679a...5c0716f107
MasterDuke greppable6: :ex\b 22:38
greppable6 MasterDuke, 14 lines, 7 modules: gist.github.com/d4a6eaf8447ff656e2...6ff3cb1677
22:39 brtastic joined
guifa2 So... basically no one :-) 22:47
Except for our examples haha
guifa2 puts that on the ultra mega low priority list 22:48
jnthn I don't think we actually do anything particularly special in the enigne to support :ex; I think it falls out of the backtracking mechanism anyway. 22:49
22:49 sena_kun left
jnthn e.g. there needs to be a way to backtrack into a subrule, so you just use that mechanism to re-enter and keep running a top-level rule 22:49
22:50 girafe left
guifa2 jnthn fair, the way I'm doing the collecting the matches right now makes that a bit difficult to do but I know I'm going to need to redo it to properly support the & conjunction 22:55
jnthn uff, & :)
I understood how we compiled that at some point, but I think I forgot since. :) 22:56
guifa2 Yeah and while it's not common in regular regex, for binex it's going to be very common I think
guifa2 . o O ( although probably it will generally be done with fixed-length tokens )
BTW one thing I noticed is if you have a capture inside of an interpolated block, there's no way to access it unless it's named 22:58
jnthn Hm, how so?
Yes, an interpolated block is its own match object. Same as (...) captures. 22:59
Or perhaps a better way to look at it is that it's a fancy kind of subrule call. 23:01
23:01 devmikey joined, gdonald left
guifa2 How so for the & and or how so for the interpolated? 23:02
23:02 aborazmeh left
jnthn Why do you think & will be more common? :) 23:02
guifa2 So imagine you have a bitmask with four two bit values 23:03
you could do <mask1> & <mask2> & <mask3> & <mask4> to get all of them
jnthn ooo :) 23:04
That's cute.
guifa2 mask one might be defined as o.XXX so when you go to access it, it's already been right shifted to a value 0-3
23:11 aborazmeh joined, aborazmeh left, aborazmeh joined 23:29 gdonald joined