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:01
anatofuz joined
00:08
anatofuz left,
anatofuz joined
00:09
anatofuz left
00:10
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: BTW, I'm almost done fixing $a = 1; $a ,= 2 where current implementation causes the LHS scalar to be assigned with the newly created list causing a recursive data structure. Like: | 00:12 | |||||||||||||||||||||||||||||||||||||
m: my $a = 1; $a ,= 2; say $a.perl | |||||||||||||||||||||||||||||||||||||||
evalable6 | (my \List_93926578496192 = $(List_93926578496192, 2)) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel` | japhb: there's already a matrix client in perl6 | 00:13 | |||||||||||||||||||||||||||||||||||||
00:13
leont left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | There're two solutions: either decont $a or clone the container when it's passed into an infix op. Can't choose which way is better. | 00:13 | |||||||||||||||||||||||||||||||||||||
Container cloning is a bit slower way but it wouldn't break operators whose behavior might depend on whether they receive a value or a container. | 00:15 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel` | japhb: also there are 20+ people in Perl 6 / Raku community on matrix.org | 00:16 | |||||||||||||||||||||||||||||||||||||
japhb: and I'm using matrix right now to talk to you via their freenode bridge… :) | 00:17 | ||||||||||||||||||||||||||||||||||||||
timotimo | how many of them are on matrix but not on the bridge? | 00:18 | |||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel: regarding the release blockers: two of them depend on #3174. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel` | timotimo: I was only sending invites to those lurking on #perl6 channel | 00:19 | |||||||||||||||||||||||||||||||||||||
via the bridge | |||||||||||||||||||||||||||||||||||||||
timotimo | OK | ||||||||||||||||||||||||||||||||||||||
AlexDaniel` | and if your server is federating with matrix.org (I guess most servers do), then you can join #perl6 via the bridge | ||||||||||||||||||||||||||||||||||||||
timotimo | i had a matrix client but i only used it once and forgot its name so now i can't go on matrix any more | 00:20 | |||||||||||||||||||||||||||||||||||||
AlexDaniel` | here: riot.im/app/#/room/#freenode_#perl...matrix.org | 00:21 | |||||||||||||||||||||||||||||||||||||
though it probably won't let you in unless you log in? I'm not sure | |||||||||||||||||||||||||||||||||||||||
yeah, seems so | |||||||||||||||||||||||||||||||||||||||
timotimo | riot refused to work for me last time i tried | 00:22 | |||||||||||||||||||||||||||||||||||||
AlexDaniel` | surprisingly this is publicly visible: riot.im/develop/#/group/+perl6:matrix.org | 00:23 | |||||||||||||||||||||||||||||||||||||
vrurg | timotimo: maybe you'd have an opinion on my question above? I'm balancing 50/50 toward two different solutions and can't make the final choice. | ||||||||||||||||||||||||||||||||||||||
timotimo | oof | 00:25 | |||||||||||||||||||||||||||||||||||||
vrurg | ok | 00:31 | |||||||||||||||||||||||||||||||||||||
timotimo | i find it difficult to decide | 00:34 | |||||||||||||||||||||||||||||||||||||
either you end up with unexpectedly no container, or you end up with unexpectedly a container | |||||||||||||||||||||||||||||||||||||||
in different situations | |||||||||||||||||||||||||||||||||||||||
... i think | |||||||||||||||||||||||||||||||||||||||
vrurg | timotimo: there will be no unexpected container. It would clone Scalar only if finds a Scalar. The only possible problem is that it'll be not the container passed into the op. But that'd be easier to explain then loss of container. | 00:42 | |||||||||||||||||||||||||||||||||||||
Basically, I tend to use cloning as more clean and predictable path. The thing which worries me is that it adds a bit of CPU cycles to metaop_assign. | 00:43 | ||||||||||||||||||||||||||||||||||||||
I can't nqp::clone(a.VAR) because it fails on nativerefs. So, I need to nqp::if(nqp::istype(a.VAR, Scalar), clone(a.VAR), a) | 00:44 | ||||||||||||||||||||||||||||||||||||||
timotimo | at least istype is something spesh knows how to deal with, generally | 00:45 | |||||||||||||||||||||||||||||||||||||
vrurg | spectesting... Will submit with cloning if it works. | 00:48 | |||||||||||||||||||||||||||||||||||||
jnthn | Hm, this is one of the cases where the most obvious behavior is the one you're trying to eliminate. :) | 00:50 | |||||||||||||||||||||||||||||||||||||
(I agree the current behavior probably isn't terribly useful.) | 00:51 | ||||||||||||||||||||||||||||||||||||||
m: my @a = 1..5; @a ,= 6; dd @a; | 00:52 | ||||||||||||||||||||||||||||||||||||||
evalable6 | Array @a = ((my @Array_93885994670744) = [@Array_93885994670744, 6]) | ||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: R#1205 Junction falls into deep recursion | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#1205 [open]: github.com/rakudo/rakudo/issues/1205 [junctions] Compound junction-assignement operators cause a hang | ||||||||||||||||||||||||||||||||||||||
jnthn | I suspect the most sensible behavior would be to turn `a foo= b` into `my \tmp = a; a = a<> foo b;` | 00:54 | |||||||||||||||||||||||||||||||||||||
vrurg | jnthn: This behavior isn't changing with my fix: ((my @Array_140471863286768) = [@Array_140471863286768, 4]) | ||||||||||||||||||||||||||||||||||||||
jnthn | Though that only deals with the scalar case | ||||||||||||||||||||||||||||||||||||||
vrurg: Yeah, I don't know what we can really do with the non-Scalar case. I mean, consistency argues for not changing anything, so anything we do here is going to introduce an inconsistency in the name of trying to be more useful. | 00:55 | ||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: I'd rather avoid deconting. If someone decides to make an op behaving differently depending on containerization of its first arg then it won't do what's expected | 00:56 | |||||||||||||||||||||||||||||||||||||
jnthn | vrurg: Well, that's the thing: the definition of `,` is to retain the container of what it gets | ||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: that's why I limited change to Scalars only. | ||||||||||||||||||||||||||||||||||||||
00:57
benchable6 left,
benchable6 joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Thing is | 00:58 | |||||||||||||||||||||||||||||||||||||
m: my $a = 1; $a = $a, 2; dd $a | |||||||||||||||||||||||||||||||||||||||
evalable6 | WARNINGS for /tmp/l2PgVdcHCK: Useless use of constant integer 2 in sink context (lines 1, 1) Int $a = 1 |
||||||||||||||||||||||||||||||||||||||
jnthn | gah :) | ||||||||||||||||||||||||||||||||||||||
m: my $a = 1; $a = ($a, 2); dd $a | |||||||||||||||||||||||||||||||||||||||
evalable6 | List $a = (my \List_94748131518656 = $(List_94748131518656, 2)) | ||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: But this is explicit and controllable by a user. Whereas ,= is implicit and causes confusion. | 00:59 | |||||||||||||||||||||||||||||||||||||
jnthn | We'd be breaking the "you can replace `a = a foo b` with `a foo= b` | ||||||||||||||||||||||||||||||||||||||
Uh, I'm pretty sure the language user can control when they use the assign meta-op :P | 01:00 | ||||||||||||||||||||||||||||||||||||||
timotimo | there's kind of already the thing that it calls the zero-arg meaning if the variable is undefined at that point | ||||||||||||||||||||||||||||||||||||||
jnthn | I'm yet to be convinced the cure is worse than the disease. | ||||||||||||||||||||||||||||||||||||||
timotimo: True. | 01:01 | ||||||||||||||||||||||||||||||||||||||
m: my $a; $a ,= 2; dd $a | |||||||||||||||||||||||||||||||||||||||
evalable6 | List $a = $((), 2) | ||||||||||||||||||||||||||||||||||||||
jnthn | hah :) | ||||||||||||||||||||||||||||||||||||||
timotimo | now *that*'s funny | ||||||||||||||||||||||||||||||||||||||
vrurg | Almost makes sense. Undef makes it an empty list. | 01:02 | |||||||||||||||||||||||||||||||||||||
jnthn | Yes, no argument that it makes sense, though the current behavior also makes sense in the same kind of way. | ||||||||||||||||||||||||||||||||||||||
vrurg | What is confusing is that it behaves totally differently to when its defined. | 01:03 | |||||||||||||||||||||||||||||||||||||
jnthn | I guess part of this is that just because you *can* use the assign meta-op on most things doesn't mean it will always have a useful meaning. | ||||||||||||||||||||||||||||||||||||||
m: my $a; $a Z= 42 | 01:04 | ||||||||||||||||||||||||||||||||||||||
evalable6 | |||||||||||||||||||||||||||||||||||||||
jnthn | m: my $a; $a [==]= 42 | ||||||||||||||||||||||||||||||||||||||
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/RxgHUz3FXI Cannot … |
||||||||||||||||||||||||||||||||||||||
jnthn, Full output: gist.github.com/ec781078d9aa20da4c...c26cb1e0af | |||||||||||||||||||||||||||||||||||||||
jnthn | There are some constraints, e.g. "Cannot make assignment out of == because chaining operators are too diffy" | ||||||||||||||||||||||||||||||||||||||
I wonder if a better solution would be to not offer `,=`, `&=`, and friends. | 01:05 | ||||||||||||||||||||||||||||||||||||||
timotimo | "too footgunny" | ||||||||||||||||||||||||||||||||||||||
"too funny. funny is short for footgunny" | |||||||||||||||||||||||||||||||||||||||
jnthn | I'm surprised , and the junction formers aren't considered diffy, tbh. | 01:06 | |||||||||||||||||||||||||||||||||||||
They certainly return a different type | |||||||||||||||||||||||||||||||||||||||
I think I'd prefer to explore in this direction than to try and "fix" the behavior, given I don't actaully see the results of those changes being useful | |||||||||||||||||||||||||||||||||||||||
vrurg | What actually makes sense is: my $j = 1 & 2; $j &= 3; | 01:08 | |||||||||||||||||||||||||||||||||||||
01:08
benchable6 left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Hmm, maybe but it's still a bit surprising in so far as I suspect it will be expected to give all(1,2,3) but it'll really give all(all(1,2),3) | 01:08 | |||||||||||||||||||||||||||||||||||||
01:08
benchable6 joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | I guess that's not actually so bad | 01:09 | |||||||||||||||||||||||||||||||||||||
In so far as it doesn't impact the eventual boolification | |||||||||||||||||||||||||||||||||||||||
vrurg | Ok, my task is probably even harder now than before I asked. ;) But it makes more sense now. | 01:11 | |||||||||||||||||||||||||||||||||||||
Thanks to all! | |||||||||||||||||||||||||||||||||||||||
jnthn | Well, whatever we do, I agree the current user experience is bad :) | ||||||||||||||||||||||||||||||||||||||
I can just argue the thing a bunch of different ways :) | |||||||||||||||||||||||||||||||||||||||
From a performance design perspective, I really don't like the "extra container" approach though | 01:12 | ||||||||||||||||||||||||||||||||||||||
01:12
anatofuz left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: I'd better ask to argue to R#3174 when there is a bit of time. Or say "it's ok". ;) | 01:12 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#3174 [open]: github.com/rakudo/rakudo/pull/3174 [data types] Provide means of preserving the decontainerization of values on Hash -> Map coercion | ||||||||||||||||||||||||||||||||||||||
01:13
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Just because I'm beating my head up implementing EA doesn't mean I want `$a += $b` to produce an extra temporary container for me eliminate. :) | 01:13 | |||||||||||||||||||||||||||||||||||||
01:13
anatofuz left,
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: The performance matter was my primary reason too. Good I asked because the whole direction I took was wrong. | 01:13 | |||||||||||||||||||||||||||||||||||||
jnthn | I guess decont makes the junction case work | 01:14 | |||||||||||||||||||||||||||||||||||||
Anyway, I should probably have gone to bed an hour ago... :) | |||||||||||||||||||||||||||||||||||||||
vrurg | Wow... I always forget about your location. | 01:15 | |||||||||||||||||||||||||||||||||||||
vrurg wonders when some people sleep at all? | |||||||||||||||||||||||||||||||||||||||
jnthn | I slept most of this morning, so... :) | 01:16 | |||||||||||||||||||||||||||||||||||||
Anyways, 'night o/ | |||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: o/ | 01:22 | |||||||||||||||||||||||||||||||||||||
02:19
anatofuz left
02:20
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
releasable6 | Next release in ≈6 days and ≈15 hours. R6 is down. At least 9 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 03:00 | |||||||||||||||||||||||||||||||||||||
03:09
anatofuz left
03:10
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | .tell jnthn junction operators cannot be diffy because it breaks reduction where they're totally ok. Perhaps deconting junction values is the only good solution which might also have good impact on performance. | 03:11 | |||||||||||||||||||||||||||||||||||||
tellable6 | vrurg, I'll pass your message to jnthn | ||||||||||||||||||||||||||||||||||||||
03:14
anatofuz left
03:15
anatofuz joined
04:06
anatofuz left
04:08
anatofuz joined
04:25
anatofuz left
04:27
anatofuz joined
04:42
anatofuz left
04:48
tbrowder left
04:53
anatofuz joined
04:54
tbrowder joined
05:17
anatofuz left
05:18
anatofuz joined
05:23
anatofuz left
05:30
anatofuz joined
06:43
anatofuz left,
anatofuz joined
06:46
anatofuz left,
anatofuz joined
07:08
anatofuz left
07:09
anatofuz joined
07:12
anatofuz left
07:13
anatofuz joined
07:51
anatofuz left
07:52
anatofuz joined
07:57
anatofuz left
08:06
anatofuz joined
08:35
leont joined
08:45
anatofuz left
08:46
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
[Tux] |
|
08:47 | |||||||||||||||||||||||||||||||||||||
08:50
anatofuz left
08:58
anatofuz joined
10:16
anatofuz left,
anatofuz joined
10:21
anatofuz left
10:54
anatofuz joined
11:14
anatofuz left,
anatofuz joined
12:05
FROGGS joined
12:47
epony left
12:52
anatofuz left
12:53
anatofuz joined
12:57
anatofuz left
12:59
lucasb joined
13:25
anatofuz joined
13:54
leont left
13:58
anatofuz left
14:36
FROGGS left
14:54
dogbert17 left
15:06
epony joined
15:32
dogbert17 joined
15:55
anatofuz joined
16:16
gdonald left
|
|||||||||||||||||||||||||||||||||||||||
Geth | ¦ problem-solving: JJ assigned to AlexDaniel Issue Ecosystem stability issues github.com/perl6/problem-solving/issues/105 | 16:18 | |||||||||||||||||||||||||||||||||||||
16:29
anatofuz left
16:44
Ven`` joined
17:01
anatofuz joined
17:34
Ven`` left
17:35
Ven`` joined,
anatofuz left,
Ven`` left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: vrurg++ created pull request #3186: De-containerize Junction values. |
17:38 | |||||||||||||||||||||||||||||||||||||
rakudo/newer-sprintf: 40c4cc5225 | (Elizabeth Mattijsen)++ | src/core.e/Rakudo/Internals/Sprintf.pm6 Add complete support for *.* for %b/%x |
18:23 | ||||||||||||||||||||||||||||||||||||||
roast/new-sprintf: 79e0b68058 | (Elizabeth Mattijsen)++ | S32-str/sprintf-b.t Add additional "*" and "*.*" tests to %b |
|||||||||||||||||||||||||||||||||||||||
rakudo/master: 4 commits pushed by (Vadim Belman)++, (Elizabeth Mattijsen)++ | 18:24 | ||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: it was a little bit preliminary. ;) I'm now working on the actual freeze of gist/perl methods | 18:26 | |||||||||||||||||||||||||||||||||||||
lizmat | sorry... was glad you caught it... :) | ||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: it wasn't me. ;) But the possible freeze is still there because one can $a = 1; $a = ($a, 1); say ~$a – though it's now only about List. | 18:28 | |||||||||||||||||||||||||||||||||||||
lizmat: I'd like to ask your opinion on R#3174. | 18:31 | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#3174 [open]: github.com/rakudo/rakudo/pull/3174 [data types] Provide means of preserving the decontainerization of values on Hash -> Map coercion | ||||||||||||||||||||||||||||||||||||||
lizmat | vrurg: /me commented | 18:38 | |||||||||||||||||||||||||||||||||||||
vrurg | lizmat: thanks! | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: so, are you ok with #89 not providing any specific extensions? | 18:45 | |||||||||||||||||||||||||||||||||||||
I was busy with some stuff so I wasn't able to follow what happened there | |||||||||||||||||||||||||||||||||||||||
but basically, some people said that the PR shouldn't have extensions specified (including samcv), yet I vaguely remember jnthn saying that extensions should be decided as part of this PR | 18:46 | ||||||||||||||||||||||||||||||||||||||
so which one is it? | |||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: but taking into account that we need to get a fix before the coming release, what would you say about the approach I took? It was generally agreed that deconting hash values on Map coercion is the way to go. | 18:47 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | releasable6: status | 18:48 | |||||||||||||||||||||||||||||||||||||
releasable6 | AlexDaniel, Next release in ≈6 days and ≈0 hours. R6 is down. At least 9 blockers. Unknown changelog format | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, Details: gist.github.com/ab53b7adb3746cf3c7...5b77bfa365 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | I'm not sure if this is realistic… | ||||||||||||||||||||||||||||||||||||||
lizmat | feels icky, as that would imply that a Map can have containers sometimes, and other times not | 18:49 | |||||||||||||||||||||||||||||||||||||
code as "my %m is Map = a => (my $ = 42)" would have containers | |||||||||||||||||||||||||||||||||||||||
whereas "my %m = { a => (my $ = 42) }.Map" would not | 18:50 | ||||||||||||||||||||||||||||||||||||||
eh... make that := :-) | |||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: Unfortunately, it has to be this way because we have code relying on |%h.Map for argument passing. :( | 18:53 | |||||||||||||||||||||||||||||||||||||
lizmat | code in the core, or in the ecosystem ? | 18:54 | |||||||||||||||||||||||||||||||||||||
vrurg | And same time Map is currently unfified with List in their behaviors. So, considering that Map -> Hash conterizes values, having Hash -> Map doing vice versa is an acceptable compromize. | ||||||||||||||||||||||||||||||||||||||
lizmat: in the ecosystem. | |||||||||||||||||||||||||||||||||||||||
tobs | I had code like that (in the ecosystem) but vrurg++ PRd a fix after an earlier Blin run, IIRC | 18:55 | |||||||||||||||||||||||||||||||||||||
vrurg | Right, I submitted to PRs on this to two modules. | 18:56 | |||||||||||||||||||||||||||||||||||||
So, probably ecosystem is currently clean of this problem. But people tend to use that construct, especially for passing on arrays because plain |%h passes a conteinarized array which gets assigned as a single element. R#3168 is about this problem. | 18:58 | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#3168 [open]: github.com/rakudo/rakudo/issues/3168 [BLOCKER][regression] Unpacking a |%h.Map has a different behaviour from 2019.07.1 | ||||||||||||||||||||||||||||||||||||||
lizmat | vrurg: added my review and requested changes :-) | ||||||||||||||||||||||||||||||||||||||
vrurg | lizmat++ thanks! Makes sense. | 19:03 | |||||||||||||||||||||||||||||||||||||
19:04
Kaiepi left,
Kaypie joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast/new-sprintf: 2932a5648a | (Elizabeth Mattijsen)++ | S32-str/sprintf-x.t Add additional "*" and "*.*" tests to %x |
19:08 | |||||||||||||||||||||||||||||||||||||
MasterDuke | anyone else getting errors in t/spec/S32-temporal/DateTime.t ? `Second out of range. Is: 60, should be in 0..^60; a leap second can occur only at 23:59 in block at t/spec/S32-temporal/DateTime.t line 804 in block <unit> at t/spec/S32-temporal/DateTime.t line 706` | 19:14 | |||||||||||||||||||||||||||||||||||||
hm, works fine if i disable jit | 19:15 | ||||||||||||||||||||||||||||||||||||||
even if i just disable the expr jit | 19:16 | ||||||||||||||||||||||||||||||||||||||
.tell brrt some expr jit problem colabti.org/irclogger/irclogger_lo...09-15#l238 | 19:17 | ||||||||||||||||||||||||||||||||||||||
tellable6 | MasterDuke, I'll pass your message to brrt | ||||||||||||||||||||||||||||||||||||||
vrurg | MasterDuke: anything special needed to see the problem? Because I'm currently running spectests tens of times each day, no problem about datetime | 19:18 | |||||||||||||||||||||||||||||||||||||
MasterDuke | vrurg: nope. but are you at HEAD on moarvm? | ||||||||||||||||||||||||||||||||||||||
19:18
Ven`` joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | MasterDuke: last updated to 3f97d73d4c7 couple of days ago. | 19:19 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | .tell jnthn please let me know colabti.org/irclogger/irclogger_lo...09-15#l210 | 19:20 | |||||||||||||||||||||||||||||||||||||
MasterDuke | then i suspect it's the recent merge brrt did of github.com/MoarVM/MoarVM/pull/1176 | ||||||||||||||||||||||||||||||||||||||
tellable6 | AlexDaniel, I'll pass your message to jnthn | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: vrurg++ created pull request #3187: Protect List from freezing on self-recursion |
19:28 | |||||||||||||||||||||||||||||||||||||
rakudo: edbcd7596a | (Vadim Belman)++ | src/core.c/List.pm6 Protect List from freezing on self-recursion If the first element of a list is a Scalar containing the list itself then method join hangs due to a deep recursion. |
19:30 | ||||||||||||||||||||||||||||||||||||||
rakudo: 7dede2d374 | (Vadim Belman)++ (committed using GitHub Web editor) | src/core.c/List.pm6 Merge pull request #3187 from vrurg/rakudo_1205 Protect List from freezing on self-recursion |
|||||||||||||||||||||||||||||||||||||||
roast/master: 4 commits pushed by (Vadim Belman)++ | 19:33 | ||||||||||||||||||||||||||||||||||||||
rakudo/revert-3187-rakudo_1205: bfe4613733 | (Vadim Belman)++ (committed using GitHub Web editor) | src/core.c/List.pm6 Revert "Protect List from freezing on self-recursion" |
19:40 | ||||||||||||||||||||||||||||||||||||||
19:41
brrt joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: vrurg++ created pull request #3188: Revert "Protect List from freezing on self-recursion" |
19:41 | |||||||||||||||||||||||||||||||||||||
rakudo: bfe4613733 | (Vadim Belman)++ (committed using GitHub Web editor) | src/core.c/List.pm6 Revert "Protect List from freezing on self-recursion" |
19:42 | ||||||||||||||||||||||||||||||||||||||
rakudo: 2bc3ac4b6b | (Vadim Belman)++ (committed using GitHub Web editor) | src/core.c/List.pm6 Merge pull request #3188 from rakudo/revert-3187-rakudo_1205 Revert "Protect List from freezing on self-recursion" |
|||||||||||||||||||||||||||||||||||||||
lizmat gets confused | 19:50 | ||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: that's how github reverses a merged PR. | 19:52 | |||||||||||||||||||||||||||||||||||||
lizmat | would have been easier to just revert the commit :-)_ | 19:54 | |||||||||||||||||||||||||||||||||||||
19:54
leont joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | I didn't know how it happens, thought they'd do just that. | 19:54 | |||||||||||||||||||||||||||||||||||||
I think there is no fast solution to protect join from freezing on recursion. Either way, I end up re-implementing gistseen. | 19:58 | ||||||||||||||||||||||||||||||||||||||
19:59
Kaypie left,
Kaypie joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | perhaps we need an outer "join" method that would initialize a dynamic variable $*JOIN-DEPTH, and an "inner" join logic that would increment and check that and throw when it gets too deep ? | 20:02 | |||||||||||||||||||||||||||||||||||||
I mean, if you're using self-referential structures, and you want to .join them, there's probably something wrong ? | |||||||||||||||||||||||||||||||||||||||
vrurg | m: my %h; %h<h> := %h; say ~%h | 20:04 | |||||||||||||||||||||||||||||||||||||
evalable6 | (signal SIGHUP) «timed out after 10 seconds» | ||||||||||||||||||||||||||||||||||||||
vrurg | Aha, same problem... | ||||||||||||||||||||||||||||||||||||||
lizmat | yes, I know it's easy to create | ||||||||||||||||||||||||||||||||||||||
vrurg | m: my %h; %h<h> := %h; say %h | ||||||||||||||||||||||||||||||||||||||
evalable6 | (\Hash_94339087695856 = {h => Hash_94339087695856}) | ||||||||||||||||||||||||||||||||||||||
vrurg | What I meant is that perhaps Str must follow .perl/.gist on this? | 20:05 | |||||||||||||||||||||||||||||||||||||
I.e. print something like the above output instead of freezing? | |||||||||||||||||||||||||||||||||||||||
brrt | does anybody know how to run prove for a single spectest? | ||||||||||||||||||||||||||||||||||||||
lizmat | make t/spec/foo/bar.t | 20:06 | |||||||||||||||||||||||||||||||||||||
brrt | thank you lizmat | ||||||||||||||||||||||||||||||||||||||
lizmat | vrurg: perhaps we should only do the recursion check for .perl (aka perlseen) | 20:07 | |||||||||||||||||||||||||||||||||||||
in that case, one knows that it is intended to be looked at with a special eye | 20:08 | ||||||||||||||||||||||||||||||||||||||
I'm not too sure we need the overhead in .gist or .Str | |||||||||||||||||||||||||||||||||||||||
vrurg | And have .Str (and .join for Lists) freezing? | ||||||||||||||||||||||||||||||||||||||
I could try dying on detected recursion. Should be faster because this could be done with just nqp::where and a dynamic symbol. | 20:10 | ||||||||||||||||||||||||||||||||||||||
lizmat | I was just checking how Perl 5 handles that... | 20:13 | |||||||||||||||||||||||||||||||||||||
it doesn't, as you cannot have this situation | |||||||||||||||||||||||||||||||||||||||
you can only put a reference to an array in an array | |||||||||||||||||||||||||||||||||||||||
if you put the array into itself, it will flatten the "old" version into itself | 20:14 | ||||||||||||||||||||||||||||||||||||||
$ 5 'my @a = "baz"; @a = ("foo",@a,"bar"); say join(",",@a)' | |||||||||||||||||||||||||||||||||||||||
foo,baz,bar | |||||||||||||||||||||||||||||||||||||||
$ 5 'my @a = "baz"; @a = ("foo",\@a,"bar"); say join(",",@a)' | |||||||||||||||||||||||||||||||||||||||
foo,ARRAY(0x7fb6a201d448),bar | |||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: but we unwind nested structures. So, can't compare to 5. | 20:24 | |||||||||||||||||||||||||||||||||||||
lizmat | indeed | 20:25 | |||||||||||||||||||||||||||||||||||||
20:47
Kaypie left,
Kaypie joined
20:52
anatofuz joined
20:53
brrt left
20:58
anatofuz left
21:01
Ven`` left
21:34
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: I feel extensions should be decided in the rename PR; there's already been a discussion issue on the topic, and I don't care to have to read/follow another such discussion; I don't know what's to gain by delaying it. | 21:46 | |||||||||||||||||||||||||||||||||||||
tellable6 | 2019-09-15T03:11:36Z #perl6-dev <vrurg> jnthn junction operators cannot be diffy because it breaks reduction where they're totally ok. Perhaps deconting junction values is the only good solution which might also have good impact on performance. | ||||||||||||||||||||||||||||||||||||||
2019-09-15T19:20:26Z #perl6-dev <AlexDaniel> jnthn please let me know colabti.org/irclogger/irclogger_lo...09-15#l210 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: alright, I see | 21:47 | |||||||||||||||||||||||||||||||||||||
MasterDuke | AlexDaniel: mind doing an nqp+rakudo bump? | 21:50 | |||||||||||||||||||||||||||||||||||||
Geth | nqp: a46eb14278 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/templates/MOAR_REVISION [MoarVM Bump] Brings 31 commits MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...g2ac137c3d 2ac137c3d [JIT] Use the new deopt index for synthetic guards 07983e4cb Fix possible access to fromspace in MVM_string_flip 9138c6998 Fix possible access to fromspace in MVM_frame_move_to_heap a4a599e35 Fix possible access to fromspace in MVM_code_location ... (27 more lines) |
21:51 | |||||||||||||||||||||||||||||||||||||
rakudo: daaf0277e4 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/templates/NQP_REVISION [NQP Bump] Brings 4 commits NQP bump brought: github.com/perl6/nqp/compare/2019....ga46eb1427 a46eb1427 [MoarVM Bump] Brings 31 commits 00eaa35e8 [js] Make --libpath resolve relative path with the compile time cwd 1a6d4e466 [js] Remove a no longer needed hack a759b02f1 [js] Instead of turning :: into a - use directories |
|||||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: I think I also stated that position in the issue. Also worth checking what ugexe exactly said, in that I remember he said something about the extensions issue affected how he'd vote on the rename PR | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: he just said that he doesn't want a single extension for both modules and scripts | ||||||||||||||||||||||||||||||||||||||
so separate .rk and .rkm is fine, but .rk for modules is not | 21:53 | ||||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: Yes, I'm not sure if it's implied that this should be in the rename PR, or just that he'd vote against the rename PR if it tried to drop the distinction. | ||||||||||||||||||||||||||||||||||||||
I'm fine with separate extensions, and inclined to believe give more weight to the viewpoint put forward by the folks who actually support our tooling. | 21:54 | ||||||||||||||||||||||||||||||||||||||
*believe and | |||||||||||||||||||||||||||||||||||||||
I kind of wanted a base suffix, e.g. .rkm (module), .rkd (doc), .rkt (test) but we absolutely cannot do the last of those | 21:55 | ||||||||||||||||||||||||||||||||||||||
(Taken by the racket language) | |||||||||||||||||||||||||||||||||||||||
.rk for script, .rm for module, .rd for doc, and .rt for test might fly | 21:56 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | vrurg: i just noticed something odd in the build output. it looks like a literal `\t` is being printed instead of a tab in some cases | 21:59 | |||||||||||||||||||||||||||||||||||||
vrurg: `+++ Generating\tperl6-m+++ Generating gen/moar/perl6-debug.nqp+++ Compiling perl6-debug.moarvm+++ Compiling\tinst-perl6-m` | |||||||||||||||||||||||||||||||||||||||
vrurg | MasterDuke: thanks! Some echos are left behind. | 22:15 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: I'm a bit worried about .rm | ||||||||||||||||||||||||||||||||||||||
maybe it's unjustified, but it just looks scary :D | |||||||||||||||||||||||||||||||||||||||
MasterDuke | vrurg: btw, i like the look of the new output | ||||||||||||||||||||||||||||||||||||||
lucasb | $ rm Foo.rm | 22:16 | |||||||||||||||||||||||||||||||||||||
vrurg | MasterDuke: thanks! Installation needs to be reworked too, but I got to tired of makefiles, needed a change. | ||||||||||||||||||||||||||||||||||||||
tobs | .rm does induce subtle stress over here :') But there are only so many options... the other suggestion along .rakulib etc. are kinda long. | 22:19 | |||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel, jnthn – .rt is RealTime. | ||||||||||||||||||||||||||||||||||||||
lucasb | and also a bug tracker :) | ||||||||||||||||||||||||||||||||||||||
22:20
leont left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | fwiw, HEAD is *not* clean for a test suite of a client atm | 22:24 | |||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: Bad memories of (Buffering...) RealMedia? :D | 22:26 | |||||||||||||||||||||||||||||||||||||
But yeah, I'd realized the more obvious connotation too :) | |||||||||||||||||||||||||||||||||||||||
lizmat | perhaps should bite the bullet and go for longer extensions | 22:27 | |||||||||||||||||||||||||||||||||||||
when raku takes off amongst the younger folk, it will be mostly because of IDE's like Comman | 22:28 | ||||||||||||||||||||||||||||||||||||||
*Comma | |||||||||||||||||||||||||||||||||||||||
and then length of extensions shouldn't matter that much? | |||||||||||||||||||||||||||||||||||||||
22:32
anatofuz left,
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/new-sprintf: 5 commits pushed by (Elizabeth Mattijsen)++ | 22:33 | |||||||||||||||||||||||||||||||||||||
vrurg | lizmat: It really not that important even outside of IDEs with all the completions and considering the fact that it's not something we type very often. | ||||||||||||||||||||||||||||||||||||||
lizmat | argh... somehow the new-sprintf branch came back :-( | 22:34 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/newer-sprintf: 0f03edf891 | (Elizabeth Mattijsen)++ | src/core.e/Rakudo/Internals/Sprintf.pm6 Fix up %o format |
22:35 | |||||||||||||||||||||||||||||||||||||
lizmat | sleep& | 22:36 | |||||||||||||||||||||||||||||||||||||
22:37
anatofuz left
22:45
anatofuz joined
22:46
anatofuz left
22:47
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
releasable6 | Next release in ≈5 days and ≈19 hours. R6 is down. At least 9 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 23:00 | |||||||||||||||||||||||||||||||||||||
23:14
anatofuz left
23:15
anatofuz joined
23:19
anatofuz left
23:28
anatofuz joined
23:34
anatofuz left
23:35
anatofuz joined
23:39
anatofuz left
23:41
travis-ci joined
|
|||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Aleks-Daniel Jakimenko-Aleksejev '[NQP Bump] Brings 4 commits | 23:41 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/585320674 github.com/rakudo/rakudo/compare/2...af0277e4c7 | |||||||||||||||||||||||||||||||||||||||
23:41
travis-ci left
|