Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
00:00 greppable6 joined
AlexDaniel greppable6: \d{15} 00:00
00:00 Kaypie left
greppable6 AlexDaniel, 7337 lines, 124 modules: gist.github.com/0fd1e4052f19e7fc94...eb77ec2dc3 00:01
vrurg Does moar build with MS CL compiler?
AlexDaniel omg, .ps, .xml and .pdf files 00:02
ugexe yes, you can look at the appveyor results to verify 00:05
AlexDaniel MasterDuke: ok, so here's a crazy idea 00:06
vrurg Reasonable... But mine fails under msvc developer command line. 00:09
Can't build dll.
MasterDuke AlexDaniel: yes?
AlexDaniel MasterDuke: here, I grepped 9999 from my .bash_history: gist.github.com/AlexDaniel/c801dde...c1d6466e56 00:11
MasterDuke: run it with rakudos before and after your change, and diff the difference 00:12
MasterDuke cool, i can do that
AlexDaniel I'm not sure if this history file is old enough to contain some neat test cases 00:13
but it's something
MasterDuke: maybe replace /usr/bin/perl6 with perl6 00:15
there are just a few lines but they're on point
ugexe vrurg: have you tried follow step by step with the appveyor file? are you doing github.com/rakudo/rakudo/blob/d504...or.yml#L47 for instance? 00:22
vrurg ugexe: No. Just tried vanilla installation. Will checkit out. Though what's confuses me is that linker dies with internal error. 00:24
ugexe because you need to do this with non-vanilla prompt
vrurg ugexe: Thanks, I'll check it.
ugexe or run that line above
vrurg ugexe: I don't have SetEnv in SDKs path. 00:26
AlexDaniel heh and nobody is going to comment why I have 1461 lines like this in my bash history xD Thank you
vrurg didn't work in windows for at least 8 years. Hope it counts. ;) 00:27
AlexDaniel 132589 lines in total, 5.4MB
ugexe what visual studio do you have installed? 00:29
x64 Native Tools Command Prompt -- do a search to see if you have this 00:30
vrurg ugexe: VS 2019
Perhaps I haven't installed the component. The search comes up with nothing. 00:32
ugexe sounds like during installation you did not install/check some component then 00:33
windows SDK maybe
vrurg Oops, sorry! It's what I'm using to compile it actually. ;)
Aha, I was about to check for SDK. Thanks! 00:34
ugexe alternatively anything that has 'tools' listed with it that seems appropriate (i cant find a listing of components)
vrurg ugexe: Thank you! Unfortunately, it's time to go now. 00:38
00:58 Kaiepi joined 01:02 ctilmes joined 01:04 lucasb left 01:08 klapperl_ joined 01:10 klapperl left 01:31 AlexDaniel left 01:32 AlexDaniel joined 02:01 Kaiepi left 02:05 Kaiepi joined 02:07 squashable6 left 02:11 squashable6 joined, ChanServ sets mode: +v squashable6 02:14 squashable6 left 02:16 Kaiepi left 02:17 squashable6 joined, ChanServ sets mode: +v squashable6 02:27 Kaiepi joined 02:34 Kaiepi left 02:55 Kaiepi joined 03:11 vrurg left 03:16 vrurg joined 04:09 Kaiepi left 04:22 Kaiepi joined 04:40 Kaiepi left 04:47 Kaiepi joined 04:55 Kaiepi left 05:39 Kaiepi joined 05:41 vrurg left 05:53 Kaiepi left 06:06 Kaiepi joined
Geth nqp: Kaiepi++ created pull request #529:
Make tools/build/install-moar-runner.pl possible to run on *BSD
07:21
07:41 patrickb joined
patrickb o/ 07:50
Kaiepi \o 07:58
can someone read over github.com/rakudo/rakudo/pull/2754 ?
patrickb Kaiepi: Do you plan to work on github.com/perl6/nqp/issues/528 ? 08:06
I was planning to work on this as well...
Kaiepi not really 08:26
i wanna work on the squashathon atm
patrickb OK. Then I'm on it, if that's ok with you. 08:27
What's the squashathon about this time?
Kaiepi most wanted modules and ecosystem 08:29
lizmat Files=1254, Tests=87994, 388 wallclock secs (20.72 usr 6.39 sys + 2788.58 cusr 229.78 csys = 3045.47 CPU) 09:42
pmurias_ btw is vrurg adding a new language letter? 09:56
[Tux] Rakudo version 2019.03.1-150-gd5044de2f - MoarVM version 2019.03-68-g25b486dee
csv-ip5xs0.761 - 0.929
csv-ip5xs-206.423 - 7.627
csv-parser23.051 - 23.399
csv-test-xs-200.458 - 0.508
test7.908 - 8.021
test-t1.793 - 2.011
test-t --race1.047 - 1.073
test-t-2032.059 - 33.981
test-t-20 --race11.079 - 11.557
10:01
10:07 pmurias_ left 10:18 squashable6 left 10:23 squashable6 joined 10:30 AlexDaniel left
lizmat bisectable6: class A { has $.a = 42; submethod BUILD { } }; dd A.new 10:47
bisectable6 lizmat, On both starting points (old=2015.12 new=d5044de) the exit code is 0 and the output is identical as well
lizmat, Output on both points: «A.new(a => 42)␤»
lizmat hmmm
timotimo huh 10:48
i didn't expect that tbh?
lizmat yeah, me neither
m: class A { has $.a = 42; submethod BUILD { dd self, %_ } }; dd A.new
evalable6 A.new(a => Any)
Hash element = {}
A.new(a => Any)
lizmat the default is applied *after* BUILD
eh....
no default hmmm
I bet it is somehow related to wonky nqp::attrinited behaviour 10:49
m: class A { has $.a = 42; submethod BUILD { dd %_ } }; dd A.new # yup
evalable6 Hash element = {}
A.new(a => 42)
lizmat not dd-ing self will apply the default 10:50
timotimo that's not so good :) 10:51
didn't we want to get rid of attrinited?
lizmat yeah, but there is no alternative atm, at least not one that will slowdown generic object creation significantly 10:52
timotimo mhm
11:21 awwaiid joined
Geth nqp: patzim++ created pull request #530:
Don't use bash
11:23
11:24 pmurias joined 11:31 samcv_ is now known as samcv 11:33 squashable6 left 11:35 squashable6 joined
MasterDuke AlexDaniel`: some of those hang, i'll have to handle timing them out 11:40
Geth rakudo: bf57f7626c | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm6
Remove %DEPRECATIONS from SETTING::
11:49
rakudo/master: 4 commits pushed by thundergnat++, (Elizabeth Mattijsen)++
11:50 pmurias left
jnthn Yeah, the attrinit'd mechanism boils down to "did this thing get touched" 11:56
Which vivifies the attribute as a side-effect 11:57
This doesn't really work for native attributes, but also frustrates optimizations
Thing is, I'm not sure quite what the alternative would be that causes little enough fallout
I've pondered static analyses (does BUILD mention the attribute), but those will break anything that relied on conditionally using it 11:58
lizmat perhaps a bitmap with a bit to indicate whether that attribute has been initialized ? 11:59
eh... scratch that thought 12:00
jnthn maybe, but 1) need's storage for the object's lifetime (maybe reasonable as in "if you want the feature you pay for it"), 2) needs carefully defined semantics for when we set it
12:01 pmurias joined
jnthn And 2 is the hard part :) 12:03
Geth rakudo: cc88d63db3 | (Ben Davies)++ | src/core/ThreadPoolScheduler.pm6
Allow :at/:in/:every to be Inf/-Inf/NaN in ThreadPoolScheduler.cue

Before, this would throw with a somewhat cryptic error. Now, this uses the smallest time interval allowed for the parameter.
12:09
rakudo: c99ae9b323 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core/ThreadPoolScheduler.pm6
Merge pull request #2754 from Kaiepi/scheduler

Allow :at/:in/:every to be Inf/-Inf/NaN in ThreadPoolScheduler.cue
timotimo use the minimum allowed even for +Inf? 12:10
12:14 pmurias left
Kaiepi this is to match the behaviour of javascript and ruby timotimo 12:18
i think it makes more sense to run the block in .cue asap on Inf instead of waiting as long as possible 12:19
since it's not a number
timotimo do we really hold up javascript as a positive example? :D 12:20
jnthn No, and I'm dubious about this one :) 12:21
Inf *is* a number, it's NaN that's not a number :P 12:22
lizmat so what should we do then...
FWIW, it's spectest clean
timotimo not put it in the queue
alternatively, put it in an atexit queue, lol
jnthn -Inf doing ASAP makes sense to me; it's just another case of a negative number meaning "shoulda done it already"
Just becasue something is spectest clean doesn't excuse you from thinking :P 12:23
I think Inf or NaN are probably mistakes
But I'd expect Inf to mean "don't ever do it" if we are going to support it
I can sort of see the use of it if you're calculating the time to do soemthing and if the answer is "never" you just return Inf 12:24
And that goes in as the time to do it, and we drop it
Treating Inf as "now" feels wrong
So I'd say: -Inf = right away like all negatives, Inf = just drop it, NaN = an error 12:25
timotimo n'an error 12:26
lizmat Kaiepi: will you do the honours of another PR ?
Kaiepi once i can actually get perl6 running to test, sure
lizmat ++Kaiepi 12:27
jnthn The -Inf/Inf I'm quite sure of there; the NaN one I'm open to alternatives if anyone has a good argument for something other than error. 12:28
Error is conservative, anyway.
Geth nqp: b76db48d6f | (Patrick Böker)++ | tools/build/install-moar-runner.pl
Make the moar runner use sh instead of bash

This gets rid of bash as a dependency. sh on the other hand should be available just about everywhere.
12:29
nqp: c5e843eb3c | (Patrick Böker)++ | tools/build/Makefile-Moar.in
Remove a needless use of bash

sh can do this just as well, so don't require bash needlessly.
nqp: 275283a0dc | (Jonathan Worthington)++ (committed using GitHub Web editor) | 2 files
Merge pull request #530 from patzim/no-bash

Don't use bash
nqp: 88a222b54d | (Jeremy Studer)++ | tools/build/gen-js-makefile.nqp
Fix issue with building nqp-js on Windows

  - M_RUNNER should already have the 'bat' extension
  - Use platform-agnostic slash substitution var
12:30
nqp: f437ca6a06 | (Jonathan Worthington)++ (committed using GitHub Web editor) | tools/build/gen-js-makefile.nqp
Merge pull request #464 from jstuder-gh/js_win_build_issue

Fix issue with building nqp-js on Windows
patrickb jnthn++ # Working on the PR queue! Awesome! 12:33
jnthn I'm glad to be back to working on any Perl 6 stuff. :) 12:34
Kaiepi i say when i can actually get it running because of github.com/rakudo/rakudo/issues/2818 12:39
i also can't install zef
hdd nuked where i kept perl6 earlier today so...
patrickb Kaiepi: That's one for me. I'll take a look 12:41
I think I still have my OpenBSD VM available...
Kaiepi if it doesn't happen on 6.4 i'll need to walk you through upgrading to -current
dw it's a pretty short process
patrickb Kaiepi: The output of readelf looks like it mixed MacOS compile parameters into the build. I'll see what I can do. 12:42
Kaiepi ok 12:50
13:01 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Merge pull request #2800 from thundergnat/thundergnat-FatRat.base-fix 13:01
travis-ci.org/rakudo/rakudo/builds/516551725 github.com/rakudo/rakudo/compare/b...83be787033
13:01 travis-ci left 13:11 ufobat__ joined 13:14 ufobat_ left 13:43 lucasb joined 13:45 pmurias joined
patrickb Kaiepi: I now tried it on 6.4 and it works. 13:46
Kaiepi alright
patrickb So what do I need to do to upgrade to -current?
Kaiepi first reboot and at the boot prompt type `boot bsd.rd` 13:47
patrickb Also, did you try to run the moar from the build directory?
Kaiepi no, the installed moar
patrickb ok
I now see an installer prompt 13:48
Kaiepi select upgrade
patrickb Location of sets?
http?
Kaiepi yeah 13:49
gimme a second, i need to get the list of mirrors
patrickb cdn.openbsd.org is what it proposes
Kaiepi pick whichever mirror from here's closest to where you live www.openbsd.org/ftp.html
only type in the hostname 13:50
13:50 pmurias left
patrickb server directory? 13:50
pub/OpenBSD/6.4/amd64 is what it proposes
13:51 pmurias joined
Kaiepi . 13:51
ok my last message didn't send
pub/OpenBSD/snapshots/amd64
after that just follow the intructions and ping me once you're done 13:52
patrickb there is only one set called bsd.rd
is that correct?
Kaiepi uhhhhhhh
no
there should be bsd, bsd.rd, bsd.mp, base65, etc. 13:53
patrickb It also said: "Unable to get a verified list of distribution sets" 13:54
Kaiepi what did you type in as the mirror?
patrickb mirror.hs-esslingen.de
I double checked mirror and server dir. They seem ok
the dir on the server looks unsuspicious from what I can see in a browser... 13:55
Kaiepi you'll probably have to cancel, reboot, download bsd.rd from mirror.hs-esslingen.de/pub/OpenBSD...d64/bsd.rd and replace /bsd.rd with it
then start over
patrickb will do
Kaiepi btw did any network interfaces pop up in the blue messages? there should be one with something like em0 for your network interface that should've gotten set up before the prompt to get the files from http or disk 13:57
patrickb got it working. Downloading sets now. 14:01
I think replacing the bsd.rd did the trick
14:04 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Merge pull request #2754 from Kaiepi/scheduler 14:04
travis-ci.org/rakudo/rakudo/builds/516555196 github.com/rakudo/rakudo/compare/2...9ae9b3236a
14:04 travis-ci left 14:08 |Tux| left
SmokeMachine I’m sorry for opening the issue and making mistakes. 14:08
14:08 vrurg joined 14:10 |Tux| joined
Kaiepi jnthn, by "just drop it" do you mean return nqp::null() if $at or $in is Inf? 14:12
or should i make a cancellation object anyways
SmokeMachine jnthn: I think you were right, produce the values per classification is better and I think it was my first idea (and what I was writing...) 14:13
jnthn, AlexDaniel: I cannot find my old codes implementing it... would you guys mind if I close that issue? 14:16
patrickb Kaiepi: Now it fails for me too. I think it might not have needed the upgrade. I just missed to put the moar directory in path 14:17
Kaiepi: www.mail-archive.com/misc@openbsd....43490.html # I'm not through completely, but that looks like our problem. 14:21
SmokeMachine AlexDaniel`: I know at that time I were trying to do this: github.com/FCO/rakudo/commit/6b582...82e0bb2b9c
14:25 AlexDaniel joined
AlexDaniel SmokeMachine: maybe we should repurpose it into a general discussion about classify/categorize 14:30
SmokeMachine AlexDaniel: for me, it would be ok...
patrickb Kaiepi: If I read that thread correctly, then OpenBSD currently has an unusable $ORIGIN implementation. 14:32
Kaiepi well fuck
patrickb Kaiepi: Only idea I have to go forward is looking into dlopen
No idea whether this has any chance of producing something usable
Kaiepi --no-relocatable also didn't work when i tested but i'm in the middle of working on stuff atm 14:33
patrickb I'll have a look at that.
AlexDaniel MasterDuke: hmm… you can probably remove all of them if they hang without your changes 14:34
MasterDuke: note that some of these can eat quite a bit of memory, too 14:35
patrickb: I appreciate your work. Thank you! 14:37
14:39 gugod1 is now known as gugod
patrickb AlexDaniel: You're welcome! 14:41
14:54 lgtaube left 15:07 pmurias left 15:09 lgtaube joined
patrickb Kaiepi: When you have a little more time I'd be interested in how moar fails for you with --no-relocatable 15:14
It does work in my VM.
Kaiepi ok 15:15
m: use nqp; say nqp::iseq_n(nqp::unbox_n(NaN), nqp::nan()) 15:16
evalable6 0
15:16 squashable6 left
Kaiepi m: use nqp; say nqp::iseq_n(NaN, nqp::nan()) 15:16
evalable6 0
Kaiepi how do i check if something is NaN with nqp?
m: use nqp; my num $nan = nqp::nan(); nqp::iseq_s($nan, NaN) 15:18
evalable6 (exit code 1) This type cannot unbox to a native string: P6opaque, Num
in block <unit> at /tmp/YvNjLCG1vB line 1
Kaiepi m: use nqp; my num $nan = nqp::nan(); say nqp::iseq_s($nan, NaN)
evalable6 (exit code 1) This type cannot unbox to a native string: P6opaque, Num
in block <unit> at /tmp/yxBfkth6dF line 1
Kaiepi m: use nqp; my num $nan = nqp::nan(); say nqp::iseq_n($nan, NaN) 15:19
evalable6 0
15:19 squashable6 joined
Kaiepi guess i'll check it last out of Inf/-Inf/NaN and use nqp::isnanorinf 15:21
ugexe yeah that seems to be the way: nqp::isnanorinf($n) && $n != nqp::inf() && $n != nqp::neginf(); 15:26
b2gills ugexe: It could be that `make test` works before `make install` only if there isn't already an installed Rakudo/NQP/MoarVM. Meaning the installed version of one (or more) of those takes precedence over the one that was just built. I did have this problem immediately after the relocatable stuff was merged. 16:02
Actually thinking about it, the way I build and install; the installed Rakudo may be in a borked state until it fully completes. (Which should be fine) I build and install MoarVM, then build/test/install NQP, then do the same for Rakudo. I do all of that without removing the previously installed files. 16:11
Anything that (incorrectly) uses the installed Rakudo may fail if it runs before the build script is done.
Geth rakudo: 5e8451f79d | usev6++ | src/core/Match.pm6
[JVM] Remove special case

