00:04 pamplemousse left 00:06 pamplemousse joined 00:34 patrickz left
Geth rakudo/hyper_codegen: 5adcc7ce47 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp
put a comment because docs are good
01:06
rakudo/hyper_codegen: 371a093cec | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp
initial impl of .reverse support
01:48 MasterDuke left 03:44 pamplemousse left 03:56 hungrydonkey joined 04:58 hungrydonkey left 05:20 hungrydonkey joined 05:33 hungrydonkey left 06:56 robertle joined 07:35 MasterDuke joined
MasterDuke hm. nqp can't do multis on scalar vs array? 08:39
08:48 jjmerelo joined
timotimo nqp doesn't have scalars :D 08:51
MasterDuke yeah. i'm "manually" creating multis instead. just functions with different names 08:56
lizmat Files=1305, Tests=111264, 215 wallclock secs (28.86 usr 8.02 sys + 3005.76 cusr 276.56 csys = 3319.20 CPU)
09:04 jjmerelo left
[Tux] Rakudo version 2020.05-50-gd7ce52bfc - MoarVM version 2020.05-8-ga48790029
csv-ip5xs1.070 - 1.098
csv-ip5xs-209.227 - 9.526
csv-parser24.816 - 24.858
csv-test-xs-200.386 - 0.389
test7.618 - 7.710
test-t1.891 - 1.907
test-t --race0.994 - 0.997
test-t-2031.935 - 32.697
test-t-20 --race9.877 - 10.059
09:16
timotimo i forgot the exact details, but nqp supports multi methods that differentiate on just one argument? or only the first argument? 09:30
09:41 jjmerelo joined
jjmerelo I just signed up for the Codespaces beta, by GitHub. I included "Raku" as the language I use. 09:47
tellable6 2020-05-07T21:38:01Z #raku-dev <AlexDaniel> jjmerelo: and yes, please, let's redirect docs.perl6.org/
AlexDaniel jjmerelo: yeah what about that
jjmerelo Here's the link github.com/features/codespaces
AlexDaniel if enough of us request it, maybe it will eventually be included. 09:48
AlexDaniel jjmerelo: no I mean the redirect
jjmerelo: hello? 09:53
jjmerelo: can we redirect the docs to raku.org domain?
jjmerelo AlexDaniel I don't have access to the DNS. I can create a top-level redirect in the .htaccess file 09:54
AlexDaniel jjmerelo: why didn't we do it in the first place?
jjmerelo Because plans github.com/Raku/doc/issues/2983 09:55
Wait, not those plans 09:56
github.com/Raku/doc/issues/3046 09:57
"perl 6" is almost totally flat as a search term trends.google.es/trends/explore?ge...erl%206%22 09:59
So I guess it's about time.
Still, it's more efficient to do a DNS redirect than a http redirect, and I can't do that. 10:00
I'll email rba
10:05 Altai-man_ joined
AlexDaniel good. 10:05
.tell rba colabti.org/irclogger/irclogger_lo...-05-08#l41
tellable6 AlexDaniel, I'll pass your message to rba
nine jjmerelo: I don't think that Google link tells us anything. For one it's restricted to Spain. More importantly it shows a steady interest in Raku for the past 5 years with no change whatsoever by our language rename 10:06
So really you're measuring interest in Perl 6 versus pottery. A comparison that doesn't make us look all that good... 10:07
jjmerelo nine that's right. So, well, I don't know. 10:08
My intention with all this was not to lose targets for the search "perl 6" while gathering some for "raku" 10:09
nine Yeah, never throw away search engine mojo
jjmerelo Exactly.
But now, it's a toss up
Searches for "perl 6" still return docs.perl6.org pages 10:10
Searches for "raku" return both.
If we redirect ones to the other, we really need to make sure that perl 6 is somewhere, because we'll be penalyzed if we don't 10:11
So, for instance here www.google.com/search?client=ubunt...p;oe=utf-8
AlexDaniel all I see is that it links to the old version of our docs
the one we no longer update 10:12
jjmerelo There's no .raku.org page anywhere. Just imagine that all of a sudden all docs.perl6.org become docs.raku.org
nine That's definitely an issue
jjmerelo Then Google, in all its infinite wisedom (wiseness?), slams all .raku.org pages down _together with perl6.org pages_ 10:13
That's what I'm afraid of
the problem is that if by now raku.org pages are not higher up in there, they're never gonna be
AlexDaniel but there's a note in every one of those pages pointing to the new version, and saying it's deprecated 10:14
I have personally edited many questions and answers in stackoverflow.org to make sure they point to the new pages.
It's probably a good idea to do the redirect now. 10:15
But along with it it's probably a good idea also to check out our raku pages and see that they become a good search target if people look up "perl6"
AlexDaniel surely they'll never be there because I keep clicking on perl6 links all the time
jjmerelo Which they are not now...
I mean, SEO is an arcane art.
But so arcane that it might bite you in the backside if you are not careful 10:16
AlexDaniel rba: TL;DR “It's probably a good idea to do the redirect now.”
10:16 sena_kun joined
jjmerelo I'm anyway opening an issue to see if we juice up the docs for the "perl 6" query 10:18
We have tried to so completely erase it, that we might have gone a bit too far, search-engine wise
10:18 Altai-man_ left
jjmerelo Please help 10:24
github.com/Raku/doc/issues/3377 10:25
lizmat could we add "perl6" to the meta of all doc pages ?
lizmat has little current SEO knowledge
jjmerelo lizmat I think we do already, but let me check 10:33
lizmat um no we don't. Good catch. 10:37
10:47 MasterDuke left
nine I'd be surprised if search engines paid any attention to meta tags 10:49
jjmerelo nine it's the only thing we have control over... 10:58
Also, I'm moving github.com/perl6/Pod-To-HTML to the Raku organization. Is it OK for everyone? 10:59
lizmat jjmerelo: +1 11:03
jjmerelo nine they use now BART natural language models and things like that, so they've probably figured out that raku language === Perl 6 11:04
Anyway, site meta data help...
Geth rakudo: 9f7c9278e7 | (Elizabeth Mattijsen)++ | src/core.c/Supply-coercers.pm6
Add Supply.rotate

