nine [ 87s] push_o requires a concrete object (got a ThreadPoolScheduler::Queue type object instead) 07:49
tellable6 2020-02-06T20:33:34Z #raku <[Coke]> nine same as github.com/Raku/doc/issues/2896
hey nine, you have a message: gist.github.com/aa579f52bb7ccefbb5...a0c2aff40f
nine build.opensuse.org/package/live_bu...eed/x86_64 07:49
[Coke]: why does this Build.pm6 copy any files at all? Any static files the module ships are resources and must be listed in META6.json's resources section. The installer will then import them into the repository. 07:56
Geth rakudo: dumarchie++ created pull request #3463:
Box result of nqp::time_n() in DateTime.now
12:11
jnthn Interesting...I ended up putting in `auth` in my META6.json something like "Foo [email@hidden.address] and then it gets installed unversioned (discovered because I incremented the version number and it claimed I was installing the same thing). 13:00
Not sure if this is something going on at Rakudo level or zef level?
[Coke] nine: that code is very old, relatively. 13:48
nine Proper handling of ressources has been there for 4 years now. 13:50
[Coke] yah, this looks like it's from '14. 13:52
Thank you for the tip, I'll see if I can fix it. 13:53
patrickb ping rba 14:05
[Coke] nine - looks like when you run p6doc the first time, it tries to build an index for later use. I assume we're going to want to do that at install time, not at first run time. 14:17
nine definitely 14:19
rba patrickb: ping back 14:20
nine A good assumption is that after installation you're never ever allowed to write to the file system again. After all it's a doc _reader_
patrickb rba: patszim.volans.uberspace.de/patclo...EJLQDZcjbf now contains a rakubrew-1.tgz with a new release. Can you put them on rakubrew.org? 14:23
rba patrickb: I'm doing it right now.
patrickb :-) Thanks! 14:24
[Coke] nine: :)
My biggest concern is that we will have to manually update META6.json with our list of doc files to install. (but we can write a test for tit.)
*it
rba patrickb: I put the 1 into the release directory. May you please let me know what you're testing now? 14:27
patrickb: 1=v1 ?
patrickb rba: Looking good. :-)
Yes
The website already shows it at the top 14:28
nine: Did you see my comment on this PR: github.com/MoarVM/MoarVM/pull/1228
rba patrickb: Is this just a incremented version based on the directories?
patrickb rba: Yes. It determines the version number based on the directory name. 14:29
So each new version will be a new directory with the number increased.
nine patrickb: oh...yes, makes sense
patrickb rba: Is there some way I can put the release fiels on the server myself? 14:36
rba patrickb: I'm working on this. rakubrew.org is my pilot project, where I try to manage all with the docker containers. This needs some more work from my side, which I hope to do in the next few weeks. 14:39
patrickb: I guess I will try to sync the docker volume which contain the persistent data for the container. Alternatively we can glue the data in a container as well. 14:40
patrickb Can you do another upload in 15 minutes or so? 14:41
[Coke] looks like we still have to move stuff around. now instead of trying to fake moving doc into lib/, we have to actually move doc files in resources/ 14:45
nine [Coke]: pardon my ignorance about how p6doc works, but why not have the files live in resources in the first place? 14:52
rba Patrickb: sure 14:57
patrickb Upload just finished. There should now be a rakubrew-2.tgz on that uberspace site 14:58
rba patrickb: Will be back in front of my notebook in 30 mind. 14:59
[Coke] nine: yup, that's possible. Just trying to get one single file to install and work and then will clean it up. 15:02
I don't think resources/ existed at the time.
nine Sounds like p6doc really needs a do-over to arrive in the post 6.c release time 15:03
Also explains why I feel like p6doc is always trying to fight the system instead of using it
[Coke] have a bin that is just dd'ing %?RESOURCES - it returns Nil both installed and locally. 15:05
[Coke] tries to do a zef uninstall and not just install over the existing install to see if that helps 15:06
nine %?RESOURCES is not a Hash
But it also shouldn't just be Nil if you have resources defined in your META6.json 15:07
[Coke] ah, you have to know the specific resource you're asking for?
I do have a single resource in META6.json, yes. 15:08
nine It's a Distribution::Resources object
[Coke] I am still getting Nil, though.
heh. the docs in language/modules specifically say: "through the %?RESOURCES Hash" 15:10
nine docs are wrong 15:11
[Coke] Yes, that's what I'm saying. 15:12
opened #3205
nine [Coke]: gist.github.com/niner/f83e07bd4f58...a922d0da57 15:15
[Coke] Do we have any docs somewhere on Distribution::Resources? (not mentioned in p6doc)
do you have to be in a module for %?RESOURCES to work? I was just dumping it from a bin/foo 15:16
nine yes
[Coke] Ok. 15:17
nine %?RESOURCES is NYI for scripts
Geth ¦ problem-solving: jnthn self-assigned The development experience around the generate-and-export pattern has shortcomings github.com/Raku/problem-solving/issues/159
[Coke] nine - thanks. now getting a non Nil value. 15:21
[Coke] nine -is there a way to install everything that's in resources/ ? Or do you have to list them out in the META6? 15:32
rba patrickb: rakubrew-2.tgz deployed. 15:38
patrickb rba: Thanks! 15:43
With that I'm now inviting everyone to give rakubrew a try and give feedback what works and what is broken: rakubrew.org/ 15:44
It should work on MacOS, Windows and about everything else that has perl installed.
nine [Coke]: no, they have to be listed 15:45
patrickb I'm especially interested in MacOS testers, as I don't own a MacOS machine to test myself. 15:46
[Coke] nine - cool. I have the bare minimum here that installs a single pod6 file in resources and then dumps it out based on %?RESOURCES. Should be able to use this as a basis to fix the installer. 15:47
Thanks for the help. I will no doubt have more questions later. :)
nine [Coke]: feel free :) I'm glad p6doc finally embraces our CompUnit::Repository overloads! 15:48
Geth rakudo: atroxaper++ created pull request #3464:
Make throws-like throw an exception on Bool:D matchers
16:12
roast: atroxaper++ created pull request #616:
Add tests for fails-like with Bool:D matcher
16:13
patrickb I just noticed that the install instructions for MacOS are wrong (they are the ones for linux). On MacOS one should instead do: `curl rakubrew.org/install-on-macos.sh | sh` 16:46
[Coke] nine: I do not represent p6doc any more, I guess. I'll see what I can do once I figure out what jj's roadmap is. 16:47
patrickb rba: You can update the rakubrew.org website at your convenience. There was a but in OS detection that made it show wrong instructions on MacOS machines. 16:50
I'm off for today. o/
[Coke] is there an easy way to remove all files installed with zef? I have a local p6 install, a zef on top of that, and want to just wipe everything so I can be sure I'm starting with a clean slate (trying to avoid having to re-install raku, but I can do that if it's the easiest) 17:43
[Coke] will just nuke everything for right now 17:45
nine [Coke]: rm -rf ~/.perl6 and $RAKUDO-INSTALL-DIR/share/site
[Coke] nine++ 17:46
rypervenche Or ~/.raku if you're on 2020.01 or later. 17:55
nine Wait, what?
[Coke] when I am running 'zef install', is it going to ~/.raku or $RAKUDO-INSTALL-DIR ? 17:56
I imagine switching that is going to break a lot of people who upgrade
nine Yep, that's a clear regression that slipped through :( 17:57
rypervenche Am I wrong? When I installed 2020.01 it defaulted to using ~/.raku, even though I had modules in ~/.perl6. I had to delete the newly-created ~/.raku and move ~/.perl6 to it to get my modules back.
nine Doesn't look like the change is intended even
It's part of a huge commit that replaced .perl calls with .raku 17:58
[Coke] Should we shoot for a point release? 18:27
And also we need to test that, apparently. :|
sena_kun well, this release is not cut as a rakudo star. the next release is in two weeks. 18:30
nine First we need to find a way to make this backwards compatible 18:31
sena_kun those who use latest probably can deal with the issue, so I'd say it is odd to ship a point and then ship a new one in two weeks
vrurg m: '().grep: True' 19:45
camelia WARNINGS for <tmp>:
Useless use of constant string "().grep: True" in sink context (line 1)
vrurg Is it only me considering this error message obscure?
Oh, wrong message... 19:46
m: 'say ().grep: True'
camelia WARNINGS for <tmp>:
Useless use of constant string "say ().grep: True" in sink context (line 1)
vrurg m: ().grep: True
camelia Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block?
in block <unit> at <tmp> line 1
vrurg ^ this one
[Coke] m: say 1 ~~ True 19:47
camelia Potential difficulties:
Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead
at <tmp>:1
------> 3say 1 ~~ 7⏏5True
True
[Coke] there's a related one
(in case there's verbage to steal)
vrurg [Coke]: Yours is much better, I know it. I wonder if it makes sense to change what grep reports. 19:52
Geth rakudo: 076ef98bdb | (Elizabeth Mattijsen)++ | src/core.c/DateTime.pm6
DateTime!new-from-positional doesn't need named parameters

It's fully internal, so we're in complete control, so we don't need the overhead of named parameters.
20:35
jnthn vrurg: Yes; anything ~~ True is always True, so such a grep is a no-op 20:53
Geth rakudo: ced67b83d9 | (Elizabeth Mattijsen)++ | src/core.c/DateTime.pm6
Move out-of-range reporting into a private method

  - to make the fast path smaller, better optimizable
  - makes DateTime.new a percent or so faster
20:56
[Coke] jnthn: does it make sense to unify those warnings? 21:06
jnthn [Coke]: Well, not directly, in so far as the value passed may be False, not True. 21:26
The "$_ in a block" is not really clear though
So there's something to be improved there
Also referencing smartmatch isn't immediately helpful, in so far as while it's true that's what grep uses, there's not a ~~ operator to be seen, and that's also liable to cause confusion 21:27
Geth rakudo: 578935e66a | (Elizabeth Mattijsen)++ | src/core.c/DateTime.pm6
Make DateTime.new(Str) about 30% faster

  - simplify the regex, only one level of captures
  - only call .subst when actually needed
  - bind instead of assign
21:43
Geth nqp: 1a5eb92ef1 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM to get the latest libuv
21:48
rakudo: 37b1be7e7c | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get latest libuv and some NQP fixes
21:56
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Move out-of-range reporting into a private method 22:19
travis-ci.org/rakudo/rakudo/builds/647509012 github.com/rakudo/rakudo/compare/0...d67b83d963
vrurg jnthn: '$_ inside a block' part is the most confusing, but I'm lacking terminology to re-word it. So far, the best one I came up with was 'Did you mean to use a boolean prefix op with $_?' But I don't like this one either. 22:25
lizmat weird: the travis page says all green ? 22:38
vrurg lizmat: I have restarted the failed task
it was a github-side fetch error. 22:39
dogbert11 m: say is-prime(-2) # new mathematical discovery 22:49
camelia True
lizmat m: use nqp; say nqp::isprime(-2) 22:50
camelia ===SORRY!===
No registered operation handler for 'isprime'
lizmat m: use nqp; say nqp::is-prime(-2)
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
prime used at line 1. Did you mean 'print', 'trim'?
lizmat m: use nqp; say nqp::is-prime_I(-2)
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
prime_I used at line 1
lizmat m: use nqp; say nqp::isprime_I(-2) 22:51
camelia ===SORRY!===
Arg count 1 doesn't equal required operand count 3 for op 'isprime_I'
lizmat m: use nqp; say nqp::isprime_I(-2,100)
camelia 1
lizmat hmmm
feels like a bug in the nqp::isprime_I implementation? 22:52
dogbert11 so you don't think it's an incredible discovery :)
lizmat eh... no... an unfortunate discovery? 22:53
or something very disco ?
lizmat realizes she need to get some sleep
afk&
dogbert11 yeah, perhaps a bisect might be in order
dogbert11 has his suspicions
lizmat bisectable6: say is-prime -2 22:54
bisectable6 lizmat, Bisecting by output (old=2015.12 new=37b1be7) because on both starting points the exit code is 0
lizmat, bisect log: gist.github.com/c86a1f988e16c125fd...34adfb5142
lizmat, (2020-02-05) github.com/rakudo/rakudo/commit/f8...e703777ba9
lizmat whee!
seems libtommath has found it, or our interface to it 22:55
.tell MasterDuke github.com/rakudo/rakudo/commit/f8...e703777ba9 made is-prime -2 return True
tellable6 lizmat, I'll pass your message to MasterDuke
lizmat really afk&
dogbert11 good night lizmat
jnthn m: say (-1 ... -10).map(*.is-prime) 22:56
camelia Error checking primality of a big integer: Value out of range
in block <unit> at <tmp> line 1
jnthn m: say (-1 ... -10).map(&is-prime)
camelia Error checking primality of a big integer: Value out of range
in block <unit> at <tmp> line 1
jnthn Curious
m: say is-prime -1
camelia False
jnthn m: say is-prime -2
camelia True
jnthn m: say is-prime -3
camelia Error checking primality of a big integer: Value out of range
in block <unit> at <tmp> line 1
jnthn At a first guess form that, it may be cheating by checking bit size and not paying attention to the sign bit. 22:57
dogbert11 the library?
jnthn Dunno :) 23:10
We don't check negatives here: github.com/MoarVM/MoarVM/blob/mast...ps.c#L1352 23:20
We only quickly check it's not 1
m: say is-prime -4 23:21
camelia ( no output )
jnthn No output?
m: say is-prime -4
camelia ( no output )
jnthn huh
m: say is-prime 4
camelia ( no output )
jnthn m: say "anything" 23:22
camelia ( no output )
jnthn Ah, it's busted
I suspect github.com/libtom/libtommath/blob/...rime.c#L26 filters out the 1 and 2 cases though
ohh
And it doesn't check the sign bit in that shortcut
github.com/libtom/libtommath/commi...642667a41d added the shortcuts 23:24
AlexDaniel reportable6: snapshot 23:39
reportable6 AlexDaniel, OK! Working on it. This will take around 5 minutes.
AlexDaniel, Done! 23:42
AlexDaniel now that it doesn't need to look at RT it no longer needs to take forever