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] [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?