For consistency: should be "lazy" for positive values of rotation.
11:05
rakudo: 0ca0f58722 | (Elizabeth Mattijsen)++ | src/core.c/Supply-coercers.pm6
More effective way of handling different rotation values
11:11
AlexDaniel sourceable6: <a b c>.rotate() 11:18
sourceable6 AlexDaniel, github.com/rakudo/rakudo/blob/0ca0....pm6#L1139
robertle lizmat: in case you didn't see my message yesterday: I have a first sketch of the content store we taked about: github.com/robertlemmen/svc-shelve6 11:29
lizmat robertle: didn't miss it, but it did fell through the cracks... will look at it later today
robertle no worries 11:31
AlexDaniel robertle: don't know if it's of any use for you, but see also crai.foldr.nl/
robertle AlexDaniel: will investigate, looks interesting! thanks 11:32
working on zef and authentication now
AlexDaniel chloekek: colabti.org/irclogger/irclogger_lo...05-08#l111
tellable6 AlexDaniel, I'll pass your message to chloekek
robertle regarding the SEO: I have no idea about any web stuff, but at work we had a problem with a rebranding, where google down-rated us because the different domains with the same content made it look like link farming. 11:33
AlexDaniel yeah
robertle we had to add some html meta info, I think it's this: moz.com/learn/seo/canonicalization 11:34
AlexDaniel just adding a redirect should be ok too
robertle is anyone looking at the statistics from google itself? I guess so... 11:35
11:37 MasterDuke joined 12:15 Altai-man_ joined 12:18 sena_kun left 12:22 bloatable6 left, bloatable6 joined 13:10 jjmerelo left 13:39 pamplemousse joined 13:44 sivoais left, sivoais joined
MasterDuke are there a couple .rotate related tests currently expected to fail? 14:07
14:17 sena_kun joined 14:18 Altai-man_ left
lizmat no? 14:23
MasterDuke: not if you have an up-to-date roast, that is
MasterDuke oh, i think i just don't have your latest rakudo commits 14:49
Geth nqp: 4da1580a6d | (Patrick Böker)++ | Configure.pl
Document `--relocatable` flag

