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. |
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | any chance of a golf? :) | 00:01 | |||||||||||||||||||||||||||||||||||||
japhb | AlexDaniel: OK, previous rev got much farther, it passed testing of IO::Path::ChildSecure, but died later in the install sequence at another module I usually never have problems with: | 00:07 | |||||||||||||||||||||||||||||||||||||
===> Testing: Pod::To::HTML:ver<0.3.22> | 00:08 | ||||||||||||||||||||||||||||||||||||||
# Failed test at t/060-table.t line 92 | |||||||||||||||||||||||||||||||||||||||
# Looks like you failed 1 test of 4 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | Pod::To::HTML? why are you installing it? | ||||||||||||||||||||||||||||||||||||||
so what's going on exactly? | 00:09 | ||||||||||||||||||||||||||||||||||||||
japhb | AlexDaniel: Checking .... | ||||||||||||||||||||||||||||||||||||||
Appears to be a dependency of a dependency, checking which one | 00:10 | ||||||||||||||||||||||||||||||||||||||
App::Mi6 -> Pod::To::Markdown -> Pod::To::HTML | 00:12 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | so I should be testing App::Mi6, right? | 00:15 | |||||||||||||||||||||||||||||||||||||
japhb | AlexDaniel: yeah | ||||||||||||||||||||||||||||||||||||||
00:16
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
japhb | Generally I find cro and App::Mi6 to have "interesting" dependency trees, in that they catch compiler regressions ... which is part of why I attempt to install them always in my rebuild script, before marking a new build as "safe to put in PATH" | 00:17 | |||||||||||||||||||||||||||||||||||||
The last totally clean rebuild I've managed was 2018.09 (the actually release), but I've been AFK a lot since then, so I would not be surprised if I just got unlucky with builds. Still, it feels like the failure modes post-2018.09 have been more variable and more common than I'm used to. | 00:20 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | japhb: can you file a ticket? | 00:21 | |||||||||||||||||||||||||||||||||||||
japhb | AlexDaniel: Against Rakudo, I'm guessing? | 00:22 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | yeah | ||||||||||||||||||||||||||||||||||||||
japhb wonders how to frame the problem | 00:23 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | āon 2018.09 I was able to install X Y Z, on HEAD(ā¦) these modules failā | 00:24 | |||||||||||||||||||||||||||||||||||||
japhb | I build a couple dozen modules, the list hasn't changed in quite a while, and now I can't get through the entire list on any rev I've tried. But the failing module changes from rev to rev, so it's not like "this is the one that you can use as a canary and know your fix is correct" | 00:25 | |||||||||||||||||||||||||||||||||||||
japhb is trying to avoid a ticket that he himself would close as unactionable | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | this can't be closed, it's a blocker | 00:26 | |||||||||||||||||||||||||||||||||||||
until we figure out what's wrong exactly | |||||||||||||||||||||||||||||||||||||||
japhb | AlexDaniel: What's the state of full-ecosystem toasting? Does that only happen during pre-release? Are those modules installed in any sort of sequence, or independently each on a fresh Rakudo tree? Are any of the modules considered automatic hard blockers at this point if they won't install cleanly? | 00:29 | |||||||||||||||||||||||||||||||||||||
AlexDaniel: OK, fair enough. | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | japhb: oh that's a lot of questions. Yes I test the whole ecosystem before the release. Previously it was done with Toaster, this release hopefully with a new tool. Toaster attempts to install them independently (sort of), new tool installs every module just once (unless it fails, then there are more attempts and bisection). Any module that used to work on the previous release and doesn't work on HEAD is a blocker unless there's some | 00:31 | |||||||||||||||||||||||||||||||||||||
good reasoning why it should be that way | |||||||||||||||||||||||||||||||||||||||
japhb: by the way, App::Mi6 is installed cleanly on HEAD with all of its dependencies | 00:32 | ||||||||||||||||||||||||||||||||||||||
and IO::Path::ChildSecure still bisects to 3b453c575de14efd3abfa4f49c82a059ddccc3cd, I did many runs and the result is always the same | 00:33 | ||||||||||||||||||||||||||||||||||||||
so on 3b453c575^ it was installable and starting with 3b453c575 it no longer is | |||||||||||||||||||||||||||||||||||||||
but maybe the whole 3b453c575 revision is busted, I'm not sure | 00:34 | ||||||||||||||||||||||||||||||||||||||
japhb: feel free to ask more :) | 00:35 | ||||||||||||||||||||||||||||||||||||||
japhb | Yeah, I'm wondering if I should write myself a ratchet that tries to keep moving forward on "safe revs", trying every single one and tracking them. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | no need, my tool tests HEAD and previous release, if there's any need it bisects | 00:36 | |||||||||||||||||||||||||||||||||||||
I mean if there's any issue with any module | |||||||||||||||||||||||||||||||||||||||
it also does multiple runs to deflap some modules, and stuff like that | |||||||||||||||||||||||||||||||||||||||
so testing every single one is a waste of COā I think :) | 00:37 | ||||||||||||||||||||||||||||||||||||||
but hey, I can't be telling people not to write tools | |||||||||||||||||||||||||||||||||||||||
so go for it if you feel like | |||||||||||||||||||||||||||||||||||||||
japhb | AlexDaniel: No, I meant, so that every time I report a similar problem, I can always report "... and this is the latest rev that managed to install *all* my modules" | 00:38 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | japhb: IMO that's a bit LTA as some problems are sometimes introduced and then fixed, so last revision when all modules were installable can potentially be a waste of time when trying to figure out what went wrong exactly | 00:40 | |||||||||||||||||||||||||||||||||||||
japhb: BUT if you made a ticket like that, I'd be able to give you the result from bisectable for every failing module | 00:41 | ||||||||||||||||||||||||||||||||||||||
in like, a few minutes | |||||||||||||||||||||||||||||||||||||||
so it's very useful and LTA at the same time :) | |||||||||||||||||||||||||||||||||||||||
japhb: and then, my new tool is vaporware, cuzā¦ eh uhā¦ just becauseā¦ time I guess | 00:42 | ||||||||||||||||||||||||||||||||||||||
it does generate pretty graphs though: gist.github.com/AlexDaniel/d7b789e...6dadd9a3ad :) | 00:43 | ||||||||||||||||||||||||||||||||||||||
heh, which way the arrows should goā¦ For dependencies, sure, but I'm more interested in error propagation, so I might as well flip them | 00:45 | ||||||||||||||||||||||||||||||||||||||
japhb | OK, submitted. It stills feel like a crappy bug report, but hopefully it will help. | 00:55 | |||||||||||||||||||||||||||||||||||||
R#2345 | |||||||||||||||||||||||||||||||||||||||
synopsebot | R#2345 [open]: github.com/rakudo/rakudo/issues/2345 Post-2018.09 module install failures | ||||||||||||||||||||||||||||||||||||||
Kaiepi | i think S32-io/IO-Socket-Async might need a little reworking | 00:57 | |||||||||||||||||||||||||||||||||||||
japhb | Is there a git command for "next rev after A along branch B"? | ||||||||||||||||||||||||||||||||||||||
Kaiepi | it's an awful fragile test | ||||||||||||||||||||||||||||||||||||||
geekosaur | japhb, not directly, because git doesnt' really think that way. goig backwards is trivial, forward is harder because "branch" is more of a structure users impose on its more free-form structure | 00:58 | |||||||||||||||||||||||||||||||||||||
(in particular, there can be multiple paths from a given HEAD back to a particular commit if there have been "octopus merges") | 01:01 | ||||||||||||||||||||||||||||||||||||||
japhb | geekosaur: nodnod. I was thinking of doing something like `git rev-list B ^A |tail -1`, but that falls prey to merging in an ancient branch, as for example just happened with the js merge | 01:03 | |||||||||||||||||||||||||||||||||||||
geekosaur | yep | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | octopus merges! That's exactly what I wanted to read about right now :) | ||||||||||||||||||||||||||||||||||||||
japhb | In some sense, I want to only see the commits that moved the branch tip, so maybe git ref-log? | 01:04 | |||||||||||||||||||||||||||||||||||||
japhb goes to RTFM | |||||||||||||||||||||||||||||||||||||||
geekosaur | as long as it still exists, sure | 01:06 | |||||||||||||||||||||||||||||||||||||
(reflog gets gc-d periodically) | |||||||||||||||||||||||||||||||||||||||
(not to mention that it can leave you wondering fi the correct reading is ref-log or re-flog) | 01:07 | ||||||||||||||||||||||||||||||||||||||
japhb | Heh | 01:11 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | hehe lkml.iu.edu/hypermail/linux/kernel/...01926.html | 01:13 | |||||||||||||||||||||||||||||||||||||
japhb | Oooh, `git rev-list --oneline --reverse --ancestry-path 2018.09..master` gives a promising list ... --ancestry-path might be the thing that DWIMs. | 01:15 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | committable: 2018.09,HEAD gist.github.com/AlexDaniel/46dc4ea...8b340c8f44 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Using file āfoo.p6ā as a main file, other files are placed in āsandbox/ā | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, gist.github.com/20c7cfdd261ef519e5...346d83b522 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | bisect: old=2018.09 gist.github.com/AlexDaniel/46dc4ea...8b340c8f44 | ||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, Using file āfoo.p6ā as a main file, other files are placed in āsandbox/ā | 01:16 | |||||||||||||||||||||||||||||||||||||
AlexDaniel, Bisecting by exit code (old=2018.09 new=8bb34ff). Old exit code: 0 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel, bisect log: gist.github.com/a883f01d0bc3ffb143...f0438a6b89 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel, (2018-08-13) github.com/rakudo/rakudo/commit/25...2180057028 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | ā¦ merge commit? | ||||||||||||||||||||||||||||||||||||||
c: 1a95d05,d8d51d0 gist.github.com/AlexDaniel/46dc4ea...8b340c8f44 | 01:17 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Using file āfoo.p6ā as a main file, other files are placed in āsandbox/ā | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, Ā¦1a95d05,d8d51d0: Ā«Ā» | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | both parents are fine | ||||||||||||||||||||||||||||||||||||||
c: 2558ffa9be gist.github.com/AlexDaniel/46dc4ea...8b340c8f44 | |||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Using file āfoo.p6ā as a main file, other files are placed in āsandbox/ā | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, gist.github.com/55f7a618c9a2d190fa...9cb8927a2e | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | busted after the merge o_O | 01:18 | |||||||||||||||||||||||||||||||||||||
Geth | roast: 77f67b5b02 | (Zoffix Znet)++ | 2 files [v6.d REVIEW] Appendicize Range.new with wrong args Orig: github.com/perl6/roast/commit/6ac1f272f |
02:28 | |||||||||||||||||||||||||||||||||||||
Kaiepi | is there a way to only update rakudo files that have been changed instead of having to rebuild the entire package? | 03:08 | |||||||||||||||||||||||||||||||||||||
MasterDuke | Kaiepi: usually not. if you're talking about the .pm6 files that make it up, most of them are concatenated together and then compiled as one giant file because it's faster | 03:13 | |||||||||||||||||||||||||||||||||||||
i think the ext ops and some stuff can be re-built independently, but i don't know exactly what (i just rebuild everything when i make a change) | 03:14 | ||||||||||||||||||||||||||||||||||||||
Kaiepi | damn | 03:16 | |||||||||||||||||||||||||||||||||||||
03:49
MasterDuke left
05:15
ufobat_ joined,
p6bannerbot sets mode: +v ufobat_
|
|||||||||||||||||||||||||||||||||||||||
Kaiepi | perl6 -Mnqp <file> is a godsend for catching some errors before running make on rakudo | 05:23 | |||||||||||||||||||||||||||||||||||||
why in the absolute fuck does ListenSocket keep thinking $socket-host and $socket-port are undefined Promises when they're clearly defined in SocketListenerTappable? hastebin.com/uladicerez.rb | 05:46 | ||||||||||||||||||||||||||||||||||||||
05:46
AlexDani` joined
05:47
p6bannerbot sets mode: +v AlexDani`
05:51
AlexDaniel left
06:07
brrt joined
06:08
p6bannerbot sets mode: +v brrt
|
|||||||||||||||||||||||||||||||||||||||
japhb | .tell AlexDaniel` I've got a decent draft of my ratchet-rakudo script running. I'm going to leave it looping overnight, and see how far it gets. | 06:11 | |||||||||||||||||||||||||||||||||||||
yoleaux | japhb: I'll pass your message to AlexDaniel`. | ||||||||||||||||||||||||||||||||||||||
06:12
fake_space_whale left
06:44
patrickb joined,
p6bannerbot sets mode: +v patrickb
07:04
brrt left
07:35
Kaiepi left
07:39
Kaiepi joined
07:40
p6bannerbot sets mode: +v Kaiepi
08:26
Ven` joined
08:27
p6bannerbot sets mode: +v Ven`
08:39
Ven` left
08:40
Ven` joined
08:41
p6bannerbot sets mode: +v Ven`
08:46
lizmat joined,
p6bannerbot sets mode: +v lizmat
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: f58e37bee3 | tison++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncFileHandle.java [jvm] code clean |
08:48 | |||||||||||||||||||||||||||||||||||||
08:50
pmurias left,
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
lizmat | m: my $a; my $b; 42 ?? $a !! $b = 666; dd $a, $b # TIL | 09:04 | |||||||||||||||||||||||||||||||||||||
camelia | Int $a = 666 Any $b = Any |
||||||||||||||||||||||||||||||||||||||
jnthn | First class Scalar strikes again :) | 09:21 | |||||||||||||||||||||||||||||||||||||
yoleaux | 7 Oct 2018 23:29Z <timotimo> jnthn: i'm not sure i understand "there's still lots more to be had. which is a good job, since ..."; like, the "a good job" part? | ||||||||||||||||||||||||||||||||||||||
jnthn | .tell timotimo www.collinsdictionary.com/dictiona...a-good-job | 09:22 | |||||||||||||||||||||||||||||||||||||
yoleaux | jnthn: I'll pass your message to timotimo. | ||||||||||||||||||||||||||||||||||||||
09:38
robertle joined
09:39
p6bannerbot sets mode: +v robertle
|
|||||||||||||||||||||||||||||||||||||||
lizmat | reportable6: 2018-10-01T00:00:00Z 2018-10-08T00:00:00Z | 09:39 | |||||||||||||||||||||||||||||||||||||
reportable6 | lizmat, Couldn't find a snapshot for 2018-10-08T00:00:00Z (try ļ½¢listļ½£ command to see what's available). | ||||||||||||||||||||||||||||||||||||||
lizmat | reportable6: list | 09:40 | |||||||||||||||||||||||||||||||||||||
reportable6 | lizmat, gist.github.com/06ab1033709d833620...1bf62b7894 | ||||||||||||||||||||||||||||||||||||||
lizmat | notable6: weekly | 09:41 | |||||||||||||||||||||||||||||||||||||
notable6 | lizmat, 8 notes: gist.github.com/482b148bce9008812b...615ae39a7f | ||||||||||||||||||||||||||||||||||||||
lizmat | idea: how about using the "use precompilation" in scripts to indicate the user wants the script to be precompiled ? | 09:48 | |||||||||||||||||||||||||||||||||||||
|Tux| |
|
10:00 | |||||||||||||||||||||||||||||||||||||
10:39
pmurias left
10:40
pmurias joined,
p6bannerbot sets mode: +v pmurias
10:43
pmurias left
10:45
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Files=1255, Tests=75814, 340 wallclock secs (15.77 usr 5.32 sys + 2375.93 cusr 245.55 csys = 2642.57 CPU) | 10:53 | |||||||||||||||||||||||||||||||||||||
tbrowder__ | hi, folks | 10:56 | |||||||||||||||||||||||||||||||||||||
nine | lizmat: we would only know that we should have been loading the precompiled version when we are already compiling the script ;) | 10:57 | |||||||||||||||||||||||||||||||||||||
tbrowder__ | need some advice again ref pod in rakudo nqp grammar | ||||||||||||||||||||||||||||||||||||||
lizmat | nine: true, but once encountered, we could save a precomped version, or not? | 10:58 | |||||||||||||||||||||||||||||||||||||
and at script startup, we could see if there is a precomped version, whether the SHA matches, and then run that ? | 10:59 | ||||||||||||||||||||||||||||||||||||||
nine | If we can precompile scripts and load them at startup, why would we ever not want to do that? | ||||||||||||||||||||||||||||||||||||||
lizmat | because sometimes you're just working with a throwaway script? | 11:00 | |||||||||||||||||||||||||||||||||||||
and only when you're sure you about it, add the "use precompilationn | |||||||||||||||||||||||||||||||||||||||
"? | |||||||||||||||||||||||||||||||||||||||
tbrowder__ | situation is i need to extract some info from pod_configuration about presence or absence of a specific key/value that affects whether to take one content grammar alternation or not. | ||||||||||||||||||||||||||||||||||||||
nine | Sounds like a lot of work just to save a couple of kilobytes for precompiled files. It also requires users to actually know about this rather obscure pragma | 11:01 | |||||||||||||||||||||||||||||||||||||
lizmat | so why don't we just precompile all of our scripts right now ? | 11:02 | |||||||||||||||||||||||||||||||||||||
is it just a matter of NYI ? | |||||||||||||||||||||||||||||||||||||||
nine | pretty much | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | it seems i can stringify pod_configuration reliably so i can call a function to extract info into a hash i then read in the grammar. | ||||||||||||||||||||||||||||||||||||||
nine | It's not entirely straight forward as the assumption that we will compile something runs rather deep in rakudo. But there's nothing against it in principle | 11:03 | |||||||||||||||||||||||||||||||||||||
Geth | roast: f11042b937 | (Elizabeth Mattijsen)++ | S11-modules/export.t Unfudge now passing tests |
||||||||||||||||||||||||||||||||||||||
nine | tbrowder__: so no more advice necessary? | 11:04 | |||||||||||||||||||||||||||||||||||||
tbrowder__ | i can see successful info flow through the hash generation but the passed hash seems to lose the data. the hash is passed as a return | ||||||||||||||||||||||||||||||||||||||
from the sub. maybe i should pass the hash around as an arg instead? | 11:05 | ||||||||||||||||||||||||||||||||||||||
or i could, inside grammar, define a special var to carry that info in pod_configuration match | 11:07 | ||||||||||||||||||||||||||||||||||||||
problem with 2nd op is the weeds of coloncircumfix grammar | 11:09 | ||||||||||||||||||||||||||||||||||||||
thoughts please? i will attempt using hash as sub arg but wonder why hash return wouldnāt work | 11:10 | ||||||||||||||||||||||||||||||||||||||
btw, iām using %h instead of $h and wonder how that affects things | 11:11 | ||||||||||||||||||||||||||||||||||||||
lizmat | that should only make a difference if you're iterating over it, no ? | 11:13 | |||||||||||||||||||||||||||||||||||||
11:13
pmurias left
|
|||||||||||||||||||||||||||||||||||||||
tbrowder__ | i do iterate over it in debugging, but %h seems to work fine in nqp examples on perl6/nqp | 11:15 | |||||||||||||||||||||||||||||||||||||
11:15
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
lizmat | yeah, I'm not 100% sure of the semantics in nqp | 11:15 | |||||||||||||||||||||||||||||||||||||
tbrowder__ | unless someone has a better idea, iām going to try using hash in sub args. thnx for ālisteningā! | 11:17 | |||||||||||||||||||||||||||||||||||||
lizmat | yw :-) | 11:20 | |||||||||||||||||||||||||||||||||||||
11:24
brrt joined
11:25
p6bannerbot sets mode: +v brrt
11:43
epony left
11:49
ZzZombo joined,
p6bannerbot sets mode: +v ZzZombo
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 688cbac1ef | (Elizabeth Mattijsen)++ | src/core/IO/Spec.pm6 Initialize lookup at setting compile time, instead of each startup |
11:59 | |||||||||||||||||||||||||||||||||||||
rakudo: 92735770f1 | (Elizabeth Mattijsen)++ | src/core/Exception.pm6 Initialize Perl 5 var lookup at setting compile time And not at every startup |
|||||||||||||||||||||||||||||||||||||||
12:05
pmurias left
12:11
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
tbrowder__ | just another thought: the hash may munged due to an error of odd number of elements, sounds like good rabbit to chase... | 12:12 | |||||||||||||||||||||||||||||||||||||
12:26
epony joined,
p6bannerbot sets mode: +v epony
12:29
fake_space_whale joined
12:30
p6bannerbot sets mode: +v fake_space_whale
12:45
epony left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | .ask jnthn the difference between my $a := 42 and my \a = 42 appears to be one less QAST::Var(lexical $a :decl(var)) | 12:47 | |||||||||||||||||||||||||||||||||||||
yoleaux | lizmat: I'll pass your message to jnthn. | ||||||||||||||||||||||||||||||||||||||
lizmat | .ask jnthn is that something to pursue in the core setting, to get rid of those QAST::Var's ? | ||||||||||||||||||||||||||||||||||||||
yoleaux | lizmat: I'll pass your message to jnthn. | ||||||||||||||||||||||||||||||||||||||
lizmat | bisectable6: my %h := Hash[Int].new; %h<a> = "b" | 13:12 | |||||||||||||||||||||||||||||||||||||
bisectable6 | lizmat, On both starting points (old=2015.12 new=9273577) the exit code is 0 and the output is identical as well | ||||||||||||||||||||||||||||||||||||||
lizmat, Output on both points: Ā«Ā» | |||||||||||||||||||||||||||||||||||||||
lizmat | m: my %h := Hash[Int].new; %h<a> = "b" | 13:13 | |||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
13:13
AlexDani` is now known as AlexDaniel
|
|||||||||||||||||||||||||||||||||||||||
lizmat | hmmm this appears to have been broken like forever :-( | 13:13 | |||||||||||||||||||||||||||||||||||||
m: my Int %h; %h<a> = "b" # expected output | 13:14 | ||||||||||||||||||||||||||||||||||||||
camelia | Type check failed in assignment to %h; expected Int but got Str ("b") in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
AlexDaniel | reportable6: ehhhh you're hanging again? | 13:18 | |||||||||||||||||||||||||||||||||||||
reportable6 | AlexDaniel, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Reportable | ||||||||||||||||||||||||||||||||||||||
13:18
reportable6 left,
reportable6 joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | last one on 2018-10-07T06:00:00Z ā¦ almost | 13:19 | |||||||||||||||||||||||||||||||||||||
13:19
p6bannerbot sets mode: +v reportable6
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | that will do I think | 13:19 | |||||||||||||||||||||||||||||||||||||
reportable6: 2018-10-01T00:00:00Z 2018-10-07T06:00:00Z | |||||||||||||||||||||||||||||||||||||||
reportable6 | AlexDaniel, OK, working on it! This may take up to 40 seconds | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, gist.github.com/5cac3a9e6fc01e2ea4...772f43a7ff | 13:20 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: that one is close enough ā | 13:21 | |||||||||||||||||||||||||||||||||||||
just 18 hours off, and changes during these 18 hours will be shown in the next one | 13:22 | ||||||||||||||||||||||||||||||||||||||
lizmat | AlexDaniel++ :-) | 13:25 | |||||||||||||||||||||||||||||||||||||
13:28
epony joined,
p6bannerbot sets mode: +v epony
13:39
pmurias left
13:40
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
brrt | maybe we should have an attribute on nativecall to mark calls blocking or nonblocking | 14:01 | |||||||||||||||||||||||||||||||||||||
jnthn | brrt: why, ooc? | 14:03 | |||||||||||||||||||||||||||||||||||||
Skip the "mark blocked for GC" thing? | |||||||||||||||||||||||||||||||||||||||
brrt | indeed | ||||||||||||||||||||||||||||||||||||||
that might be a nice optimization | |||||||||||||||||||||||||||||||||||||||
timotimo | if you know it's a very fast function? | ||||||||||||||||||||||||||||||||||||||
brrt | right | ||||||||||||||||||||||||||||||||||||||
or an async one | |||||||||||||||||||||||||||||||||||||||
i'd prefer the default to be blocking, still | 14:04 | ||||||||||||||||||||||||||||||||||||||
timotimo | well, since it's about when it returns on the C level, there's no difference between very fast and async :) | ||||||||||||||||||||||||||||||||||||||
brrt | :-) | ||||||||||||||||||||||||||||||||||||||
jnthn | Yeah, I think going on statistics for that is pushing our luck :) | ||||||||||||||||||||||||||||||||||||||
Probably a trait is right | |||||||||||||||||||||||||||||||||||||||
And yes, current, safer, semantics as the default, and opt in to the speedier thing when you know it's safe | |||||||||||||||||||||||||||||||||||||||
brrt | I'm imagining a future postmortem saying | 14:05 | |||||||||||||||||||||||||||||||||||||
timotimo | what would be non-safe? wouldn't it just block other threads until the function is done? | ||||||||||||||||||||||||||||||||||||||
brrt | 'the engineer who added the 'nonblocking' a attribute had only run a benchmark on his local machine' | ||||||||||||||||||||||||||||||||||||||
that could be fairly bad though | 14:06 | ||||||||||||||||||||||||||||||||||||||
timotimo | surely it'd be a DIHWIDT thing | ||||||||||||||||||||||||||||||||||||||
brrt | DIHWIDT? | ||||||||||||||||||||||||||||||||||||||
timotimo | doctor, it hurts when i do that | ||||||||||||||||||||||||||||||||||||||
brrt | haha, yes | ||||||||||||||||||||||||||||||||||||||
but the default should probably be to have people not do that | 14:07 | ||||||||||||||||||||||||||||||||||||||
timotimo | right, that's a good default IMO | 14:08 | |||||||||||||||||||||||||||||||||||||
japhb | AlexDaniel: So my ratchet-rakudo script is still trucking along. The last successful build of Rakudo and all my modules was 2018.09-24-g75cf8be72 and it's currently working on 2018.09-60-gcc2fcc9af . | 14:15 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | japhb: yeah, well, js branch merge is the problem | ||||||||||||||||||||||||||||||||||||||
so I don't know how well these revisions represent things | |||||||||||||||||||||||||||||||||||||||
but we will see | 14:16 | ||||||||||||||||||||||||||||||||||||||
14:32
Ven` left
|
|||||||||||||||||||||||||||||||||||||||
patrickb | I think it hasn't been linked here: blogs.perl.org/users/pawel_murias/2...iling.html | 14:34 | |||||||||||||||||||||||||||||||||||||
timotimo | yay | 14:35 | |||||||||||||||||||||||||||||||||||||
14:38
pmurias left
14:39
Ven` joined,
pmurias joined,
p6bannerbot sets mode: +v pmurias
14:40
p6bannerbot sets mode: +v Ven`
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | pmurias++ # awesome | 14:41 | |||||||||||||||||||||||||||||||||||||
lizmat | m: sub a(--> Mu) { }; dd a # intriguing error | 14:51 | |||||||||||||||||||||||||||||||||||||
camelia | Nil | ||||||||||||||||||||||||||||||||||||||
jnthn | How so? | ||||||||||||||||||||||||||||||||||||||
Mu is a type check, Nil is the default value of an empty sub, and Nil ~~ Mu | 14:52 | ||||||||||||||||||||||||||||||||||||||
lizmat | ah, duh... :-) | 14:53 | |||||||||||||||||||||||||||||||||||||
pmurias | hmm, should rakudo.js be required to support int64? | ||||||||||||||||||||||||||||||||||||||
I could emulate int64 with BigInts but the problem is that if I treat js as a 32bit backend, add_i etc. will be 32bit | 14:56 | ||||||||||||||||||||||||||||||||||||||
Kaiepi | can someone take a look at github.com/perl6/nqp/pull/505/comm...a4342213b9 ? i'm not very experienced with java and i'm not sure if there's a better way of implementing the new op | 15:02 | |||||||||||||||||||||||||||||||||||||
15:03
brrt left
15:05
Ven` left
15:06
SyrupThinker joined
15:07
p6bannerbot sets mode: +v SyrupThinker
|
|||||||||||||||||||||||||||||||||||||||
SyrupThinker | Hi. I found a simple bug in rakudo and have a one char fix for it. Should I open a GitHub report or just provide it here? | 15:09 | |||||||||||||||||||||||||||||||||||||
Kaiepi | make a pullreq | 15:10 | |||||||||||||||||||||||||||||||||||||
timotimo | i mean, it'd surely be fine to find someone who'd immediately commit it for you if you don't want to go through the song and dance | ||||||||||||||||||||||||||||||||||||||
pmurias | Kaiepi: why are use using this.attribute instead of attribute | 15:11 | |||||||||||||||||||||||||||||||||||||
? | |||||||||||||||||||||||||||||||||||||||
SyrupThinker | That was more my reasoning, because it really is one char | ||||||||||||||||||||||||||||||||||||||
Kaiepi | i don't need to? | ||||||||||||||||||||||||||||||||||||||
i thought i did since i'm used to javascript | |||||||||||||||||||||||||||||||||||||||
timotimo | you can turn it into a shell one-liner that edits the file with sed or ed, "git add"s it, git commit -m's it with a nice message and GIT_AUTHOR set ... :) | 15:13 | |||||||||||||||||||||||||||||||||||||
SyrupThinker | Alright :) | ||||||||||||||||||||||||||||||||||||||
diakopter | just say the diff :) | ||||||||||||||||||||||||||||||||||||||
what's the character | 15:14 | ||||||||||||||||||||||||||||||||||||||
SyrupThinker | Nah, that was so nice I'll do the PR. Its 2 -> 3 | ||||||||||||||||||||||||||||||||||||||
diakopter | oooooo off by 1ish | ||||||||||||||||||||||||||||||||||||||
15:16
pmurias left
15:17
pmurias joined,
p6bannerbot sets mode: +v pmurias
15:22
Ven` joined,
pmurias_ joined,
p6bannerbot sets mode: +v pmurias_
15:23
p6bannerbot sets mode: +v Ven`,
pmurias left
15:24
epony left
15:29
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke
15:30
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
15:32
ExtraCrispy joined,
p6bannerbot sets mode: +v ExtraCrispy
15:41
ExtraCrispy left
15:43
ExtraCrispy joined,
p6bannerbot sets mode: +v ExtraCrispy
15:45
patrickb left
|
|||||||||||||||||||||||||||||||||||||||
pmurias_ | Kaiepi: Foo(Bar attribute) {this.attribute = attribute;} is commonly used in constructors but when you don't need this. usually | 15:49 | |||||||||||||||||||||||||||||||||||||
Kaiepi | oh | 15:50 | |||||||||||||||||||||||||||||||||||||
16:02
pmurias_ is now known as pmurias
|
|||||||||||||||||||||||||||||||||||||||
pmurias | jnthn: do you think adding nqp::add_i64, etc. and a new value for nqp::objprimspec for int64 a sane plan to emulate 64bit ints on 32bit backends? | 16:03 | |||||||||||||||||||||||||||||||||||||
s/a/is a/ | |||||||||||||||||||||||||||||||||||||||
16:03
robertle left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Hmm...not especially, the assumption had been that calculations would be done at full width | 16:04 | |||||||||||||||||||||||||||||||||||||
Though if native full width is 32-bit I guess that's trickier... | |||||||||||||||||||||||||||||||||||||||
Wonder if add_i on such platforms can infer it from considering the argument types | 16:05 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: SyrupThinker++ created pull request #2350: Use the correct ContainerDescriptor for Shaped3Array |
||||||||||||||||||||||||||||||||||||||
pmurias | jnthn: well if we add two 32bit ints we might want a 64bit result :/ | 16:12 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | SyrupThinker: can you also PR some tests in roast? github.com/perl6/roast/ | ||||||||||||||||||||||||||||||||||||||
pmurias | my int $x; my int $y; my int64 $a = $x + $y; | 16:13 | |||||||||||||||||||||||||||||||||||||
jnthn: ^^ like this | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: I disagree, btw. Going through song and dance is a better idea because it unsures we'll end up with a test in roast | 16:17 | |||||||||||||||||||||||||||||||||||||
creating a ticket first never hurts | |||||||||||||||||||||||||||||||||||||||
ensures* | 16:18 | ||||||||||||||||||||||||||||||||||||||
pmurias | jnthn: nqp::objprimspec would stay the same on 64bit backends, the plan is that if I stopped the int multis from getting choosen for int64 on the js backend I could add my own js specific int64 multis | 16:19 | |||||||||||||||||||||||||||||||||||||
jnthn | pmurias: We don't actually dispatch by native integer size, though :) | ||||||||||||||||||||||||||||||||||||||
16:19
brrt joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | 6c: my @a[1;1;1]; | 16:20 | |||||||||||||||||||||||||||||||||||||
pmurias | jnthn: yep, that's why int64s won't be considered native integers on the js backend | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Ā¦6c (33 commits): Ā«Ā» | ||||||||||||||||||||||||||||||||||||||
16:20
p6bannerbot sets mode: +v brrt
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | SyrupThinker: ā by the way, it doesn't fail? | 16:20 | |||||||||||||||||||||||||||||||||||||
pmurias | jnthn: that would be the change the primspec for them part | ||||||||||||||||||||||||||||||||||||||
jnthn: so conceptually the would be considered "unnaturally spacious integer like things" | 16:23 | ||||||||||||||||||||||||||||||||||||||
jnthn | pmurias: I don't quite see how it'd work, but feel free to experiment a bit of course. | ||||||||||||||||||||||||||||||||||||||
(It's probably possible.) | |||||||||||||||||||||||||||||||||||||||
pmurias | seems a bit crazy but I don't have anything saner in mind | ||||||||||||||||||||||||||||||||||||||
jnthn | How bad is to treat "don't have int64" as a JS backend limitation? | 16:24 | |||||||||||||||||||||||||||||||||||||
pmurias | not sure, there are a tons of other much more important things in terms of stuff that users will want | ||||||||||||||||||||||||||||||||||||||
jnthn | (I agree making int 32-bit on JS is the sensible thing) | 16:25 | |||||||||||||||||||||||||||||||||||||
Yeah, given we have bigint support, it doesn't feel like the most pressing thing | |||||||||||||||||||||||||||||||||||||||
Though -Ofun of course :) | |||||||||||||||||||||||||||||||||||||||
Well, except to me it doesn't sound like a fun problem at all :D | 16:26 | ||||||||||||||||||||||||||||||||||||||
pmurias | I'm mostly tackling that right now because that's one of the few remaining things that I had in my list of things that need to pass in the grant proposal :/ | ||||||||||||||||||||||||||||||||||||||
jnthn | Ah | ||||||||||||||||||||||||||||||||||||||
pmurias | (it wasn't explicitly written in but one of the tests in that category tests postfix:<++> on int64) | 16:28 | |||||||||||||||||||||||||||||||||||||
bbl& | 16:29 | ||||||||||||||||||||||||||||||||||||||
SyrupThinker | AlexDaniel: I have run the tests and it passed | 16:33 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | SyrupThinker: yes, but I'm talking about *new* tests for that issue | 16:34 | |||||||||||||||||||||||||||||||||||||
SyrupThinker | Oh, I misunderstood the question. I didn't have a font for the arrow. | 16:40 | |||||||||||||||||||||||||||||||||||||
6c: my @a[1;1;1]; say @a; | 16:44 | ||||||||||||||||||||||||||||||||||||||
committable6 | SyrupThinker, gist.github.com/c8622301f6c06806df...2b85c4d846 | 16:45 | |||||||||||||||||||||||||||||||||||||
SyrupThinker | AlexDaniel: ^ | 16:46 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | I see | 16:47 | |||||||||||||||||||||||||||||||||||||
I think this would be the right file for the test: github.com/perl6/roast/blob/master...al_array.t | 16:48 | ||||||||||||||||||||||||||||||||||||||
by the way | 16:49 | ||||||||||||||||||||||||||||||||||||||
bisect: my @a[1;1;1]; say @a; | |||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, Bisecting by exit code (old=2015.12 new=9273577). Old exit code: 0 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | just out of curiosity | ||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, bisect log: gist.github.com/5a58bf44515d3457e6...408cbccd21 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, (2018-07-09) github.com/rakudo/rakudo/commit/52...108c3fa57d | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: 52f1b89df7^,52f1b89df7 my @a[1;1;1]; say @a; | 16:50 | |||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Ā¦52f1b89df7^: Ā«[[[(Any)]]]ā¤Ā» Ā¦52f1b89: Ā«Too many positionals passed; expected 5 arguments but got 6ā¤ in block <unit> at /tmp/sIrM7zr8qv line 1ā¤ā¤ Ā«exit code = 1Ā»Ā» | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | not exactly the one, but doesn't matter | 16:53 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 9acbf00041 | (Elizabeth Mattijsen)++ | 2 files Make sure that Hash[Int].new gets the correct descriptor According to a bisect, this issue has existed since at least Christmas. The problem was that Hash.new would do nothing about a descriptor. Before the scalar refactor, that meant that the descriptor was nqp::null. After that refactor, it has a default descriptor, but still not the right thing. Apparently, when you say "my Int %h", the correct descriptor is codegenned ... (6 more lines) |
17:10 | |||||||||||||||||||||||||||||||||||||
lizmat | will add tests after dinner& | ||||||||||||||||||||||||||||||||||||||
17:11
Ven` left
|
|||||||||||||||||||||||||||||||||||||||
SyrupThinker | AlexDaniel: There is a block that is currently skipped. | 17:12 | |||||||||||||||||||||||||||||||||||||
One of the tests still fails. | |||||||||||||||||||||||||||||||||||||||
Should I just unskip it? | |||||||||||||||||||||||||||||||||||||||
17:12
patrickb joined
17:13
p6bannerbot sets mode: +v patrickb
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | SyrupThinker: oh! Nice find. So the first block seems to be working now. `is(@md.elems, 4, ā¦` test indeed fails, but I think it's wrong | 17:15 | |||||||||||||||||||||||||||||||||||||
SyrupThinker: so yes, you can unskip the first skip and fix that last test | |||||||||||||||||||||||||||||||||||||||
SyrupThinker: also I've sent you an invite to perl6 org on github, you can accept it here: github.com/orgs/perl6 | 17:16 | ||||||||||||||||||||||||||||||||||||||
SyrupThinker: so that you have more access to do things :) | |||||||||||||||||||||||||||||||||||||||
if you wish, of course. PRs are fine too | 17:18 | ||||||||||||||||||||||||||||||||||||||
SyrupThinker | Cool thanks. You thinks its wrong, would I check the apocalypses or something to figure that one out? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | we can cheat | 17:19 | |||||||||||||||||||||||||||||||||||||
m: my @md[2;2]; say @md.elems | |||||||||||||||||||||||||||||||||||||||
camelia | 2 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: ^ is it right? | ||||||||||||||||||||||||||||||||||||||
SyrupThinker: anyway, change it to 2 for now. We had this behavior since 2015.11, may as well test it | 17:33 | ||||||||||||||||||||||||||||||||||||||
SyrupThinker | github.com/perl6/roast/blob/f11042...#L149-L159 | ||||||||||||||||||||||||||||||||||||||
Should I throw this one out on the way is that as a trait still planned? | 17:34 | ||||||||||||||||||||||||||||||||||||||
*or* | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | SyrupThinker: I'd leave it, you can also file some tickets (e.g. on github.com/rakudo/rakudo/issues ) to clarify the fate of these tests | 17:35 | |||||||||||||||||||||||||||||||||||||
though you can file them in roast too github.com/perl6/roast/ | |||||||||||||||||||||||||||||||||||||||
17:43
epony joined,
p6bannerbot sets mode: +v epony
|
|||||||||||||||||||||||||||||||||||||||
patrickb | Hi everyone! | 18:02 | |||||||||||||||||||||||||||||||||||||
Is there a way to retrieve the current file (aka $?FILE) dynamically? | |||||||||||||||||||||||||||||||||||||||
timotimo | patrickb: try callframe(0) or 1 perhaps? | 18:04 | |||||||||||||||||||||||||||||||||||||
patrickb | I'm especially interested in doing this in ModuleLoader.pm6 | 18:05 | |||||||||||||||||||||||||||||||||||||
timotimo: Giving it a try... | |||||||||||||||||||||||||||||||||||||||
18:07
brrt left
|
|||||||||||||||||||||||||||||||||||||||
patrickb | timotimo: Nope, they are also compile time. :-( | 18:10 | |||||||||||||||||||||||||||||||||||||
timotimo | i'm not entirely sure what the difference would be | ||||||||||||||||||||||||||||||||||||||
patrickb | when you move the file (including .precomp) it'll still return the old file path | 18:11 | |||||||||||||||||||||||||||||||||||||
it's compiled into the precomp file | |||||||||||||||||||||||||||||||||||||||
I'm still looking into the relocatable p6 thing. | |||||||||||||||||||||||||||||||||||||||
And I'm in search for a way to determine the installation path at runtime. | 18:12 | ||||||||||||||||||||||||||||||||||||||
timotimo | oh | ||||||||||||||||||||||||||||||||||||||
yeah, i'm not sure there's a way to get that unless you're changing ModuleLoader itself to store it away somewhere | 18:13 | ||||||||||||||||||||||||||||||||||||||
patrickb | But storing it away doesn't help. I need the actual path at runtime. | 18:14 | |||||||||||||||||||||||||||||||||||||
My first idea was to add an op to the backends that returns that path (Determined by looking at the executable path). But that requires the backend to know where the frontends are installed relative to itself. | 18:15 | ||||||||||||||||||||||||||||||||||||||
So now I think it'll be better to let nqp and rakudo determine their install locations themselves. | 18:16 | ||||||||||||||||||||||||||||||||||||||
So I need a reliable way to determine the path of a file in the installation dir. | 18:17 | ||||||||||||||||||||||||||||||||||||||
timotimo | a hairy problem for sure | 18:20 | |||||||||||||||||||||||||||||||||||||
i'll be afk for a bit | |||||||||||||||||||||||||||||||||||||||
patrickb | Is it possible there currently is no reliable way to do that atm? | ||||||||||||||||||||||||||||||||||||||
So one would need to implement it first? | |||||||||||||||||||||||||||||||||||||||
btw $?FILE and callframe(0).file currently both return the full path. | 18:21 | ||||||||||||||||||||||||||||||||||||||
And they seem to be compile time. That makes rakudo builds non reproducible. Is that on purpose? | 18:22 | ||||||||||||||||||||||||||||||||||||||
Ugh. loads of roast tests depend on $?FILE being a full path. :-( | 18:32 | ||||||||||||||||||||||||||||||||||||||
Am I missing the point here or does $?FILE prevent perl6 to be relocatable? (Since $?FILE is by definition compile time and "use lib $?FILE.IO...." seems to be an often used pattern there is no easy way out.) | 18:38 | ||||||||||||||||||||||||||||||||||||||
lizmat | patrickb: I think it's really hysterical raisins | 18:39 | |||||||||||||||||||||||||||||||||||||
and it *should* be fixed, adaik | 18:40 | ||||||||||||||||||||||||||||||||||||||
*afaik | |||||||||||||||||||||||||||||||||||||||
m: my Int %h; %h<a> := "b"; dd %h # should this be allowed or not ? | |||||||||||||||||||||||||||||||||||||||
camelia | Hash[Int] %h = (my Int % = :a("b")) | ||||||||||||||||||||||||||||||||||||||
lizmat | jnthn moritz masak ^^ | ||||||||||||||||||||||||||||||||||||||
patrickb | lizmat: What do you mean with "hysterical raisins"? | 18:41 | |||||||||||||||||||||||||||||||||||||
lizmat | historical reasons | 18:42 | |||||||||||||||||||||||||||||||||||||
patrickb | OK. | ||||||||||||||||||||||||||||||||||||||
lizmat | aka it just went that way because relocatability was not on enough people's radar | ||||||||||||||||||||||||||||||||||||||
patrickb | :-( | ||||||||||||||||||||||||||||||||||||||
lizmat | or simply deemed not important enough (yet) | ||||||||||||||||||||||||||||||||||||||
this is also complicated by the fact that Perl 6 doesn't have the concept of a "current working dir" at the OS level | 18:43 | ||||||||||||||||||||||||||||||||||||||
patrickb | lizmat: Might it be possible there actually currently is no way to determine the current files path at runtime? | 18:45 | |||||||||||||||||||||||||||||||||||||
lizmat | you mean, as a script? | ||||||||||||||||||||||||||||||||||||||
m: dd $*EXECUTABLE | 18:47 | ||||||||||||||||||||||||||||||||||||||
camelia | IO::Path.new("./rakudo-m-inst/bin/perl6-m", :SPEC(IO::Spec::Unix), :CWD("/home/camelia")) | ||||||||||||||||||||||||||||||||||||||
patrickb | Something that lets me deduce where perl6 is installed at runtime. ;-) | ||||||||||||||||||||||||||||||||||||||
lizmat | m: dd $*PROGRAM | ||||||||||||||||||||||||||||||||||||||
camelia | IO::Path.new("<tmp>", :SPEC(IO::Spec::Unix), :CWD("/home/camelia")) | ||||||||||||||||||||||||||||||||||||||
lizmat | patrickb: you probably want $*PROGRAM or $*PROGRAM-NAME | 18:49 | |||||||||||||||||||||||||||||||||||||
patrickb | lizmat: I'm testing a little | 18:52 | |||||||||||||||||||||||||||||||||||||
$*EXECUTABLE depends on the moar --execname parameter. That could actually work... | 18:54 | ||||||||||||||||||||||||||||||||||||||
18:55
ggoebel left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: Yes, .elems gives you the first dimension | 19:05 | |||||||||||||||||||||||||||||||||||||
(By design) | |||||||||||||||||||||||||||||||||||||||
lizmat: We tend to enforce that on binding | 19:06 | ||||||||||||||||||||||||||||||||||||||
lizmat: I'd guess there's no BIND-KEY in the TypedHash role | |||||||||||||||||||||||||||||||||||||||
lizmat | yeah, that's what I thought | ||||||||||||||||||||||||||||||||||||||
there is | |||||||||||||||||||||||||||||||||||||||
it's just not getting called | |||||||||||||||||||||||||||||||||||||||
lizmat investigates further | 19:07 | ||||||||||||||||||||||||||||||||||||||
jnthn | Hm, odd | ||||||||||||||||||||||||||||||||||||||
19:07
ggoebel joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | yeah | 19:07 | |||||||||||||||||||||||||||||||||||||
19:08
p6bannerbot sets mode: +v ggoebel
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 39086fedab | (Elizabeth Mattijsen)++ | src/core/Hash.pm6 Hash.of/name/default/dynamic can only be called on instances And since a Hash nowadays *always* has a descriptor, we can remove the check for that. |
19:09 | |||||||||||||||||||||||||||||||||||||
lizmat | jnthn: BIND-KEY in Hash is a multi, and the role mixes in an only | 19:10 | |||||||||||||||||||||||||||||||||||||
I guess that's the source of the problem | |||||||||||||||||||||||||||||||||||||||
aha, it *is* missing for the Hash[Int] case | 19:12 | ||||||||||||||||||||||||||||||||||||||
19:15
MasterDuke left
|
|||||||||||||||||||||||||||||||||||||||
patrickb | lizmat: $*EXECUTABLE is currently populated by $0 in the startup script. That's basically whatever the user called the script with. Symlinks already make it break. | 19:25 | |||||||||||||||||||||||||||||||||||||
lizmat | :-( | 19:27 | |||||||||||||||||||||||||||||||||||||
patrickb is looking in roast whether that is specced... | 19:28 | ||||||||||||||||||||||||||||||||||||||
19:28
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke
19:29
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
|
|||||||||||||||||||||||||||||||||||||||
patrickb | I guess $*EXECUTABLE should stay the way it is. I see its usefulness. | 19:31 | |||||||||||||||||||||||||||||||||||||
Which means $*EXECUTABLE is also off my list. | |||||||||||||||||||||||||||||||||||||||
MasterDuke | patrickb: would it make sense to create a new variable? | 19:32 | |||||||||||||||||||||||||||||||||||||
patrickb | I dunno. Maybe. | ||||||||||||||||||||||||||||||||||||||
MasterDuke | pmurias: i saw you did a bunch of truffle work a little while ago, what's the next thing that needs working on? | 19:34 | |||||||||||||||||||||||||||||||||||||
patrickb | As far as I can see the frontend currently has no way to retrieve a files location reliably. $*EXECUTABLE also fails. Any more ideas? | ||||||||||||||||||||||||||||||||||||||
patrickb suspects there won't be any | |||||||||||||||||||||||||||||||||||||||
19:35
AlexDaniel left
|
|||||||||||||||||||||||||||||||||||||||
patrickb | So I'd need to create some mechanism to help with this. | 19:35 | |||||||||||||||||||||||||||||||||||||
19:35
AlexDaniel joined
19:36
p6bannerbot sets mode: +v AlexDaniel
|
|||||||||||||||||||||||||||||||||||||||
patrickb | A $*FILE as the runtime sibling to $?FILE should work. | 19:36 | |||||||||||||||||||||||||||||||||||||
Next question: What should that return in a lib that has been precompiled? And what should it return in a whatever.moarvm file that was called directly? | 19:37 | ||||||||||||||||||||||||||||||||||||||
My intuition is: precomp should be completely transparent, thus in the first case it should return the libs source file. The second case should return the path of the whatever.moarvm file. | 19:38 | ||||||||||||||||||||||||||||||||||||||
nine: I think you might have an opinion on the above. I'd like to hear it. | 19:39 | ||||||||||||||||||||||||||||||||||||||
(If $*FILE actually happens, one could think about getting rid of $?FILE, but that's a different story) | 19:41 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | patrickb: i'd recommend asking ugexe also, seems like something he might also have an opinion on | ||||||||||||||||||||||||||||||||||||||
patrickb | ugexe: I think you might have an opinion on the above. I'd like to hear it. | 19:42 | |||||||||||||||||||||||||||||||||||||
nine | patrickb: precomp files are sort of relocatable. At least when they are stored in one of the named repositories (perl, vendor, site, home). Then paths should be stored relative to that repo. | 19:50 | |||||||||||||||||||||||||||||||||||||
patrickb | nine: What do you think about a $*FILE variable that returns the current files path? | 19:51 | |||||||||||||||||||||||||||||||||||||
19:52
pmurias left
|
|||||||||||||||||||||||||||||||||||||||
patrickb | I'm not sure this idea is in general compatible with the way modules are handled in p6. | 19:52 | |||||||||||||||||||||||||||||||||||||
nine | FWIW I use "use lib $*PROGRAM.parent.child('lib')" and the like in my scripts | 19:53 | |||||||||||||||||||||||||||||||||||||
patrickb | I think to remember the module loading system is designed to allow modules to come from all sorts of sources (zip file, stream, whatever). What should $*FILE return in such a case? | ||||||||||||||||||||||||||||||||||||||
nine | So what's the use case you're aiming at? | 19:54 | |||||||||||||||||||||||||||||||||||||
patrickb | I'm in search of a way to make perl6 itself relocatable. | ||||||||||||||||||||||||||||||||||||||
So I need a way for rakudo (and nqp) to determine their install locations at runtime. | |||||||||||||||||||||||||||||||||||||||
lizmat | m: my Int %h{Any} = a => Nil; # jnthn, we agree that this *should* work, right ? | 19:55 | |||||||||||||||||||||||||||||||||||||
camelia | Type check failed in binding to parameter 'x'; expected Int but got Nil (Nil) in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
nine | How do other scripting languages solve this? | 19:57 | |||||||||||||||||||||||||||||||||||||
patrickb | Good question. | 19:58 | |||||||||||||||||||||||||||||||||||||
19:58
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
patrickb has a look at python | 19:59 | ||||||||||||||||||||||||||||||||||||||
nine: FWIW my first idea was to add an op to moar that returns the install path and determine that based on the moar executable location. But that's assuming that moar knows where the frontends are installed. Thus I started looking into how the frontends could determine their install location themself. | 20:00 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | lizmat: isn't that error kind of LTA either way? why does it mention some random parameter? | 20:01 | |||||||||||||||||||||||||||||||||||||
Geth | roast: SyrupThinker++ created pull request #483: Shaped array test improvements |
||||||||||||||||||||||||||||||||||||||
pmurias | MasterDuke: the bit more complex thing that comes to my mind (but more interesting) is to deserialize the P6opaque repr data | ||||||||||||||||||||||||||||||||||||||
lizmat | MasterDuke: indeed, that's what I'm trying to MMA (make more awesome) | ||||||||||||||||||||||||||||||||||||||
pmurias | MasterDuke: also the composing thing that would create the object shape | 20:02 | |||||||||||||||||||||||||||||||||||||
MasterDuke | lizmat++ | ||||||||||||||||||||||||||||||||||||||
pmurias | MasterDuke: www.graalvm.org/truffle/javadoc/co...ayout.html and www.graalvm.org/truffle/javadoc/co...bject.html contain most of the info for the support truffle provides for objects | 20:03 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: ea71041424 | (Elizabeth Mattijsen)++ | src/core/Hash.pm6 Make sure we also typecheck on Hash[Int].new<a> := "b" |
20:04 | |||||||||||||||||||||||||||||||||||||
rakudo: 560e94ef25 | (Elizabeth Mattijsen)++ | src/core/Hash.pm6 Make binding on a typed Hash a bit more awesome Since we are typechecking on the 2nd parameter of BIND-KEY, the name of the parameter leaks out. Change the name to make it less obvious that it is actually the name of a parameter |
|||||||||||||||||||||||||||||||||||||||
nine | Does NQP support class stubs? | ||||||||||||||||||||||||||||||||||||||
MasterDuke | pmurias: hm, sounds not blindingly simple | ||||||||||||||||||||||||||||||||||||||
lizmat | nqp: class Foo { } | ||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
lizmat | nine ^^^ | 20:05 | |||||||||||||||||||||||||||||||||||||
pmurias | MasterDuke: something simpler would be nqp::for | ||||||||||||||||||||||||||||||||||||||
MasterDuke: something still simpler would be nqp::isstr ;) | |||||||||||||||||||||||||||||||||||||||
MasterDuke: that would be the hard/medium/easy tasks :) | 20:06 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | pmurias++ | ||||||||||||||||||||||||||||||||||||||
nine | nqp: class Foo { }; sub foo(Foo $f) { }; class Foo { has $!foo; }; foo(Foo.new) | ||||||||||||||||||||||||||||||||||||||
camelia | Lexical 'Foo' already declared at gen/moar/stage2/QAST.nqp:4842 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/QAST.moarvm:register_lexical) from gen/moar/stage2/QAST.nqp:4823 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/QAST.moarvm:add_lexical) from ā¦ |
||||||||||||||||||||||||||||||||||||||
Geth | roast: 28301d7c5d | (Elizabeth Mattijsen)++ | 2 files Add tests for R#2348 |
20:07 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2348 [open]: github.com/rakudo/rakudo/issues/2348 The type constraint on Hash[Type] doesn't work | ||||||||||||||||||||||||||||||||||||||
pmurias | MasterDuke: I plan to return to the truffle backends but I want to still finish up some things on the js backend | 20:08 | |||||||||||||||||||||||||||||||||||||
MasterDuke | pmurias: btw, i noticed that add_simple_op (or one of the similar functions) takes its arguments in different orders across the different backends | ||||||||||||||||||||||||||||||||||||||
i may try to make them consistent | |||||||||||||||||||||||||||||||||||||||
pmurias: no worries, i also have several irons all in the fire and just work on whatever one strikes my fancy at the moment | 20:09 | ||||||||||||||||||||||||||||||||||||||
pmurias | MasterDuke: truffle and js have the same order | 20:10 | |||||||||||||||||||||||||||||||||||||
longer term the js backend needs some drastic performance improvements but I need to think over how they will look and hype myself up | 20:11 | ||||||||||||||||||||||||||||||||||||||
timotimo | nine: i think we have .sibling(a) instead of .parent.child(a) | 20:12 | |||||||||||||||||||||||||||||||||||||
MasterDuke | pmurias: i might also be thinking of map_classlib_core_op for the JVM backend | 20:18 | |||||||||||||||||||||||||||||||||||||
20:18
pmurias left
20:24
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
CIAvash | lizmat: thanks for the quick fix | 20:32 | |||||||||||||||||||||||||||||||||||||
lizmat | CIAvash: took a little figuring out what the problem was and how to best fix it :-) | ||||||||||||||||||||||||||||||||||||||
Geth | roast: d395f0dc63 | (Valentin Anger)++ | S02-types/multi_dimensional_array.t Enable the 'real multi-dimensional arrays' tests The .elems test has been updated in accordance to the discussion in github.com/rakudo/rakudo/issues/2351 |
20:42 | |||||||||||||||||||||||||||||||||||||
roast: 95f608298b | (Valentin Anger)++ | S02-types/multi_dimensional_array.t Add a test for 1 to n dimensional shaped arrays Considering the bugs: github.com/rakudo/rakudo/pull/2350 github.com/rakudo/rakudo/issues/2352 there need to be tests that are done for higher dimensions than what is usually used to make sure that these cases are also supported. |
|||||||||||||||||||||||||||||||||||||||
roast: df1cabbc8a | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S02-types/multi_dimensional_array.t Merge pull request #483 from SyrupThinker/shaped_array_test_improvements Shaped array test improvements |
|||||||||||||||||||||||||||||||||||||||
rakudo: f61ba41a28 | (Elizabeth Mattijsen)++ | src/core/Hash.pm6 Allow Nil to be assigned to object Hashes - don't let the typecheck on ASSIGN-KEY do the work - let the actual assignment do the type check for better diagnostics - also allows Nil to be assigned - also assignment of existing key 20% faster |
20:49 | ||||||||||||||||||||||||||||||||||||||
rakudo: a2e78ec8eb | (Valentin Anger)++ | src/core/Shaped3Array.pm6 Use the correct ContainerDescriptor for Shaped3Array |
21:08 | ||||||||||||||||||||||||||||||||||||||
rakudo: a6b43a5ea2 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | src/core/Shaped3Array.pm6 Merge pull request #2350 from SyrupThinker/master Use the correct ContainerDescriptor for Shaped3Array |
|||||||||||||||||||||||||||||||||||||||
rakudo: 605bcb391f | (Elizabeth Mattijsen)++ | src/core/Hash.pm6 Allow assignment of Nil to type constrained hashes Also simplify the code, making it a few percent faster as well. |
21:13 | ||||||||||||||||||||||||||||||||||||||
21:13
travis-ci joined,
p6bannerbot sets mode: +v travis-ci
|
|||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build canceled. Aleks-Daniel Jakimenko-Aleksejev 'Merge pull request #2350 from SyrupThinker/master | 21:13 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/438841795 github.com/rakudo/rakudo/compare/f...b43a5ea25a | |||||||||||||||||||||||||||||||||||||||
21:13
travis-ci left
|
|||||||||||||||||||||||||||||||||||||||
buggable | [travis build above] ā Did not recognize some failures. Check results manually. | 21:13 | |||||||||||||||||||||||||||||||||||||
Geth | roast: e8a337b257 | (Elizabeth Mattijsen)++ | S11-modules/export.t Revert "Unfudge now passing tests" This reverts commit f11042b93790302a3c1d792168546bd66b0204bb. Alas, it is a flapper :-( |
21:17 | |||||||||||||||||||||||||||||||||||||
roast: 6742124fbf | (Elizabeth Mattijsen)++ | S12-introspection/WHAT.t Unfudge now passing tests Apparently R#2348 fixed these |
|||||||||||||||||||||||||||||||||||||||
synopsebot | R#2348 [closed]: github.com/rakudo/rakudo/issues/2348 The type constraint on Hash[Type] doesn't work | ||||||||||||||||||||||||||||||||||||||
21:23
patrickb left
21:45
pmurias left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/10/08/...ed-the-js/ | 21:47 | |||||||||||||||||||||||||||||||||||||
21:47
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 7e86d4e30b | (Elizabeth Mattijsen)++ | src/core/Hash.pm6 Allow Nil as value in initialization of object hash |
21:59 | |||||||||||||||||||||||||||||||||||||
22:01
Ven` joined
22:02
p6bannerbot sets mode: +v Ven`
|
|||||||||||||||||||||||||||||||||||||||
[Coke] has an error building the js backend. | 22:06 | ||||||||||||||||||||||||||||||||||||||
22:06
Ven` left
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | gist.github.com/coke/5aed40ab09957...91103b4238 | 22:08 | |||||||||||||||||||||||||||||||||||||
22:08
ExtraCrispy left,
ExtraCrispy joined,
p6bannerbot sets mode: +v ExtraCrispy
|
|||||||||||||||||||||||||||||||||||||||
[Coke] opened github.com/rakudo/rakudo/issues/2353 to track | 22:17 | ||||||||||||||||||||||||||||||||||||||
jnthn | lizmat: (Nil) yeah, we should, alas :) | 22:20 | |||||||||||||||||||||||||||||||||||||
22:35
jsimonet left
22:44
jsimonet joined
22:45
p6bannerbot sets mode: +v jsimonet
|
|||||||||||||||||||||||||||||||||||||||
jnthn | lizmat: "wit regards to" *with | 22:45 | |||||||||||||||||||||||||||||||||||||
22:48
Ven` joined
22:49
p6bannerbot sets mode: +v Ven`
|
|||||||||||||||||||||||||||||||||||||||
jnthn | lizmat++ # weekly | 22:51 | |||||||||||||||||||||||||||||||||||||
22:53
Ven` left
|
|||||||||||||||||||||||||||||||||||||||
japhb | OK, my ratchet-rakudo loop completed. Last passing revision was: 75cf8be723b6e48710d24e553fdff48978f49329 pass # 2018.09-24-g75cf8be72 | 22:55 | |||||||||||||||||||||||||||||||||||||
Every revision it tested after that one FAILed. | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | japhb: ok, now, what's the failing module on that revision? | 22:58 | |||||||||||||||||||||||||||||||||||||
japhb | AlexDaniel: Thankfully I saved all the build logs, lemme check. :-) | ||||||||||||||||||||||||||||||||||||||
22:59
jsimonet left
|
|||||||||||||||||||||||||||||||||||||||
japhb | (I assume you mean the first one that FAILed) | 22:59 | |||||||||||||||||||||||||||||||||||||
43919c6b84e91e7b7da4444167bb5f72d6bc2e5f FAIL # 2018.09-25-g43919c6b8 | |||||||||||||||||||||||||||||||||||||||
===> Testing: Cro::HTTP:ver<0.7.6.1> | 23:00 | ||||||||||||||||||||||||||||||||||||||
# Failed test 'Concurrent client works' | |||||||||||||||||||||||||||||||||||||||
# at t/http-client.t line 462 | |||||||||||||||||||||||||||||||||||||||
# expected: '5' | |||||||||||||||||||||||||||||||||||||||
# got: '0' | |||||||||||||||||||||||||||||||||||||||
# Looks like you failed 1 test of 76 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | japhb: I mean modules that are failing on that rakudo revision | 23:01 | |||||||||||||||||||||||||||||||||||||
so that Cro thing, is it flapping or not? | |||||||||||||||||||||||||||||||||||||||
japhb | No modules fail on 2018.09-24-g75cf8be72, that's the last one that succeeded all the way through. | ||||||||||||||||||||||||||||||||||||||
Checking flapping | 23:02 | ||||||||||||||||||||||||||||||||||||||
23:06
jsimonet joined
23:07
p6bannerbot sets mode: +v jsimonet
|
|||||||||||||||||||||||||||||||||||||||
japhb | That error was consistent from 2018.09-25 to 2018.09-66, with the exception of 2018.09-53 which has a Nativecall failure, then has Unicode errors from 2018.09-67 through 2018.09-72, then there's a big gap for the js merge at -352, which fails to even build moar through -357, then unicode errors again from -358 through -366, then a small gap, then IO::Path::ChildSecure errors from -370 to -373 (the last | 23:12 | |||||||||||||||||||||||||||||||||||||
one built) | |||||||||||||||||||||||||||||||||||||||
23:36
travis-ci joined,
p6bannerbot sets mode: +v travis-ci
|
|||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Allow Nil as value in initialization of object hash' | 23:36 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/438862850 github.com/rakudo/rakudo/compare/6...86d4e30bdd | |||||||||||||||||||||||||||||||||||||||
23:36
travis-ci left
|