This looks like a leftover from much earlier times.
16:12
16:27 vrurg left 16:34 ctilmes_ joined 16:38 ctilmes left
Geth rakudo: Kaiepi++ created pull request #2819:
Improve ThreadPoolScheduler.cue behaviour when Inf/-Inf/Nan is passed
16:42
Kaiepi >Nan 16:43
i need to learn to type
MasterDuke i just had some Naan for lunch 16:45
Kaiepi naan's so good 16:46
16:50 ctilmes_ left, ctilmes joined 16:58 pmurias joined 17:24 travis-ci joined
travis-ci Rakudo build failed. usev6 '[JVM] Remove special case 17:24
travis-ci.org/rakudo/rakudo/builds/516612300 github.com/rakudo/rakudo/compare/c...8451f79d7e
17:24 travis-ci left 18:03 vrurg joined 18:05 vrurg left 18:06 vrurg joined 18:49 vrurg left 19:03 vrurg joined 19:17 vrurg left 19:19 vrurg joined 19:21 vrurg left, vrurg joined 19:24 vrurg left 19:25 vrurg joined
lizmat m: dd sprintf("%*s","foo") # is this supposed to work? if not, I guess the error is pretty LTA 19:38
evalable6 (exit code 1) This representation (Null) does not support elems (for type VMNull)
in block <unit> at /tmp/UGFWja3n9Z line 1
lizmat bisectable6: sprintf("%*s","foo")
bisectable6 lizmat, Bisecting by output (old=2015.12 new=5e8451f) because on both starting points the exit code is 1
lizmat, bisect log: gist.github.com/a1311f31732a58b5be...2f1b335002 19:39
lizmat, (2016-03-16) github.com/rakudo/rakudo/commit/ad...1088605184
ugexe i think sprintf errors are usually LTA because they go through nqp? 19:41
lizmat I guess 19:42
I'm currently rewriting sprintf in Perl 6, and found that wart :-)
19:42 lucasb left 20:36 vrurg left
ugexe m: gist(1) 20:58
evalable6
ugexe m: perl(1)
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/juNMpIcTuu
Undeclared routine:
perl used at line 1
ugexe dunno if that should exist or not ^ 20:59
Kaiepi m: my constant __EXIT__ = 1; say __EXIT__ 21:21
evalable6 1
Kaiepi er
m: my constant __END__ = 1; say __END__
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/KnkrUm0Vaq
Unsuppo…
Kaiepi, Full output: gist.github.com/e8bfad7cb84c77ecfb...88ba57bcca
ugexe __END__ has special meaning in perl 5, and presumably perl 6 21:23
or maybe its just the error it tries to generate messing up your assignment? 21:24
m: __END__
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/v_VmW6Bpbi
Unsuppo…
ugexe, Full output: gist.github.com/4fd269f74d7e8a4a0c...e4a0e7eabd
ugexe ah yeah its the same error
Geth rakudo: patzim++ created pull request #2820:
Never build a relocatable rakudo on OpenBSD
21:26
ugexe seems like __END__ and __DATA__ should not produce those error messages unless p5isms is enabled 21:27
Geth rakudo: d3d4b2e8b4 | (Patrick Böker)++ | Configure.pl
Never build a relocatable rakudo on OpenBSD

  See github.com/rakudo/rakudo/issues/2818
