00:25 leont left 00:54 Altai-man_ joined 00:56 sena_kun left 02:13 AlexDani` joined 02:15 AlexDaniel left 02:28 vrurg left 02:29 vrurg joined 02:32 vrurg_ joined 02:33 vrurg left 02:55 sena_kun joined 02:56 Altai-man_ left 03:37 vrurg_ is now known as vrurg 04:53 softmoth__ left 04:54 Altai-man_ joined 04:56 sena_kun left 06:03 [TuxCM] left 06:55 sena_kun joined 06:57 Altai-man_ left
[Tux] Rakudo version 2020.05.1-287-g219199bb6 - MoarVM version 2020.05-88-g3149bbb4f
csv-ip5xs0.799 - 0.843
csv-ip5xs-207.988 - 8.154
csv-parser25.882 - 26.151
csv-test-xs-200.396 - 0.401
test7.569 - 7.612
test-t1.928 - 2.052
test-t --race0.807 - 0.850
test-t-2030.909 - 31.309
test-t-20 --race9.487 - 9.642
07:06
07:50 leont joined
sena_kun releasable6, status 08:15
releasable6 sena_kun, Next release in ≈5 days and ≈10 hours. 1 blocker. 143 out of 287 commits logged (⚠ 4 warnings)
sena_kun, Details: gist.github.com/4739d87294b82c0edc...d4fa1b1110
sena_kun RFC: gist.github.com/Altai-man/b0d23ec5...37cddf3bc9 08:47
08:54 Altai-man_ joined 08:57 sena_kun left
lizmat Files=1306, Tests=111379, 216 wallclock secs (29.12 usr 8.41 sys + 3020.47 cusr 284.51 csys = 3342.51 CPU) 09:08
AlexDani` Altai-man_: does it have to be separate from docs? 09:56
09:56 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined
Altai-man_ AlexDaniel, I think - yes, though I expect them to share new UI as they do now, so not so different. Docs describe language itself. Examples website describe something like transition from "English task -> Raku" and "Concept -> Usages" for the first idea described, and a manual for the second idea. 09:59
AlexDaniel that's just needless separation
I'm reading the document and for every point I'm pretty much thinking “yeah, because it's not part of the docs” 10:00
combining the website will also allow more or less seamless linking between both 10:01
websites*
Here's an example, wanna learn more? Here are the docs.
Here are some docs. Wanna see how it can be used for practical tasks? Here are some examples.
Altai-man_ Number of docs UI/navigation issues will be fixed with new design. A complete re-design of docs structure is out of scope. And more resources (if they are more or less good in terms of quality) is better than less. There are tons of sites around describing the same things in java/python/whatever and they don't think in terms of "Oh, but we have langauge docs already". 10:02
AlexDaniel whatever. 10:03
Altai-man_ More pages -> more visibility -> more google, attention, people, stuff like TIOBE etc. 10:04
AlexDaniel there are countless smaller websites we have (or had) that just rot and don't get enough dev attention 10:07
all because somebody thought that it's a good idea to create a separate website
now, I can *maybe* understand that for things like alerts.perl6.org, although in hindsight it was a mistake 10:08
but examples.raku.org is extremely doc-like
Altai-man_ The discussion is about reviving one of these sites in terms which are more suitable for 2020, not 2008, not creating a completely different, new thing. 10:09
But maybe you are correct.
AlexDaniel, can you please describe how do you imagine the doc website structure which incorporates some of the things described (cookbook, showoffs for features)? 10:10
ShimmerFairy At the very least, the detailed examples of features can be accomplished just by making the documentation more detailed. The cookbook portion would definitely be a separate category of pages on the docs.raku.org website, if part of it at all. 10:13
AlexDaniel where's the latest version? 10:15
examples.perl6.org
this redirects to p6c.dev, and examples.raku.org is just the default server page
the docs are already structured somewhat, just have an Examples tab just like we had before (I guess it was removed because examples. subdomain was down or was just bad?) 10:17
rba This domain mismatch I could fix. Content not though.
tellable6 2020-06-11T10:00:56Z #raku <patrickb> rba There are two new versions of rakubrew (v10 and v11) on rooster.uber.space/patcloud/index....EJLQDZcjbf Can you upload?
Altai-man_ ShimmerFairy, extermely detailed documentation can be seen as both merit and de-merit.
AlexDaniel I don't think I ever complained about too detailed documentation :) 10:19
ShimmerFairy The only problem with detailed documentation is if you're really bad at writing, because then you're really bad at writing for a long time. 10:20
Altai-man_ AlexDaniel, just having an url from docs to examples website does not solve the main problem I am trying to tackle: categories on example website are rotten and not targeted to potential users. See the ticket in user-experience repo describing that.
AlexDaniel I'm saying it can be a tab with its own categories 10:22
or maybe an index of some sort
ShimmerFairy (also, minor note: I don't think publishing euler problem solutions is a good idea, both because the euler people really don't like it when people do that, and because they're supposed to be puzzles you have to work out yourself) 10:23
Altai-man_ AlexDaniel, roger. Imagining we have a single website for docs. Besides "language", "types", we now also have "examples" tab. You go there. What stuff can you see there and how is it organized, based on (possibly revised or re-organized) examples we have? 10:26
nine Wherever they are, it would be beneficial if examples were at least linked from appropriate places in the docs. 10:41
AlexDaniel Altai-man_: if there are some major categories then we can have subtabs. Otherwise maybe something like docs.raku.org/language.html ? 10:43
a lot of categories on p6c have just a few examples: examples.p6c.dev/categories/module...ement.html 10:44
I mean, I can't give you a definite answer, that needs to be figured out 10:46
Altai-man_ AlexDaniel, oh, sorry, I miswrote that. I meant structure of content itself. Now we have categories like Rosettacode, 99 problems, answers to perlmonks questions and so on.
Do you suggest they should leave as that, just more integrated into docs website or?
AlexDaniel shouldn't 99 problems be a single page with a ToC? 10:47
Altai-man_ s/leave/be left/
AlexDaniel yea, I see docs integration and categorization as two separate questions
for example, once somebody implement editable&runnable snippets on the docs website, we shouldn't need to duplicate that effor for a separate website 10:48
Altai-man_ Whatever it is designed into, UI does not matter much right now. In fact, I am trying to get opinions about structure of the website to pass it to a designer, because you can really plan UI without knowing how the content is organized.
AlexDaniel so it's much easier to implement differences where we need them instead of reimplementing everything else just because something sounds like a different concept
just looking at it briefly: 99 problems should be a single page, Rosettacode should simply be a link (or a set of links) to rosettacode, Cookbook is another single page, Euler should be removed according to ShimmerFairy, Rosalind is perhaps similar to Euler (I don't know), Tutorial section should be moved to Doc tutorials (we already have them), … 10:53
and just remove questionable examples 10:55
10:55 sena_kun joined 10:56 patrickb joined
patrickb o/ 10:57
tellable6 2020-06-14T11:26:30Z #raku-dev <AlexDaniel> patrickb: but nevermind, just letting you know. I just changed the dep in whateverable and it should be fine
hey patrickb, you have a message: gist.github.com/67e9aa965be37cfe59...514a8ebf24
10:57 Altai-man_ left
sena_kun o/ 10:57
Kaiepi m: my ($a, $b, @c) = "no_op :confprog".split(/\s+/); say $a, " ", $b, " ", @c 11:52
camelia no_op :confprog [g]
Kaiepi where's the g in @c coming from?
MasterDuke bisectable6: old=2020.05.1 my ($a, $b, @c) = "no_op :confprog".split(/\s+/); say $a, " ", $b, " ", @c 11:54
bisectable6 MasterDuke, Bisecting by output (old=2020.05.1 new=219199b) because on both starting points the exit code is 0
MasterDuke, bisect log: gist.github.com/8882a9106335b03420...ed7fd97a6d
MasterDuke, (2020-06-06) github.com/rakudo/rakudo/commit/9c...809b506f73
MasterDuke lizmat: ping ^^^ 11:55
sena_kun Kaiepi, can you please create a rakudo ticket?
Kaiepi sure
lizmat m: dd "no_op :confprog".split(/\s+/) 11:58
camelia ("no_op", ":confprog").Seq
lizmat Kaiepi: ^^ is that what you expect ?
Kaiepi i think that's what it should be
lizmat that's what it is... but somehow the last char of the string winds up in @c weird 11:59
Kaiepi tools/update_ops.p6 in moarvm is failing for me, that line in particular in src/core/oplist doesn't seem to get parsed right
lizmat yes, please a ticket: I'll look at it after the RWN
ShimmerFairy m: my ($a, $b, @c) = "no_op :confprod".split(/\s+/); say $a, " ", $b, " ", @c 12:03
camelia no_op :confprod [d]
ShimmerFairy just wanted to make sure it really was taking the last character instead of just grabbing a 'g' from somewhere
lizmat m: my $i := "a b".split(/\s+/).iterator; dd $i.pull-one for ^3 # pull-one seems to work ok 12:05
camelia "a"
"b"
IterationEnd
jnthn What about push-all?
lizmat m: "a b".split(/\s+/).iterator.push-all(my $b := IterationBuffer.new); dd $b # ok as well
camelia ("a", "b")
ShimmerFairy m: my ($a, $b, $c) = "no_op :confprod".split(/\s+/); say $a, " ", $b, " ", $c
camelia no_op :confprod (Any)
ShimmerFairy @c has to be an array var, it seems 12:06
lizmat I think it *could* be that the iterator is called once *after* it has returned IterationEnd
which would be a breach of contract 12:08
the old iterator guarded against that, I think
anyways... will look more in depth later
timotimo sena_kun: any particular reason to deploy cro rather than a fully static site? 12:33
sena_kun timotimo, for docs or for examples? For docs: 1)better search without shipping a huge json; 2)easy ability to add checkboxes for serving e.g. 6.c, 6.d, 6.e docs, or having a light and dark color theme, more customization without huge urls; 3)easier serving of cross-pages (like docs.raku.org/routine/tail)... There are downsides, of course. 12:38
timotimo thinking only of examples at this moment 12:39
i guess with the right design for the routes, setting up a http cache with days worth of expiration time could be doable 12:41
will want to survive the inevitable slashdotting when one of the examples is deemed "ridiculous" by some community somewhere and suddenly thousands of people want to check it out at once 12:42
sena_kun timotimo, for examples: easier updates, I'd say. You can just throw in more examples and they will be served instead of re-generating everything or creating a rather complicated caching as was done with docs. And cro can be behind nginx with caching as well, so it is not like we are picking one over another.
AlexDaniel github.com/Raku/doc/issues/2906#is...-512984314 github.com/Raku/doc/issues/1246
I think there were more
sena_kun Yeah, just wanted to post those urls, AlexDaniel++ for beating me to it. 12:43
I mean, you can technically add more and more things on top of serving static files, of course. 12:44
ShimmerFairy When it comes to standard-specific information (like v6.c vs v6.d), I will always love the way en.cppreference.com handles marking things for different C and C++ standards. 12:45
sena_kun github.com/Raku/doc/issues/2910
github.com/Raku/doc/issues/2929
That might be a nice solution, compared to having a distinction as java, python docs do with different versions. Still, we don't have a unified UI for this and right now it boils down to people writing "Added in 20XX.XX" alike notes. 12:48
AlexDaniel ShimmerFairy: can you elaborate? Is it just notes like (C++20) ? 12:49
because yeah, that's exactly what people are doing right now 12:50
except that there's no unification and no styling
ShimmerFairy Yeah, it's those markers they put next to function signatures. The really nice thing is when parts of sentences are wrapped up in a box with the tag next to it, makes it really easy to tell what applies when.
AlexDaniel I like it. Simple.
ShimmerFairy If Pod support was up to speed, then you could write modules that'd let you do things like This function M<std:until-6.d|takes no arguments> M<std:since-6.d|takes 1 argument>. 12:51
AlexDaniel example here: docs.raku.org/language/unicode#Ent..._sequences 12:52
or: docs.raku.org/routine/ready 12:53
12:54 Altai-man_ joined
Altai-man_ I am assuming the focus is changing from "A plan to revive examples (and get a new UI for docs for free)" to "A plan to improve docs with new UI and extend it to provide sections with examples, cookbooks and such (eventually abandoning examples repo)". 12:54
ShimmerFairy In general I think cppreference gets it right with documenting a language (especially one specified with the mountain of legalese that ISO regularly produces) 12:55
12:56 sena_kun left
ShimmerFairy I think the general focus is "present examples that aren't hyper-focused on one method/sub/etc.", whatever direction that takes. 12:56
12:57 Altai-man_ is now known as sena_kun
lizmat notable6: weekly 13:21
notable6 lizmat, 4 notes: gist.github.com/c1edb9687e6028dd98...159c99e6c1
13:26 mst left, mst joined
sena_kun lizmat, noting just to make sure, please don't include the examples thing in the weekly if you plan to. 13:26
13:30 mst left
lizmat I won't 13:30
13:30 mst joined, mst left, mst joined
jnthn greppable6: |@ 13:31
13:31 greppable6 left
jnthn o.O 13:31
13:32 greppable6 joined
AlexDaniel y5 13:32
greppable6: |@
jnthn: that's an interesting failure mode for sure…
13:32 greppable6 left
jnthn Too many results, maybe? 13:33
AlexDaniel it has some protections against that
[email@hidden.address] Main process exited, code=killed, status=9/KILL
greppable6: |@
tellable6 AlexDaniel, I'll pass your message to greppable6
AlexDaniel eh
jnthn: it's probably eating so much memory that the bot is just killed 13:34
13:34 greppable6 joined
AlexDaniel greppable6: |@ 13:34
13:35 greppable6 left
AlexDaniel yep, that's what happens 13:35
13:35 greppable6 joined
jnthn Ah, OK 13:35
AlexDaniel so too many results indeed, but in a weirdly bad way :)
jnthn greppable6: |% 13:36
Wonder if that's just as bad
AlexDaniel jnthn: probably, that's a perl5 regex btw
13:36 greppable6 left
AlexDaniel so |% is what, empty string or % ? I'm not sure 13:36
jnthn ah, I was wanting it literally :)
13:38 greppable6 joined
jnthn Curiously, CORE.setting has many more instances of flattening named args than positional ones 13:39
lizmat jnthn: that;s because we cannot dispatch on an empty %_ 13:40
jnthn Well, the properly seems true of modules too (though not for that reason) 13:41
MasterDuke greppable6: \|(@|%) 13:42
greppable6 MasterDuke, 2406 lines, 366 modules: gist.github.com/104ae9f26b8c810338...cb7736da14
tellable6 2020-06-15T13:33:46Z #raku-dev <AlexDaniel> greppable6: |@
jnthn Thanks, that's quite inteersting. 13:47
Of course, hard to tell from some of the code I'm seeing what kind of morphic it is 13:48
But I suspect polymorphism is represented much more often in flattening callsites than in non-flattening ones 13:49
However, megamorphic ones seem to be in a relative minority
In many cases where named ones are used for options, there's a small set of possible options in the context they're being used 13:50
Often, potentially, an empty set
It also seems quite a few of the positional ones are a variable, but relatively small, number of arguments 13:51
I suspect there's quite a few polyvariant cases in those that actually are megamorphic...there's seemingly little literature about this. 14:00
(That is, the actually callsite is megamorphic, but if you were to analyze it by caller, it would not be.) 14:01
*actual
lizmat notable6: weekly reset 14:24
notable6 lizmat, Moved existing notes to “weekly_2020-06-15T14:24:03Z”
14:31 MasterDuke left 14:36 mst left, mst joined 14:52 MasterDuke joined 14:54 Altai-man_ joined 14:56 patrickb left 14:57 sena_kun left 15:04 patrickb joined
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/06/15/2020-...proaching/ 15:14
[Coke] wonders if he's going to miss the cloud conference having already dropped the 10 bucks. :) 15:15
lizmat the 10 bucks are well spent anyway :-) 15:27
[Coke] oh, absolutely.
nine So, I've managed to rebase the now 4.5 years old precomp-singleprocess branch onto master and it looks like I've gotten pretty far the last time I've worked on it. 15:43
Getting errors in make test like "P6M Merging GLOBAL symbols failed: duplicate definition of symbol SubtestsSkipped" 15:44
I think I know what's happening though: SubtestsSkipped is actually X::SubtestsSkipped, i.e. an exception class, so it gets put into the setting's X package. If that setting is the same that's used in the program that started the precompilation, we find the symbol already there when merging globals from the loaded module after precompilation 15:46
Geth rakudo: 077300c56c | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Iterator.pm6
Make sure push-all doesn't push when exhausted

