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:34
stmuk_ left
00:37
lizmat left
00:43
stmuk_ joined
00:44
p6bannerbot sets mode: +v stmuk_
00:49
lizmat joined,
p6bannerbot sets mode: +v lizmat
01:25
cognominal-p6 left,
cognominal-p6 joined
01:26
p6bannerbot sets mode: +v cognominal-p6
01:49
cognominal-p6 left
02:18
ufobat_ joined
02:19
p6bannerbot sets mode: +v ufobat_
02:22
ufobat___ left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | hah, gnatur | 03:10 | |||||||||||||||||||||||||||||||||||||
03:57
Ven` joined,
p6bannerbot sets mode: +v Ven`
04:01
Ven` left
04:08
AlexDaniel left
04:09
AlexDaniel joined
04:10
p6bannerbot sets mode: +v AlexDaniel
04:13
fake_space_whale joined
04:14
p6bannerbot sets mode: +v fake_space_whale
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: MasterDuke17++ created pull request #2388: Add native candidate for infix:<%%> |
04:19 | |||||||||||||||||||||||||||||||||||||
04:45
cognominal-p6 joined
04:46
p6bannerbot sets mode: +v cognominal-p6
04:58
cognominal-p6 left,
cognominal-p6 joined
05:00
p6bannerbot sets mode: +v cognominal-p6
05:09
cognominal-p6 left
05:19
dct left
06:27
fake_space_whale left
|
|||||||||||||||||||||||||||||||||||||||
releasable6 | Next release in ≈2 days and ≈11 hours. 2 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 07:00 | |||||||||||||||||||||||||||||||||||||
07:03
robertle joined
07:04
p6bannerbot sets mode: +v robertle
08:05
cognominal-p6 joined
08:06
p6bannerbot sets mode: +v cognominal-p6,
cognominal-p6 left
08:07
cognominal-p6 joined,
p6bannerbot sets mode: +v cognominal-p6
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 3d161a5627 | (Daniel Green)++ | src/core/Int.pm6 Add native candidate for infix:<%%> |
08:18 | |||||||||||||||||||||||||||||||||||||
rakudo: 5f91e71b51 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core/Int.pm6 Merge pull request #2388 from MasterDuke17/master Add native candidate for infix:<%%> |
|||||||||||||||||||||||||||||||||||||||
08:26
Ven` joined
08:27
p6bannerbot sets mode: +v Ven`
08:29
cognominal-p6 left
08:33
leont joined
08:34
p6bannerbot sets mode: +v leont
08:50
cognominal-p6 joined
08:51
cognominal-p6 left,
cognominal-p6 joined
08:52
p6bannerbot sets mode: +v cognominal-p6
|
|||||||||||||||||||||||||||||||||||||||
lizmat | .tell AlexDaniel I think I've logged all of my changes | 09:17 | |||||||||||||||||||||||||||||||||||||
yoleaux | lizmat: I'll pass your message to AlexDaniel. | ||||||||||||||||||||||||||||||||||||||
09:48
|Tux| left
09:49
|Tux| joined
09:50
p6bannerbot sets mode: +v |Tux|
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: e567628eac | (Tom Browder)++ (committed using GitHub Web editor) | docs/rakudo-nqp-notes.md add more NYI items |
11:11 | |||||||||||||||||||||||||||||||||||||
rakudo: 8c486d399a | (Tom Browder)++ (committed using GitHub Web editor) | 2 files rename to better describe contents |
11:12 | ||||||||||||||||||||||||||||||||||||||
rakudo: eb4ebab0a5 | (Tom Browder)++ (committed using GitHub Web editor) | docs/rakudo-nqp-and-pod-notes.md change title |
11:13 | ||||||||||||||||||||||||||||||||||||||
11:15
Ven` left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | commute to Niederrhein.PM& | 11:20 | |||||||||||||||||||||||||||||||||||||
11:20
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
|Tux| |
|
11:36 | |||||||||||||||||||||||||||||||||||||
11:40
Ven` joined
11:41
p6bannerbot sets mode: +v Ven`
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 49bb6cf410 | (Tom Browder)++ (committed using GitHub Web editor) | docs/rakudo-nqp-and-pod-notes.md add a new NYI item |
11:53 | |||||||||||||||||||||||||||||||||||||
12:55
leont left
13:10
travis-ci joined,
p6bannerbot sets mode: +v travis-ci
|
|||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Tom Browder 'add a new NYI item' | 13:10 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/443145695 github.com/rakudo/rakudo/compare/e...bb6cf41027 | |||||||||||||||||||||||||||||||||||||||
13:10
travis-ci left
13:13
brrt joined
13:14
p6bannerbot sets mode: +v brrt
13:16
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
pmurias | jnthn: do we want to actually test our 'a 123 literal is multi dispatched by the optimizer to int' semantics in 6.d? I agree they are useful for having + 1 work fast, not sure if we want them set down in a general case | 13:19 | |||||||||||||||||||||||||||||||||||||
jnthn | pmurias: Well, "by the optimizer" is an implementation detail, really. From a language perspective, either an implementation does that or it doesn't. | 13:21 | |||||||||||||||||||||||||||||||||||||
It doesn't matter (from a spec point of view) how a language chooses to pass the spec test. | |||||||||||||||||||||||||||||||||||||||
*how an implementation of the language | 13:22 | ||||||||||||||||||||||||||||||||||||||
As to the semantics, I think they're a reasonable thing to include in the language spec. Do you have any objections to the behavior? | |||||||||||||||||||||||||||||||||||||||
pmurias | I agree it's usefull to have to make +1 etc. work fast but the behavior itself feels like just speccing a hack | 13:27 | |||||||||||||||||||||||||||||||||||||
and we have just one test so we don't really spec the full behavior | |||||||||||||||||||||||||||||||||||||||
13:28
AlexDaniel left
|
|||||||||||||||||||||||||||||||||||||||
pmurias | github.com/perl6/roast/blob/master...sed.t#L217 | 13:28 | |||||||||||||||||||||||||||||||||||||
jnthn | In what way is it a hack? | ||||||||||||||||||||||||||||||||||||||
13:28
AlexDaniel joined
|
|||||||||||||||||||||||||||||||||||||||
pmurias | multi dispatch is done at compile time using different rules then at runtime | 13:28 | |||||||||||||||||||||||||||||||||||||
13:29
p6bannerbot sets mode: +v AlexDaniel
|
|||||||||||||||||||||||||||||||||||||||
jnthn | It's a bit rich that you're now complaining about a place that we *do* something based on a static type analysis, after all the grumbling about us not being really gradually typed :P | 13:29 | |||||||||||||||||||||||||||||||||||||
Ven` | not gradually typed :( | 13:30 | |||||||||||||||||||||||||||||||||||||
(sorry, it was hard to resist) | 13:31 | ||||||||||||||||||||||||||||||||||||||
jnthn | :P | ||||||||||||||||||||||||||||||||||||||
I'm fine with better suggestions on how we handle the Int/int dual nature of literals, anyway. | |||||||||||||||||||||||||||||||||||||||
I think it's LTA to make the programmer write out something like `$native-a + (my $int $ = 1)` though | 13:32 | ||||||||||||||||||||||||||||||||||||||
pmurias | jnthn: it's not static type analysis it's syntactic analysis ;) | ||||||||||||||||||||||||||||||||||||||
jnthn: I agree with that too | |||||||||||||||||||||||||||||||||||||||
Ven` | clearly the swift way is the one true way: have them typed only with a typeclass constraint, so that 3+4-5+6 is too complex for the compiler to resolve | ||||||||||||||||||||||||||||||||||||||
well, it's still a bit surprising that disabling optimizations disables static typechecking I suppose | 13:33 | ||||||||||||||||||||||||||||||||||||||
jnthn | pmurias: Well, the literal bit is, but the decision is based on the types of the other arguments, and I thought it even accounts for the return type of other decided things, so that `($a + $b) * 2` could also do the right thing given native $a and $b. | 13:34 | |||||||||||||||||||||||||||||||||||||
Ven`: Yeah, that's my point above: we need to distinguish the language semantics from the implementation detail that it's currently done in the optimizer, and is possible to disable. | |||||||||||||||||||||||||||||||||||||||
A solution to that would be to call that pass something other than "optimize" and have certain tasks that it unconditionally performs | 13:36 | ||||||||||||||||||||||||||||||||||||||
We'll want that *anyway* | |||||||||||||||||||||||||||||||||||||||
Ven` | well, the language doesn't mandate BEGIN-time type checking, right? | ||||||||||||||||||||||||||||||||||||||
jnthn | Ven`: The thinking is that new language versions can mandate more on that front | ||||||||||||||||||||||||||||||||||||||
Ven` | that does sound very interesting :) | ||||||||||||||||||||||||||||||||||||||
jnthn | The optimizer and type checking would tend to want the very same information though | 13:37 | |||||||||||||||||||||||||||||||||||||
And it's not like our compiler is so lightning fast that we can just say "oh, pull them into two stages, it'll be fine" :) | |||||||||||||||||||||||||||||||||||||||
pmurias | and if we want to have that hack-semantics specced it would be great to have that properly specced rather than one random test for a multi that chooses between int and Str | 13:38 | |||||||||||||||||||||||||||||||||||||
jnthn | Yes, agree | 13:39 | |||||||||||||||||||||||||||||||||||||
#2345 is really odd | 13:40 | ||||||||||||||||||||||||||||||||||||||
github.com/rakudo/rakudo/issues/2345 | |||||||||||||||||||||||||||||||||||||||
Thought there was a bot to link those :) | |||||||||||||||||||||||||||||||||||||||
Reverting ab3d0566757f9fb8 fixes it, seemingly | 13:41 | ||||||||||||||||||||||||||||||||||||||
pmurias | jnthn: being done by the optimizer is not really an optimalization details to the agree that the semantics change depending on the knowledge the optimizer can infer | 13:43 | |||||||||||||||||||||||||||||||||||||
Ven` | is it deterministic? | 13:46 | |||||||||||||||||||||||||||||||||||||
jnthn | Ven`: The bug I'm hutning? Yes | ||||||||||||||||||||||||||||||||||||||
*hunting | 13:47 | ||||||||||||||||||||||||||||||||||||||
Ven` | .oO( no I really meant to ask if type-checking was deterministic... otherwise that'd be a fun one :P ) |
||||||||||||||||||||||||||||||||||||||
jnthn | heh, "probabalistic type checking" :) | 13:48 | |||||||||||||||||||||||||||||||||||||
oops, wrong sha-1 | 13:49 | ||||||||||||||||||||||||||||||||||||||
The sha-1 of my local revert commit helps nobody :) | |||||||||||||||||||||||||||||||||||||||
OK, so...maybe it's the parametric interning mechanism | 13:50 | ||||||||||||||||||||||||||||||||||||||
13:50
pmurias left
13:52
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Ohhh...I think I mighta found the bug | 13:55 | |||||||||||||||||||||||||||||||||||||
Ven` | is it a off-by-1? | 14:01 | |||||||||||||||||||||||||||||||||||||
14:03
Zoffix joined,
p6bannerbot sets mode: +v Zoffix
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | R#2345 | 14:03 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2345 [open]: github.com/rakudo/rakudo/issues/2345 [regression][⚠ blocker ⚠] Post-2018.09 module install failures | ||||||||||||||||||||||||||||||||||||||
Zoffix | You need to prefix with the repo name | ||||||||||||||||||||||||||||||||||||||
jnthn | Zoffix: thanks :) | ||||||||||||||||||||||||||||||||||||||
Ven`: no | |||||||||||||||||||||||||||||||||||||||
Zoffix | R# or GH# is Rakudo, S# is roast, M# is MoarVM, D# is docs, N# is NQP | ||||||||||||||||||||||||||||||||||||||
RT# is for RT tickets | |||||||||||||||||||||||||||||||||||||||
jnthn | OK, the thing I thought would fix it doesn't help at all :/ | 14:04 | |||||||||||||||||||||||||||||||||||||
14:07
pmurias left
14:08
Zoffix left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | oh, it does help, I just forgot to invalidate my .precomp/ (since I had no change to Rakudo, it doesn't help) | 14:12 | |||||||||||||||||||||||||||||||||||||
OK, spectesting the fix, fingers crossed | 14:15 | ||||||||||||||||||||||||||||||||||||||
14:16
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
pmurias | m: multi foo(int $a) { 'small' }; multi foo($a) { 'bigger' }; say(foo(8589934)); say(foo(8589934592)); | 14:18 | |||||||||||||||||||||||||||||||||||||
camelia | small bigger |
||||||||||||||||||||||||||||||||||||||
pmurias | ^^ only <32bit literals are dispatched differently | ||||||||||||||||||||||||||||||||||||||
jnthn | That's...interesting. | 14:19 | |||||||||||||||||||||||||||||||||||||
Should probably do it for 64-bit too | 14:20 | ||||||||||||||||||||||||||||||||||||||
Test spectested fine. I'm currently testing a larger codebase I knew to be affected by it | 14:27 | ||||||||||||||||||||||||||||||||||||||
dogbert2_ | jnthn: FWIW, wrt to the other blocker, i.e. R#2355, I can't get that to fail on HEAD, nor robertle's bug M#962 | 14:29 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2355 [open]: github.com/rakudo/rakudo/issues/2355 [regression][⚠ blocker ⚠] Concurrency feature race/hyper sometimes failed with Supply | ||||||||||||||||||||||||||||||||||||||
M#962 [open]: github.com/MoarVM/MoarVM/issues/962 SEGV and weirdness with concurrent I/O | 14:30 | ||||||||||||||||||||||||||||||||||||||
jnthn | dogbert2_: Hm, interesting. Hopefully others will discover they also can't :) | ||||||||||||||||||||||||||||||||||||||
dogbert2_ | I might have been 'lucky' though but robertle couldn't repro it either so perhaps some commit fixed it | 14:33 | |||||||||||||||||||||||||||||||||||||
jnthn | Yup, fix seems alright | 14:36 | |||||||||||||||||||||||||||||||||||||
14:39
pmurias left
|
|||||||||||||||||||||||||||||||||||||||
robertle | so you guys now know what fixed #962? | 14:43 | |||||||||||||||||||||||||||||||||||||
ah, no you don't :) | 14:44 | ||||||||||||||||||||||||||||||||||||||
jnthn | No, but I'd really like to... | 14:46 | |||||||||||||||||||||||||||||||||||||
robertle | me too! I wanted to bisect it a bit, but didn't have time yet | ||||||||||||||||||||||||||||||||||||||
14:54
pmurias joined,
p6bannerbot sets mode: +v pmurias,
pmurias left
|
|||||||||||||||||||||||||||||||||||||||
Geth | ¦ rakudo: zoffixznet self-assigned Post-2018.09 module install failures github.com/rakudo/rakudo/issues/2345 | 14:58 | |||||||||||||||||||||||||||||||||||||
14:59
pmurias joined,
p6bannerbot sets mode: +v pmurias
15:01
pmurias left
15:06
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: 1d06edc218 | (Zoffix Znet)++ | tools/build/MOAR_REVISION [MoarVM Bump] 304f568 Correct deserialization […] MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...2-g304f568 |
15:12 | |||||||||||||||||||||||||||||||||||||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...2-g304f568 | |||||||||||||||||||||||||||||||||||||||
rakudo: 7d7aaf0c1d | (Zoffix Znet)++ | tools/build/NQP_REVISION [NQP Bump] 1d06edc [MoarVM Bump] 304f568 Corre […] NQP bump brought: github.com/perl6/nqp/compare/2018....2-g1d06edc MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...2-g304f568 |
|||||||||||||||||||||||||||||||||||||||
15:12
fake_space_whale joined
|
|||||||||||||||||||||||||||||||||||||||
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....2-g1d06edc | |||||||||||||||||||||||||||||||||||||||
15:13
p6bannerbot sets mode: +v fake_space_whale
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 8d759ab216 | (Zoffix Znet)++ | MISC/bug-coverage.t Cover :D crash in modules Closes github.com/rakudo/rakudo/issues/2345 R#2345 |
15:13 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2345 [open]: github.com/rakudo/rakudo/issues/2345 [regression][testneeded][⚠ blocker ⚠] Post-2018.09 module install failures | ||||||||||||||||||||||||||||||||||||||
Geth | roast: 90ee31deb7 | (Zoffix Znet)++ | MISC/bug-coverage.t Cover :D parametarization bug Closes github.com/rakudo/rakudo/issues/1207 R#1207 |
15:25 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#1207 [open]: github.com/rakudo/rakudo/issues/1207 Serialization of Hashes parametarized with DefiniteHOW types is busted | ||||||||||||||||||||||||||||||||||||||
15:27
b2gills left
|
|||||||||||||||||||||||||||||||||||||||
SqrtNegInf | Here's different race/hyper issue, which I encountered yesterday (this in conjunction with atomic operations) | 15:27 | |||||||||||||||||||||||||||||||||||||
To speed up a program, I added .race, then to fix a race condition added ⚛++, then started getting sporadic crashes | 15:28 | ||||||||||||||||||||||||||||||||||||||
15:28
Zoffix joined,
p6bannerbot sets mode: +v Zoffix
|
|||||||||||||||||||||||||||||||||||||||
SqrtNegInf | Golfed down, with a 'low' iteration count, this never fails | 15:29 | |||||||||||||||||||||||||||||||||||||
Zoffix | I thought that fix would've fixed RT#132525 but nope, that bug's still there | ||||||||||||||||||||||||||||||||||||||
synopsebot | RT#132525 [open]: rt.perl.org/Ticket/Display.html?id=132525 [REGRESSION][PRECOMP] type constraints to Array[Pair] don't work when precompiled | ||||||||||||||||||||||||||||||||||||||
SqrtNegInf | m: my @d; my atomicint $i = 0; (1..60).race.map: -> $a { for 1..100 -> $b { @d[$i⚛++] = 1; } } | ||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
Zoffix | Still crasshes with "Type check failed for return value; expected Array[Pair] but got Array[Pair].new()" | ||||||||||||||||||||||||||||||||||||||
SqrtNegInf | But as the number of interations in the outer loop increases, the chance of a malloc error (double free) goes towards 100% | ||||||||||||||||||||||||||||||||||||||
jnthn | SqrtNegInf: @a is not threadsafe; it's an auto-resizing array | 15:30 | |||||||||||||||||||||||||||||||||||||
SqrtNegInf: Declare it fixed-size instead: `my @a[60];` | |||||||||||||||||||||||||||||||||||||||
Zoffix | m: my @d; my atomicint $i = 0; (1..300).race.map: -> $a { for 1..300 -> $b { @d[$i⚛++] = 1; } } | ||||||||||||||||||||||||||||||||||||||
camelia | (signal ABRT)*** Error in `/home/camelia/rakudo-m-inst-1/bin/moar': double free or corruption (!prev): 0x00007f179047d3b0 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x740ef)[0x7f17a2a940ef] /lib64/libc.so.6(+0x79646)[0x7f17a2a99646] /l… |
||||||||||||||||||||||||||||||||||||||
Zoffix | m: my @d[300*300]; my atomicint $i = 0; (1..300).race.map: -> $a { for 1..300 -> $b { @d[$i⚛++] = 1; } } | ||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
timotimo | or pre-size it by assigning to the last slot before doing the thing | ||||||||||||||||||||||||||||||||||||||
Zoffix | m: dd sqrt -Inf | 15:31 | |||||||||||||||||||||||||||||||||||||
camelia | NaN | ||||||||||||||||||||||||||||||||||||||
Zoffix | m: dd sqrt -Inf+0i | ||||||||||||||||||||||||||||||||||||||
camelia | <NaN+Inf\i> | ||||||||||||||||||||||||||||||||||||||
Zoffix | intersting... | 15:32 | |||||||||||||||||||||||||||||||||||||
SqrtNegInf | m: (-∞+0i)**½ | ||||||||||||||||||||||||||||||||||||||
camelia | WARNINGS for <tmp>: Useless use of "**" in expression "(-∞+0i)**½" in sink context (line 1) |
||||||||||||||||||||||||||||||||||||||
SqrtNegInf | m: say (-∞+0i)**½ | ||||||||||||||||||||||||||||||||||||||
camelia | Inf+Inf\i | ||||||||||||||||||||||||||||||||||||||
Zoffix | :/ | ||||||||||||||||||||||||||||||||||||||
15:35
brrt left
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | Kinda weird. IEEE doesn't say anything for pow(-Inf), except that pow(-Inf, 0) is 1 | 15:38 | |||||||||||||||||||||||||||||||||||||
"pow (x, y) signals the invalid operation exception for finite x < 0 and finite non-integer y. | |||||||||||||||||||||||||||||||||||||||
that's it for `x`... doesn't include infinity :/ | |||||||||||||||||||||||||||||||||||||||
15:41
b2gills joined,
p6bannerbot sets mode: +v b2gills
15:44
leont joined
|
|||||||||||||||||||||||||||||||||||||||
SqrtNegInf | Tested original program and indeed that was the issue, thanks for the help | 15:44 | |||||||||||||||||||||||||||||||||||||
15:45
p6bannerbot sets mode: +v leont
15:47
b2gills left
15:49
ExtraCrispy joined,
p6bannerbot sets mode: +v ExtraCrispy
15:52
b2gills joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: awesome, thanks! | 15:52 | |||||||||||||||||||||||||||||||||||||
15:52
p6bannerbot sets mode: +v b2gills
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 9df4d61fd6 | (Zoffix Znet)++ (committed using GitHub Web editor) | README.md Fix broken anchor |
16:02 | |||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: Welcome. I'm traveling the next several days, so glad I could figure it before I go :) | 16:07 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | yes | ||||||||||||||||||||||||||||||||||||||
16:07
robertle left
16:08
[Tux] left
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | jnthn: wanna make a ruling on R#2089 ? There are too many voices. Basically toggle has a `*@` candidate that takes a bunch of Callables and IMO its behaviour is really confusing. I wanna toss that candidate | 16:10 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2089 [open]: github.com/rakudo/rakudo/issues/2089 [6.d review][LTA][RFC] .toggle is hard to understand | ||||||||||||||||||||||||||||||||||||||
Zoffix | And some say, don't spec it in 6.d at all (even the 1-arg candidate) | ||||||||||||||||||||||||||||||||||||||
jnthn | Zoffix: I'm thinking to toss the whole toggle thing for 6.d | ||||||||||||||||||||||||||||||||||||||
Zoffix | Sounds good. | ||||||||||||||||||||||||||||||||||||||
jnthn | It basically is the ff problem on steroids: there's state, it matters for understanding the behavior, and it's hidden. | 16:12 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: did your fix resolve some issue in Cro::Core? I think it was failing yesterday | 16:13 | |||||||||||||||||||||||||||||||||||||
jnthn | I wanted something more generic than take-while, skip-while, etc. but...toggle didn't work out anything like so usable as I hoped (through no problem with the implementation, just the API) | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: b50aa51e08 | (Zoffix Znet)++ | t/spectest.data Exclude toggle.t file from running |
16:14 | |||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: Almost certainly; every Cro app I had failed wiht that error before the fix, so it probably came from core :) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | nice | 16:15 | |||||||||||||||||||||||||||||||||||||
Geth | roast: 6879061884 | (Zoffix Znet)++ | S32-list/toggle.t Temporarily remove .toggle tests It's not making the 6.d cut, but will be re-entered in 6.e propspec after 6.d is released. github.com/rakudo/rakudo/issues/2089 colabti.org/irclogger/irclogger_log...10-18#l276 |
||||||||||||||||||||||||||||||||||||||
16:17
[Tux] joined
16:18
p6bannerbot sets mode: +v [Tux]
16:25
Ven` left
16:28
pmurias left
16:33
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||||||||||||||||||||||||||||||||||||||
pmurias | m: multi sub foo(int $a) { my $foo = "int"; "int"; }; multi sub foo($a) { "Any"; }; say(foo(1)); # because it's done by inlining the behavior changes for biggers subs :( | 16:34 | |||||||||||||||||||||||||||||||||||||
camelia | Any | ||||||||||||||||||||||||||||||||||||||
pmurias | jnthn: what I think could make sense is rather then speccing literals-sometimes-dispatched-as-ints semantics for use in user code is to just "allow" the compiler to turn arithmetic operations on an native variable and a know constants into native ops | 16:36 | |||||||||||||||||||||||||||||||||||||
Zoffix | Wouldn't that introduce three different behaviours? HLL version, native version, and native ops version? | 16:41 | |||||||||||||||||||||||||||||||||||||
Also, what about user subs with Int/int candidates? | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo/more-local-lowering: a3766fa56e | (Jonathan Worthington)++ | src/Perl6/Optimizer.nqp Remove dead code |
16:42 | |||||||||||||||||||||||||||||||||||||
rakudo/more-local-lowering: 3373b77d87 | (Jonathan Worthington)++ | 2 files Work towards more aggressive lexical lowering This starts us down the path of turning "normal" variables into locals, which will not only be a little faster for lookup, but give dynamic optimizers a good bit more to work with too. It will also enable more block flattening. This gets the transformation essentially working, however there's quite a bit of spectest fallout that needs to be investigated yet (most likely with just a few root causes). |
|||||||||||||||||||||||||||||||||||||||
pmurias | Zoffix: what do you mean by three different behavior? | ||||||||||||||||||||||||||||||||||||||
jnthn | I'm not keen on treating operators specially; they're just multis that happen to have a name like infix:<foo>. | ||||||||||||||||||||||||||||||||||||||
pmurias | they are currently special because they are inlinable | 16:43 | |||||||||||||||||||||||||||||||||||||
jnthn | Yes, which is a solvable problem too. I think best is not to spec anything around this for 6.d, though, so we can work through it and try to get to something more sensible. | 16:44 | |||||||||||||||||||||||||||||||||||||
Zoffix | pmurias: I guess three different codepaths is more accurate to say: if I have `sub infix:<+> (Int, Int)` and `sub infix:<+> (int, int)` and compiler has special behaviour to convert it to nqp::add_i() if I'm using literals, that's three possible codepaths the code will follow: `42 + 42`, `my $x = 42; $x + $x`, and `my int $x; $x + $x` | 16:45 | |||||||||||||||||||||||||||||||||||||
pmurias: but if I define a user sub that doesn't know what op it corresponds to, then we're back to current behaviour minus the auto-nativification of literals, so that I have to write `$x ♥ my int $ = 42` instead of just `$x ♥ 42` | 16:46 | ||||||||||||||||||||||||||||||||||||||
jnthn | more-local-lowering plus the MoarVM pea branch work are where I hope to get some 2018.11 performance improvements from :) | ||||||||||||||||||||||||||||||||||||||
dinner, packing, etc. o | 16:49 | ||||||||||||||||||||||||||||||||||||||
o/ | |||||||||||||||||||||||||||||||||||||||
Zoffix | \o | ||||||||||||||||||||||||||||||||||||||
Geth | roast: 04065ec30c | (Zoffix Znet)++ | docs/release-guide.md Start release guide |
16:50 | |||||||||||||||||||||||||||||||||||||
roast: a35736b0a2 | (Zoffix Znet)++ | docs/release-guide.md Fix URL to marketing repoo |
|||||||||||||||||||||||||||||||||||||||
16:51
Zoffix left
|
|||||||||||||||||||||||||||||||||||||||
pmurias | ZofBot: the three different codepaths is the current behavior | 17:02 | |||||||||||||||||||||||||||||||||||||
Zoffix: with the compiler using different multi dispatch under complicated circumstances | 17:04 | ||||||||||||||||||||||||||||||||||||||
17:05
brrt joined
|
|||||||||||||||||||||||||||||||||||||||
pmurias | anyway there are a lot more important things than the auto nativisation of multis I just don't want it set it in stone | 17:05 | |||||||||||||||||||||||||||||||||||||
17:05
p6bannerbot sets mode: +v brrt
17:14
robertle joined
17:15
p6bannerbot sets mode: +v robertle
17:22
Zoffix joined,
p6bannerbot sets mode: +v Zoffix
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | pmurias: is that currently in roast? Perhaps should be moved to rakudo's test suite instead? Or we could add another APPENDIX in roast, something like "experimental-features" or something | 17:22 | |||||||||||||||||||||||||||||||||||||
Just so we keep the things we're yet unsure of in roast instead of the test suite of an implementation | 17:23 | ||||||||||||||||||||||||||||||||||||||
(and we can exclude that appendix from actual release) | |||||||||||||||||||||||||||||||||||||||
Or maybe even all appendices | |||||||||||||||||||||||||||||||||||||||
Yeah, all appendices. | 17:27 | ||||||||||||||||||||||||||||||||||||||
pmurias | Zoffix: github.com/perl6/roast/blob/master...sed.t#L217 - we have one test | 17:41 | |||||||||||||||||||||||||||||||||||||
Zoffix: the current behavior wasn't really designed we just decided to keep it when it turned out removing it makes some things slow | 17:43 | ||||||||||||||||||||||||||||||||||||||
17:54
AlexDaniel left,
AlexDaniel joined
17:55
p6bannerbot sets mode: +v AlexDaniel
|
|||||||||||||||||||||||||||||||||||||||
pmurias | Zoffix: moving it out of roast seems optimal | 18:11 | |||||||||||||||||||||||||||||||||||||
Geth | roast: 9f8d62da23 | (Zoffix Znet)++ | 3 files Add A04-experimental appedix and move native multi dispatch there Per colabti.org/irclogger/irclogger_log...10-18#l353 |
||||||||||||||||||||||||||||||||||||||
pmurias | Zoffix: I mean it can be in an appendix | 18:12 | |||||||||||||||||||||||||||||||||||||
just moved out of the main tests | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 3c0b01bc5f | (Zoffix Znet)++ | t/spectest.data Add APPENDICES/A04-experimental/01-misc.t to list of files |
||||||||||||||||||||||||||||||||||||||
Zoffix | Done. | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: FCO++ created pull request #2390: Make it verify (again) the stubed methods from roles, not implemented… |
18:18 | |||||||||||||||||||||||||||||||||||||
18:28
Zoffix left
18:51
brrt left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: FCO++ created pull request #487: Adding tests to role stub implemented by attribute handles |
19:25 | |||||||||||||||||||||||||||||||||||||
19:43
ExtraCrispy left,
ExtraCrispy joined,
p6bannerbot sets mode: +v ExtraCrispy
19:46
ExtraCrispy left
20:03
ufobat_ left
20:31
pmurias left
20:40
leont left
22:34
fake_space_whale left
23:02
cognominal-p6 left
|
|||||||||||||||||||||||||||||||||||||||
Geth | 6.d-prep: c9877dc9f1 | (Zoffix Znet)++ (committed using GitHub Web editor) | ChangeLog.md [CL] Deprecation of :count arg on Str.lines/&lines |
23:04 | |||||||||||||||||||||||||||||||||||||
roast: d116b6c1c1 | (Zoffix Znet)++ | 2 files [v6.d REVIEW] Appendicize deprecated :count arg on `lines` routine |
23:07 | ||||||||||||||||||||||||||||||||||||||
rakudo: 2393e5386e | (Tom Browder)++ (committed using GitHub Web editor) | docs/rakudo-nqp-and-pod-notes.md add NYI item |
23:13 |