OpenBSDs implementation of $ORIGIN in rpath is unreliable. Also it misses a mechanism to determine the executable path in general. So even at runtime one has a hard time implementing something like this in a robust manner.
21:30
rakudo: f4c23223f8 | (Nick Logan)++ (committed using GitHub Web editor) | Configure.pl
Merge pull request #2820 from patzim/openbsd-no-relocatable

Never build a relocatable rakudo on OpenBSD
rakudo: patzim++ created pull request #2821:
Use sh instead of bash
rakudo: bb7e609412 | (Patrick Böker)++ | 2 files
Make the runner scripts use sh instead of bash

This gets rid of bash as a dependency. sh on the other hand should be available just about everywhere.
21:33
rakudo: 11c55fb883 | (Patrick Böker)++ | 2 files
Remove two needless uses of bash

sh can do this just as well, so don't require bash needlessly.
rakudo: 728ed87b23 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Merge pull request #2821 from patzim/no-bash

Use sh instead of bash
21:47 vrurg joined
AlexDaniel patrickb: so how come you don't have a commit bit? 21:49
I thought you sent a signed CLA? 21:50
if it was lost, please resend with a CC to Will Coleda
22:26 travis-ci joined
travis-ci Rakudo build failed. Nick Logan 'Merge pull request #2821 from patzim/no-bash 22:26
travis-ci.org/rakudo/rakudo/builds/516690207 github.com/rakudo/rakudo/compare/f...8ed87b23fd
22:26 travis-ci left
patrickb It arrived. Coke wrote me quite some time ago already. 23:02
I didn't know the commit bit was in any way related...
AlexDaniel: ^
AlexDaniel jnthn: ↑
patrickb I'm off for today. 23:03
23:03 patrickb left
jnthn goes to track down patrickb's github handle :) 23:08
.tell patrickb GitHub organization invite sent; once you accept it you should have commit access. Welcome! :) 23:10
yoleaux jnthn: I'll pass your message to patrickb.
AlexDaniel weekly: welcome patrickb colabti.org/irclogger/irclogger_lo...04-06#l432 23:20
notable6 AlexDaniel, Noted!
23:27 pmurias left 23:34 AlexDani` joined 23:35 AlexDaniel left 23:39 AlexDani` left