Fixes R#3758. The sample code would call "pull-one" twice, and then call "push-all" to fill the array. A next call to "pull-one" would have returned an IterationEnd. The push-all did not account for the situation where the iterator was basically exhausted, but had not seen an IterationEnd yet. I wonder how many other iterators suffer from this shortcoming. But that's for another day.
15:55
linkable6 R#3758 [open]: github.com/rakudo/rakudo/issues/3758 [BLOCKER][regex][regression] Strange issue with assignments to Str.split's return value
roast: b4ff353c95 | (Elizabeth Mattijsen)++ | S32-str/split.t
Add tests for R#3758
15:59 mst left, mst joined
lizmat afk for a few hours& 16:01
16:38 patrickb left 16:53 MasterDuke left 16:55 sena_kun joined
jdv79 [Coke]: why you missing? 16:56
16:57 Altai-man_ left
[Coke] jdv79: ? 17:04
oh, the conferene. I didn't schedule any time off from work
jdv79 i normally watch the videos at work as soon as they are avail... 17:15
you can't chew bubblegum and walk at the same time?;)
nine Ok, using a terrible hack to convince MoarVM to load the setting again (even if it's already loaded) shows that this isn't a path to follow. A comp unit has dependencies which are identified by an SC ID (usually a SHA1), so while a setting or module may get loaded again and live separately, when looking up a dependency we will still confuse it with already loaded ones 17:30
17:44 JRaspass joined 18:14 mst left, mst joined 18:52 MasterDuke joined 18:54 Altai-man_ joined 18:57 sena_kun left
releasable6 Next release in ≈4 days and ≈23 hours. 1 blocker. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 19:00
19:37 lichtkind joined 19:52 lichtkind left
Geth nqp: 1bb332ecd5 | (Elizabeth Mattijsen)++ | src/QRegex/Cursor.nqp
Attempt to document NQPMatchRole attributes

With the emphasis on attempt: any additional information / fixes / elaborations would be very welcome.
20:06
nine It may be that simply ignoring the duplication definition of symbol error will be the way to go. 20:26
When I do that I even get native call tests to pass which requires several nested precompilations. And on a repeated run it loads the precompiled files and works without error. The catch is that it records a dependency on the script that caused the precompilation to happen first 20:29
So the next task is to find out which object gets put into the precomp file that's dragging in this dependency.
jnthn nine: Any measurements on how much time it saves? 20:30
nine Not yet. Those unwanted references make it hard to get to the interesting programs with large numbers of dependencies 20:35
timotimo any reason we can't build something much like the heap snapshot dumper but for serialization?
Geth rakudo: f11d750844 | (Elizabeth Mattijsen)++ | src/core.c/Match.pm6
Copy comments of NQPMatchRole to Match

No functional changes, just adding some documentation for core developers.
20:36
20:40 mst left, mst joined 20:55 sena_kun joined
nine timotimo: well I'm gonna need some tool to uncover this. The question will be what tool exactly? 20:56
20:57 Altai-man_ left
jnthn Would a heap snapshot not help, in that you can see what objects reference which others? 21:02
And see what an SC references
In principle I guess one could build something that gives the path from an SC to an object, if one exists
21:03 lichtkind joined
Geth roast: 0cdb45466f | (Christian Bartolomäus)++ | S04-statements/loop.t
[JVM] Skip failing test

With an upcoming change the failure mode for this test will change to aborting. Since the test didn't work for the JVM backend anyway it seems tolerable to skip it for now.
21:05
timotimo true, the incidents of an SC object could be a good first step?
22:54 Altai-man_ joined 22:57 sena_kun left 23:07 JRaspass left