Fixes #627
14:50
linkable6 NQP#627 [closed]: github.com/Raku/nqp/issues/627 Document the --relocatable option in Configure.pl
15:19 jjmerelo joined
Geth rakudo: patrickbkr++ created pull request #3675:
Azure pipelines
15:19
15:28 guifa2 left 16:16 Altai-man_ joined 16:19 sena_kun left 16:47 finsternis joined
Geth roast: 778aef723c | (Elizabeth Mattijsen)++ | 2 files
Add tests for Supply.rotate
16:48
jjmerelo robertle I didn't know about that link. If you do a redirect do you need to add it too? 17:35
robertle I have just looked at google trends.
17:58 patrickb joined
patrickb ping vrurg 18:03
vrurg pong? 18:04
patrickb Hi :-) 18:05
I'm hunting another build system bug 18:06
vrurg Hi! :)
patrickb the config var static-rakudo-home is set in $config (so backend unspecific), but needs to be set to '' on moar when doing a relocatable build.
That variable is interpolated in main-version.in 18:07
That's backend unspecific.
github.com/rakudo/rakudo/blob/mast...do.pm#L163 18:09
^ That's the evil line that is giving me headaches.
vrurg patrickb: override it in configure_moar_backend method. Set in $imoar which is {impls}{moar} 18:10
patrickb vrurg: That's already happening: github.com/rakudo/rakudo/blob/mast...do.pm#L350 18:12
vrurg hm, actually, it is set already, line 349
Aha
patrickb AFAIK the problem is that main-version.in is backend unspecific
vrurg patrickb: we have to make it backend-specific then, if it has to be different for moar. 18:13
patrickb I'm not sure about that anymore. 18:14
vrurg But not all of it.
patrickb Maybe it's just a mistake to set it unconditionally.
I can just set it to '' if it's a relocatable build globaly
vrurg No. If it's a backend-related condition – then it belongs to configure_<backend>_backend. No exceptions. 18:15
We just need to find out a best way to make individual main-version per backend. 18:16
patrickb I'm not sure it's a backend-related condition.
vrurg Why so? As long as you say it is for moar only.
18:17 sena_kun joined
patrickb Relocatable builds should never need a static-rakudo-home. 18:17
Currently 'static-rakudo-home' is set to a specific path unconditionally in global context. I'm not sure what I was thinking... 18:18
18:18 Altai-man_ left
vrurg Ok, but we do have the variable in hllconfig already. If it's not relevant we could keep it empty. Or we totally remove it hoping that nobody else started using it. 18:19
patrickb We need it in the non-relocatable case
So it's not wrong to have it in hll-config
vrurg Then relocatable case will have it but empty. 18:20
patrickb Yes. That's how I intended it.
github.com/rakudo/rakudo/blob/mast...in.nqp#L35 18:21
vrurg Let's clearly define for ourselves first: what is the right value of the variable? When does it get this value?
patrickb ^ Notice the || instead of // there
vrurg patrickb: || is fine and will play nice with '' for relocatables. 18:22
patrickb In non-relocatable builds it should be the path. In relocatable builds it should be ''.
From what I think this should always be true. Irrespective of backend. 18:23
vrurg Ok, what's the problem with setting it in configure_refine_vars? 18:24
patrickb I think none. 18:25
I guess my biggest problem is not remembering what I was thinking.
vrurg And, BTW, there is a risk of discrepancy here. because same variable is set globally and per-backend. So, if used in a moar template it might differ from what's used in hll_config.
patrickb Let this be a lesson to me to write better commit messages.
vrurg Oh, yes! Comments and commit message are our everything! :) 18:26
patrickb vrurg: I'll get rid of that. I suspect I wrote that code when I didn't yet understand the layering thing of our build system.
vrurg Understandable. It took me time to think it out in first place because it had to cover the layers of the build system. 18:27
patrickb vrurg: I think we hit the problem of backend specific stuff in main-version.in with the static-nqp-home variable. 18:30
That variable is really backend specific (one could have a non relocatable JVM and a relocatable Moar in the same build). 18:31
But it's also part of the hll-config.
How would I go about fixing that? Just duplicating main-version.in into the backend template folders? 18:32
AlexDaniel patrickb: btw, why don't we do --relocatable by default?
patrickb: what's the downside?
patrickb AlexDaniel: It's not supported on OpenBSD and AIX. So making it the default would be a half backed solution.
vrurg patrickb: No need to duplicate it. Just make the generation of main.nqp backend specific. In this case the variable will be looked up in a backend layer first.
patrickb I do that by moving the make rule that does the generation to the backend specific Makefile.in files? 18:33
timotimo whoa, when did a "my" become state-like inside -ne or -pe?
vrurg And the inclusion macro finds a template in the common directory if it's missing in backend's one. 18:34
patrickb: Yes, just moving should be sufficient.
patrickb OK. I'll give it a try. Thank you for thinking this through with me.
vrurg patrickb: you're always welcome! 18:35
timotimo bisectable6: say run <<perl6 -ne '(my $i)++; END say $i'>>, :in((^20).join("\n")) 18:36
bisectable6 timotimo, Bisecting by output (old=2015.12 new=0ca0f58) because on both starting points the exit code is 0
timotimo, bisect log: gist.github.com/9d7fd5a1f0e82c3196...a7bab3c50a 18:37
timotimo, (2016-09-17) github.com/rakudo/rakudo/commit/c4...608041eb9b
timotimo did it wrong
patrickb vrurg: How is your stress level? I remember you writing you had no time at all for a couple of weeks? DId things calm down a bit?
timotimo committable6: my $p = run <<perl6 -ne '(my $i)++; END say $i'>>, :in((^20).join("\n")), :out; say $p.out.slurp() 18:38
committable6 timotimo, ¦my: «Cannot find this revision (did you mean “nom”?)»
timotimo committable6: HEAD my $p = run <<perl6 -ne '(my $i)++; END say $i'>>, :in((^20).join("\n")), :out; say $p.out.slurp()
committable6 timotimo, ¦HEAD(0ca0f58): «(Any)␤␤»
AlexDaniel timotimo: you can't :in like that
timotimo aw 18:39
AlexDaniel timotimo: spurt it into /tmp and give it an IO
timotimo committable6: HEAD my $p = run <<perl6 -ne '(my $i)++; END say $i'>>, :in, :out; $p.in.say($_) for ^20; $p.in.close(); say $p.out.slurp()
committable6 timotimo, ¦HEAD(0ca0f58): «20␤␤»
timotimo bisectable: my $p = run <<perl6 -ne '(my $i)++; END say $i'>>, :in, :out; $p.in.say($_) for ^20; $p.in.close(); say $p.out.slurp()
bisectable6 timotimo, Bisecting by exit code (old=2015.12 new=0ca0f58). Old exit code: 1
timotimo oops?
vrurg patrickb: No changes so far. Preparing for my talk at TPCiC.
timotimo committable6: 2018.01 my $p = run <<perl6 -ne '(my $i)++; END say $i'>>, :in, :out; $p.in.say($_) for ^20; $p.in.close(); say $p.out.slurp() 18:40
committable6 timotimo, ¦2018.01: «20␤␤»
timotimo committable6: 2017.10 my $p = run <<perl6 -ne '(my $i)++; END say $i'>>, :in, :out; $p.in.say($_) for ^20; $p.in.close(); say $p.out.slurp()
committable6 timotimo, ¦2017.10: «20␤␤»
vrurg patrickb: but a GIF at github.com/vrurg/raku-Vikna shows a bit of what I have already. :)
patrickb vrurg: Well, that at least sounds like a fun thing to do.
bisectable6 timotimo, bisect log: gist.github.com/72492d043bde332860...3b24771d3c
timotimo, (2017-04-12) github.com/rakudo/rakudo/commit/f1...d3da367351
patrickb What's the topic?
timotimo oh did i get the command wrong perhaps? because i used << >> and a $i in there?!
AlexDaniel timotimo: slurp-rest is the thing I think
patrickb Ah! Your event based console library!
vrurg patrickb: it is.
AlexDaniel timotimo: run <perl6 -ne>, 「(my $i)++; END say $i」 18:41
timotimo sorry for the noise; has this really always worked like that?
AlexDaniel committable6: 6c my $p = run <<perl6 -ne '(my $i)++; END say $i'>>, :in, :out; $p.in.say($_) for ^20; $p.in.close(); say $p.out.slurp-rest()
committable6: 6c my $p = run <perl6 -ne>, 「(my $i)++; END say $i」, :in, :out; $p.in.say($_) for ^20; $p.in.close(); say $p.out.slurp-rest()
vrurg patrickb: And I finally have the basics, can do testing. Today start with basic documentation – and then it is time to make a presentation, eventually.
committable6 AlexDaniel, gist.github.com/b1f582775d2723c160...8026671751
AlexDaniel, gist.github.com/bb91750db8918ed91e...53385d2ff8 18:42
patrickb vrurg: I'm really looking forward to it!
AlexDaniel bisect: my $p = run <perl6 -ne>, 「(my $i)++; END say $i」, :in, :out; $p.in.say($_) for ^20; $p.in.close(); say $p.out.slurp-rest()
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=0ca0f58) because on both starting points the exit code is 0
timotimo 2016.08 seems to be the first release with it
bisectable6 AlexDaniel, bisect log: gist.github.com/52ab151b1683ac1229...9ec792cd6c
AlexDaniel, (2016-08-03) github.com/rakudo/rakudo/commit/5e...b2b9ba3a30
vrurg patrickb: the biggest thing: there is no native lib backing it. Pure Raku and nqp::ops at few critical places. 18:43
AlexDaniel timotimo: so what should be the right answer? :)
timotimo: both feel a bit wrong to me
patrickb vrurg: So there is no ncurses backing this? 18:44
timotimo it'd be kind of cool not to have to use state definitions in -ne and -pe 18:45
vrurg patrickb: no. I'm currently using Terminal::Print for basic ANSI sequences, but hope to get it fully implemented by a screen driver at some point.
vrurg is away but pingable.
patrickb vrurg: The make rule for main-version.nqp is in Makefile-backend-common.in which is included in the backend-specific makefiles. Does that mean, that it's already evaluated in the backend specific context? 18:58
vrurg patrickb: yes. 19:00
MasterDuke m: use nqp; BEGIN { say $*W.find_symbol(nqp::list("Bool", "True")) }; say "hi"
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
5===SORRY!5=== Error while compiling
Cannot find method 'shift' on 'BOOTArray': no method cache and no .^fin…
MasterDuke m: use nqp; BEGIN { say $*W.find_symbol(nqp::list("Bool")) }; say "hi"
camelia (Bool)
hi
patrickb vrurg: OK. Then it's already fine. Thanks!
MasterDuke how do i get ^^^ to work with more than one thing?
vrurg patrickb: welcome and good luck! :)
19:14 jjmerelo left
patrickb .tell nxadm There is a decent possibility that the 2020.05 release broke relocatability. See here: github.com/rakudo/rakudo/issues/3669 19:18
tellable6 patrickb, I haven't seen nxadm around, did you mean nadim?
patrickb .tell El_Che There is a decent possibility that the 2020.05 release broke relocatability. See here: github.com/rakudo/rakudo/issues/3669
tellable6 patrickb, I'll pass your message to El_Che
patrickb .tell El_Che I tested this on windows and it's definitely broken. Changes are high it's also broken on non-windows. I'm working on a fix. 19:20
tellable6 patrickb, I'll pass your message to El_Che
Geth rakudo: 46648b9b32 | (Patrick Böker)++ | tools/lib/NQP/Config/Rakudo.pm
Fix relocatable builds on the moar backend

