00:25 cognomin_ joined 00:28 cognominal left 01:28 evalable6 left 01:30 evalable6 joined 02:22 lucasb left 05:18 AlexDani` joined 05:20 AlexDaniel left 05:28 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined, benjif left 06:23 Xliff joined
Xliff All: I'd like to make a more visual installer for Perl6. I would rather not compromize zef, but rather offer users an alternative to CURI. At least one that doesn't leave them wondering what's going on while installing 500 compunits. 06:24
What would be the best way to do this. Even at a high level.
If necessary, should I start an article on problem-solving for this issue?
^^ lizmat jnthn ugexe vrurg timotimo 06:25
vrurg Xliff: Installer for what? Raku, you meant? ;) 07:04
Xliff: seriously: if you're talking about Raku installation then it's totally pointless. Every system has own packaging with UIs. 07:05
A module installer would make a little more sense, but still I doubt it worth spending resources on it.
vrurg is off to bed... 07:06
08:12 jmerelo joined
Xliff vrurg: Sorry, I meant a module installer. 08:14
^^ lizmat jnthn ugexe vrurg timotimo
nine Xliff: what exactly is the issue with CURI? 08:15
08:15 Xliff left 08:25 ExtraCrispy joined
jmerelo Today's Advent Calendar is all about containers: rakuadventcalendar.wordpress.com/2...ontainers/ 08:25
tellable6 2019-12-09T00:14:15Z #raku <tbrowder> jmerelo muchas gracias for saving my "Christmas Ham!"
jmerelo .tell tbrowder my pleasure. Thanks for the chance to do so.
tellable6 jmerelo, I'll pass your message to tbrowder
08:26 ExtraCrispy left 08:52 ExtraCrispy joined, ExtraCrispy left
tyil .tell Xliff I'd love to have more documentation in general about how modules work, and more specifically, how installing them works 09:34
tellable6 tyil, I'll pass your message to Xliff
tyil jmerelo: I wonder, if I can get a proper rakudo-star 2019.11 out, if it'd be worthwhile to have an article about that in the advent calendar 09:37
to fill up the last slot
jmerelo We finally moved today's slot to the 23rd 09:38
|Tux| Rakudo version 2019.11-102-g382d18bda - MoarVM version 2019.07.1-403-g9442b1a7c
csv-ip5xs0.711 - 0.712
csv-ip5xs-206.396 - 6.440
csv-parser21.626 - 21.632
csv-test-xs-200.423 - 0.428
test6.794 - 7.282
test-t1.794 - 1.825
test-t --race0.879 - 0.920
test-t-2029.491 - 30.010
test-t-20 --race9.331 - 9.613
jmerelo but it's OK if you create another one, just in case there's some problem
If all slots are eventually filled in time, we can publish it as a bonus
tyil and I'd also like to have more documentation for the CURI stack
tyil I think everyone wants that :) 09:39
I'm not sure if I can get a stable rakudo-star out, since I'm swamped at work, but I can spend weekend time on it
there's an -rc1, I'm looking for testers right now 09:40
I don't think I've posted it on the perl6-users ML yet, though
lizmat it will be mentioned in the weekly
tyil oh, that will work as well to get some people on it I hope :>
thanks lizmat!
09:41 sena_kun joined
lizmat afk for a few hours& 09:46
nine tyil: what information are people missing about CURI? 09:52
tyil what does "install" do, how does it decide what hashing to use (and does it hash contents, or filename, or does it combine does and then hash it), how does it decide which directory to install to 09:59
how can I get a list of all installed modules, and their contents 10:00
(preferably in human-readable formats)
the docs refer to `CompUnit::RepositoryRegistry.repository-for-name("site");`, is "site" a random name that you can swap out for anything? is this a de-facto standard name? 10:01
what if I install something into repository "site", and later try to install the same module into repository "other-site", does it realize I already installed it? 10:02
there's been a recent discussion on the ML about the docs being unfriendly to people that don't yet know all the details of certain topics, and I find the CompUnit::* and related pages to also have this problem 10:04
(the perl6-users ML)
10:16 AlexDaniel` left, Demos[m] left, EuAndreh[m] left, tyil[m] left, unclechu left, rba[m] left 10:25 Guest38485 joined 10:45 rba[m] joined 10:52 sena_kun left 11:09 sena_kun joined 11:13 AlexDaniel` joined, EuAndreh[m] joined, Demos[m] joined, unclechu joined, tyil[m] joined
jmerelo tyil they are friendly if you do your homework. You can't simply explain every thing in every single entry. Due diligence is needed, here and everywhere. 11:35
tyil yes, so not very friendly to beginners 11:48
I understand where you're coming from, but just telling people they need to do more homework is gatekeeping and isn't really helping them 11:49
12:28 jmerelo left 12:53 sena_kun left 13:08 sena_kun joined
Geth nqp/truffle: 8b86024667 | (Paweł Murias)++ | 5 files
[truffle] Update truffle jars
13:09
13:09 pmurias joined
pmurias MasterDuke: I'll try to merge master changes in now that the JDK version in GraalVM has been updated 13:10
13:49 lucasb joined
nine tyil: the answer to "what does "install" do, how does it decide what hashing to use (and does it hash contents, or filename, or does it combine does and then hash it)" is simple: that's implementation defined, subject to change and shouldn't matter to the user 14:00
tyil idk why people want to keep module management a secret 14:01
but ok
nine tyil: it's no secret. It's open source after all and I will answer concrete questions about the implementation. I just don't see a point in documenting internals that should not matter. Our documentation does not tell you how the ... operator is implemented either. 14:02
tyil right 14:03
nine The public interface does seem to be documented: docs.perl6.org/type/CompUnit::Repo...stallation
tyil I just had a couple concrete questions, which you then tell me I'm not allowed to know "as a user"
nine That's a misunderstanding them. If you want to know I'll gladly explain it. I read that as "this is a list of things that ought to be documented" 14:04
I explained much of the reasoning behind the design decisions in a talk: niner.name/talks/A%20look%20behind%...rl%206.odp 14:05
tyil the documentation can clearly be improved on many fronts, I had those questiosn from the top of my head from trying to learn how module management works earlier
just telling people that it's their fault for not having studied the source code doesn't really sound like a reasonable way to go about documentation
also, one time people tell me the hashing stuff is an implementation detail, and then another time it's not an implementation detail 14:06
if only there was some official documentation to make it clear 14:07
if I need to study the source of all classes related to module management for a week just so I can play aroudn with module management for an afternoon, it's just not worth it to me
which leads to me just not bothering at all, and not ever getting to any point to actually improve anything 14:08
vrurg .tell Xliff message me when available. 14:10
tellable6 vrurg, I'll pass your message to Xliff
nine tyil: We hash the module's short name, the file content and the dist's long name to get the hash for the shortname lookup directory 14:11
I'm pretty sure at least I have never called this anything but an implementation detail :) Most of all because this isn't part of any specification. It's based on jnthn's ideas and evolved over time. 14:12
tyil so why is it bad to refer to this in the docs? 14:14
nine tyil: once it's documented, people want to start to rely on what the documentation says and then we cannot change it anymore.
lizmat tyil: the docs are about what Raku is, not how Rakudo implements it
nine But we need to change it because evolution is not yet done
tyil so you can't document the fact its an implementation detail?
lizmat not on docs, as that is intended to be implementation independent ? 14:15
tyil I don't think having multiple people telling different things is any better
and when people ask about it in IRC they're only told "you're not cool enough for us to tell you" 14:16
nine tyil: sure we can. I'm actually surprised that there's no FAQ entry telling you that
tyil: and please stay with the truth. Or be prepared to point to a log were "you're not cool enough" was actually said by a developer 14:17
tyil I'm sorry for not exactly quoting every word in every circumstance I guess
nine The whole reason for reluctance to document or explain these details is that we really need to be able to change them. There's for example a branch that changes how bundled resources are stored, so we retain more of the original file names, which helps with bundled DLLs on Windows 14:21
If someone's genuinely just curious or even wants to help developing, I'm more than happy to explain things. But most of the time people want to work around their actual issue (which they don't tell us) or want to create tools that circumvent the published APIs and rely on these implementation details. 14:23
tyil I want to create a tool to see how much effort it'd be to create a minimal module installer, but I can't really see why the examples use "site" as their registry 14:25
should I also use "site" if I want to make something like that?
or should I avoid "site", since there's already one using "site"
nine tyil: that actually seems to be missing from the docs. CompUnit::RepositoryRegistry is not documented at all but should be, and I was unable to find anything about the standard repositories. 14:26
tyil so we're back at the part where I posed some concrete questions, with which I had hoped I could show that the docs are most certainly lacking here
nine tyil: in short: there are 4 standard repositories with names: core, vendor, site and home. Core contains the modules that are bundled with rakudo (like Test and NativeCall). vendor is for distribution packages. site is where zef or other installers install to for system wide installation and home is for per-user installation 14:27
This ^^^ certainly is something that needs documenting and a PR to the docs repo would be most welcome!
tyil that's information that I can actually use, thanks 14:29
nine For a minimal module installer, please have a look at github.com/rakudo/rakudo/blob/mast...ll-dist.p6 as a starting point 14:30
This is also the tool of choice for packaging modules for Linux distros, hence the stuff that ends up in vendor 14:31
pmurias nine: re documenting internals, such info helps for people who want to read the code and understand it 14:39
nine pmurias: that's why I'm happy to explain it to everyone who's just curious 14:42
To take this conversation as an example: if you're asking about the hashes and directories because you want to write a module installer, you're asking the wrong questions and I'm glad the docs didn't keep you from asking here. 14:44
tyil to me that means the docs aren't doing their job 14:45
clearly it doesn't tell me properly what I do need to worry about when wanting to build something like that
and now I need to consult other sources, and pray that the person I get a response from knows more than me
assuming I get a response at all 14:46
it seems very few people actually have any knowledge on how module management works in raku
nine Well, at least CompUnit::Repository::Installation.install is somewhat documented, which is all you actually need to install something 14:48
tyil: that's true about many of rakudo's parts unfortunately. Actually for many software projects 14:49
tyil and it's easily solved with good documentation
nine Yes, so please submit that PR 14:50
14:52 sena_kun left 15:08 sena_kun joined
vrurg pmurias: AFAIR, the jars are used by both NQP and rakudo, aren't they? 15:14
pmurias I think NQP only
vrurg rakudo is using them but indirectly, through `jvm::runtime.jars` nqp config variable. 15:16
Makes sense.
pmurias: pls, open an issue. I'm loaded and easily forgetting things lately. 15:19
Geth nqp: 29215797e8 | (Paweł Murias)++ | src/vm/js/nqp-runtime/core.js
[js] Implement '−' (U+2212) minus support in nqp::radix(_I)
15:28
nqp: 15efae7320 | (Paweł Murias)++ | 2 files
[jvm] Pass jars as an argument
15:29
pmurias vrurg: if rakudo doesn't call configure_jars passing the jars in nqp will work? 15:30
vrurg: I'll just fix the Makefile myself 15:32
planned to stay away from it but already got mixed up when updating the truffle branch
vrurg pmurias: rakudo's config calls configure_jars but never uses the result. So, yes, you can simply use it. 15:43
pmurias: The problem is that adding a new jar would require changing nqp-configure which isn't really good considering all the potential issues with submodules. 15:44
pmurias: So, it makes sense to me to make configure_jars a stub and move the actual functionality into NQP's NQP::Configure::NQP. 15:46
15:48 travis-ci joined
travis-ci NQP build errored. Paweł Murias '[jvm] Pass jars as an argument' 15:48
travis-ci.org/perl6/nqp/builds/622721946 github.com/perl6/nqp/compare/29215...efae7320db
15:48 travis-ci left
pmurias vrurg: how does rakudo call 'configure_jars'? 15:51
^^ the NQP build fails to some unrelated error (looks like a problem with travis) that's unrelated to my jvm changes 15:53
vrurg: feel free to refactor the code how you want, having the jar list in the nqp repo solves my problem
it's in Configure.PL for now 15:54
vrurg pmurias: I mean, rakudo's Configure.pl calls configure_jars. 16:02
anyway, afk for a while...
16:03 pmurias left
Geth ¦ problem-solving: coke assigned to AlexDaniel Issue perl6-users mailing list github.com/perl6/problem-solving/issues/139 16:09
16:46 cognominal joined, ExtraCrispy joined 16:47 ExtraCrispy left, ExtraCrispy joined 16:48 ExtraCrispy left 16:49 ExtraCrispy joined 16:50 ExtraCrispy left, cognomin_ left, ExtraCrispy joined 16:51 ExtraCrispy left 16:52 ExtraCrispy joined, ExtraCrispy left, sena_kun left 17:07 sena_kun joined
Geth rakudo/travisci.roast: b2463d55ec | tonyo++ | .travis.yml
trying with base pipe status
17:11
rakudo/travisci.roast: 023e9e5834 | tonyo++ | .travis.yml
the right way to do this
17:28
rakudo/travisci.roast: bd4c2bdd2c | tonyo++ | .travis.yml
the right way to do this
17:28 travis-ci joined
travis-ci Rakudo build canceled. tonyo 'the right way to do this' 17:28
travis-ci.org/rakudo/rakudo/builds/622778022 github.com/rakudo/rakudo/compare/b...3e9e583435
17:28 travis-ci left
Geth rakudo/travisci.roast: 60f7087380 | tonyo++ | .travis.yml
overflow the log cap..
17:48
TreyHarris I ranted a bit at toddandmargo just now. But it seems like I'm not the only one pretty ticked off right now
17:51 cognomin_ joined 17:54 cognominal left
AlexDaniel TreyHarris: what are you all talking about, is there a link? 18:19
sena_kun AlexDaniel: maybe A positional {$i++}: ["; ? 18:21
oops
github.com/rakudo/star/issues/145 <- 18:22
AlexDaniel that's like 9 days ago
sena_kun indeed
sorry
AlexDaniel I think there's something new on the mailing list…
by the way, I'm surprised how popular it is
like, there are messages there!
AlexDaniel grabs popcorn 18:24
I think I found it 18:25
Won't be sharing a link, it's not worth anyone's nerves 18:26
Geth nqp: vrurg self-assigned [WIP] JVM build needs a couple of fixes. github.com/perl6/nqp/issues/589
vrurg++ created pull request #590: Make NQP::Configure::NQP take care of jars
18:27
sena_kun has a horrible day and wouldn't risk anyway, better to patch Comma in the meanwhile... 18:28
lizmat TreyHarris++ # thanks for the research and the email 18:38
TreyHarris AlexDaniel: sorry, yes, the mailing list
lizmat: of course.
18:43 ZzZombo left, ZzZombo joined
TreyHarris lizmat: As a former root-holder at Amazon and Google I trained myself to never look at From lines unless it was cogent to the specific issue at hand, and old habits die hard. So for _me_ to specifically notice repetitive behavior like this says something to me. (And I still dove into my sent and comment contribs to verify this so I didn't pin others' behavior onto this individual.) 18:44
lizmat well, you did what I was planning to do after publishing this week's Weekly 18:45
vrurg .ask pmurias Could you, please, ask for review next time before changing Configure.pl and its modules? I would really appreciate it. 18:53
tellable6 vrurg, I'll pass your message to pmurias
18:54 sena_kun left
TreyHarris In the well-known adage "lies, damned lies and statistics", I think most people today aren't aware of the understanding at the time of how a "damned lie" differed from an ordinary lie--a damned lie was formulated as one that didn't just lie about the subject, but that willfully insinuated that the truth-tellers were in fact the liars.
The claim that calling you a "dog" was neutral or even complimentary is a damned lie.
19:08 sena_kun joined
vrurg .ask pmurias I can't remember what exactly wrong happens when a runtime .java is getting changed. Can you leave a comment on github.com/perl6/nqp/issues/589? 19:10
tellable6 vrurg, I'll pass your message to pmurias
19:20 patrickb joined
MasterDuke . 19:20
vrurg: since it's so integral, it might be nice to have geth announce for activity to NQP::Configure 19:21
vrurg MasterDuke: you're probably right. Who is in charge of it? 19:23
MasterDuke no idea actually 19:24
AlexDaniel: ^^^?
vrurg nevermind, found the repo
Oops, webhooks... Seems like some handwork is needed to install one. AlexDaniel any automation for this kind of tasks around? 19:29
19:48 travis-ci joined
travis-ci Rakudo build failed. tonyo 'overflow the log cap..' 19:48
travis-ci.org/rakudo/rakudo/builds/622786488 github.com/rakudo/rakudo/compare/b...f708738002
19:48 travis-ci left
nine FWIW I don't think making our docs more verbose by including more explanation and examples would remove any of its value for experienced developers. 19:56
TreyHarris whys is := binding used so frequently in NQP code? 19:57
nine Quite contrary, I'd often like to have more detailed information (e.g. what exactly a method returns) and examples
TreyHarris: because there's no assignment in NQP
TreyHarris nine: contra to what is said in isolation, that's not the issue in context if you look at prior complaints from this particular individual. what they would like is for signatures to be minimized and for every signature (or at least, every signature that is at all different from Perl 5 calling semantics) to be accompanied by an explanation of it with words and/or examples 19:59
nine: oh, duh, thanks
basically, the argument is that if one doesn't know Raku signatures, one should still be able to completely understand any routine's docs in isolation 20:00
nine I can imagine arguments for that. This would provide a very low barrier to entry 20:04
TreyHarris I think it's quite nice to include examples when the Signature uses uncommon features, or the signature provides for some very elegant calling syntax that might not otherwise be clear, or even when there are disjoint signatures of multis in order to show how they relatively work.
nine In many cases the arguments will need some more elaborate description anyway
TreyHarris Yes, but it isn't realistic to, for instance, explain :D vs :U vs the lack of either in every single argument of every single routine 20:05
Which is a frequent hang-up of this particular individual's complaints
nine "$foo needs to be a concrete value that will be frobnicated" doesn't sound too bad 20:06
TreyHarris Sure, but for every single routine including every multi variant? 20:08
Where it might be surprising (say, arguments that don't have :D but seem to have concrete semantics because using an undefined value results in some sort of default behavior), it's not a problem to include 20:10
lizmat And another Rakudo Weekly News hits the Net: rakudoweekly.blog/2019/12/09/2019-...-starring/
TreyHarris lizmat++
tobs m: dd "strong" & not "coming soon" 20:22
evalable6 all("strong", Bool::False)
tobs ^ this implies a bug in one example of the latest "keeper" on the mailing list, but I don't have the original mail to properly reply to it :| 20:23
oho, apparently there is a way to receive old mails that's advertized on the lists landing page! 20:31
TreyHarris nine: Here's an example of what this person apparently expects in each routine's docs www.nntp.perl.org/group/perl.perl6...g7418.html -- so, in this case, 44 lines to explain just the signature of "multi method contains(Str:D: Cool:D $needle, Int(Cool:D) $pos --> Bool)" before discussing anything peculiar to contains itself 20:40
tobs: which "keeper" was this about? I don't recall one about junctions 20:51
tobs the one about .contains. There's an example with junctions. I'm currently working on getting on this list to report it :)
but the attempt revealed a flaw in my mail setup, so... 20:52
20:53 sena_kun left
TreyHarris Oh, the one I just posted a link to, I see 20:53
nine TreyHarris: I honestly cannot say that the suggested text is in fact worse than our current documentation of .contains. At least it's not wrong (while our current docs are!), covers a detail that our docs don't and uses language that's easier to understand. 20:59
And I actually love that it shows how to properly do case insensitive matching! I love it because that's something that someone who's not aware of fold case will not even know to look up, so documenting the .fc method by itself just won't do. 21:00
It could certainly still be improved and doesn't have to go to excruciating lengths to explain unrelated matter, but I think, there's a lot of good to learn here 21:02
TreyHarris nine: specifically about the last 44 lines, though, which are the thing that this person (I sorry, I don't know their pronouns so I keep referring to them that way)... If you'd like to add that token-by-token description of every signature, you could probably write a program to generate it... and if you think it would add something to every signature, it could perhaps be displayed collapsed in 21:04
browsers
nine Or...maybe make the different parts of the signature clickable? 21:05
TreyHarris I don't think there's a way to display three links without any space characters between them in a way that makes it clear they are each linking to different places. Perhaps hovertext 21:07
nine Yeah, something like that
21:08 sena_kun joined
TreyHarris I'd invite you to reply to one of the two active threads ("Re: Raku, docs, help [was: Re: vulgar?]" or "A grand idea on the documentation") proposing that. 21:11
nine I'm not subscribed to any of our mailing lists 21:13
TreyHarris It isn't difficult to subscribe from raku.org/archive/lists/ and you can immediately suspend mail responses if you want to read it on the web only 21:15
(of course, to reply and get your reply properly threaded is a bit of a problem in that case) 21:16
21:24 MasterDuke left
nine Honestly I'd much rather debug that GC issue, so I can push my fix for the nested runloop spesh bug, so I can push my NativeCall fixes... 21:33
21:49 pmurias joined
pmurias vrurg: I don't see rakudos Configure.pl calling it github.com/rakudo/rakudo/blob/mast...#L107-L115 21:55
tellable6 2019-12-09T18:53:20Z #raku-dev <vrurg> pmurias Could you, please, ask for review next time before changing Configure.pl and its modules? I would really appreciate it.
2019-12-09T19:10:22Z #raku-dev <vrurg> pmurias I can't remember what exactly wrong happens when a runtime .java is getting changed. Can you leave a comment on github.com/perl6/nqp/issues/589?
21:57 Xliff joined
pmurias vrurg: I don't plan on changing anything in Configure.PL any time soon 21:57
Xliff o 21:58
tellable6 2019-12-09T09:34:53Z #raku-dev <tyil> Xliff I'd love to have more documentation in general about how modules work, and more specifically, how installing them works
2019-12-09T14:10:15Z #raku-dev <vrurg> Xliff message me when available.
Xliff tyil: I'll keep that in mind as I research this. 21:59
nine: I feel the current installer doesn't give users enough feedback if a package with a high compunit count (and a long installation time) is encountered.
22:03 pmurias left, pmurias joined
nine Xliff there's a RAKUDO_LOG_PRECOMP ENV var for that 22:10
patrickb Is there any plan of phasing out the p6c ecosystem? 22:23
22:52 sena_kun left 23:41 Voldenet left 23:47 Voldenet joined, Voldenet left, Voldenet joined