For relocatability to work the config variable `static_rakudo_home` needs to be empty. It defaulted to the build time rakudo home path globally. Later on a MoarVM specific config variable with the same name was set to empty assuming it would overwrite the global variable. But that's not the case. In backend specific templates the empty ... (10 more lines)
19:37
20:16 Altai-man_ joined 20:18 sena_kun left 20:21 patrickb left 20:31 pamplemousse left
MasterDuke timotimo: any idea how to call $*W.find_symbol with a multi-element list in a BEGIN block? 20:33
jnthn MasterDuke: Probably by passing it nqp::list('Foo', 'Bar') 20:34
MasterDuke m: use nqp; BEGIN { say $*W.find_symbol(nqp::list("Bool", "True")) }; say "hi"
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
5===SORRY!5=== Error while compiling
Cannot find method 'shift' on 'BOOTArray': no method cache and no .^fin…
jnthn Ah, it wants it to be a real NQP array, apparently 20:35
Not quite sure how to get at one of those, other than finding one you can reach and making a new instance of it.
Why are you doing this? :) 20:36
MasterDuke well, i added a new find_single_symbol() that only takes a string (since most calls to find_symbol are with single-element lists)
but want to benchmark it 20:37
ot
it's 0.1s faster for 1m calls when there is in fact just a single element. but i also want to check that my changes to find_symbol haven't made it slower for the multi-element case 20:38
20:38 cognomin_ joined
MasterDuke m: use nqp; BEGIN { my $w := $*W; my $a; $a := $w.find_symbol(nqp::list("Bool")) for ^1_000_000; say $a; say now - ENTER now }; say "hi" 20:39
camelia (Bool)
2.05817767
hi
MasterDuke ^^^ is what's 0.1s faster on my machine (and 1m fewer instructions according to callgrind)
20:41 cognominal left 22:17 sena_kun joined 22:18 Altai-man_ left 22:23 cognominal joined 22:26 cognomin_ left