Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_logs/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by AlexDaniel on 12 June 2018.
TimToady or maybe I should just prototype the whole dang NFA in nqp and we can backtranslate later 00:04
jnthn That may be more efficient :) 00:06
That's how the NFA engine was done originally
Who knows, a smart design in NQP might be faster than what we have now :)
TimToady if only we had a good spesher... :)
jnthn Well, its inlining aggression is now sufficient that it's making me fix hard things... :) 00:07
timotimo a smart way to not run the optimizer too often would probably also be nice, that costs us a whole lot when adding infix operators and such
TimToady you mean the lexer writer?
yeah, currently putting things into a module is the only way to amortize that 00:08
jnthn The only reason we gotta compute so much is 'cus we don't have a dependency tree to know what we can keep
TimToady there are also several ways we could cheat^Wuse techique 00:09
technique, even
timotimo techi...que? 00:10
TimToady but yeah, iirc STD made some feeble attempt not to recompile categories that weren't affected 00:14
timotimo i don't think there'd be terribly much shame in just special-casing the addition of infix operators 00:15
i assume prefix and postfix and friends don't have such a high impact
TimToady well, if you want programmer involvement, you have a 'start defs' ... 'end defs', and promise you won't use the new operators in that section 00:16
then you don't have to recalculate till the end
timotimo mhm
that'd at least be easy :)
TimToady another way to cheat is to lookahead and see if there are any uses
or even if there are, add all the new tokens you see in the lookahead, with provisional guards that say "Don't really see me if I'm not actually defined yet" 00:17
it'd be pretty easy to scan ahead for infix: definitions
timotimo oof
TimToady yes, violates the one-pass rule 00:18
hence would only work with something close enough to Perl 6 to get away with it
so it's just technique till you get caught 00:19
timotimo mhm
TimToady anyway, that's yet another thing I've wanted to do forever after my backbrain attic gets cleared out of all the other things I've wanted to do forever... 00:21
jnthn figures he should go rest so he might have a vaguely functioning brain tomorrow :) 00:23
'night o/
timotimo good night jnthn!
TimToady \o
happy GCing
jdv79 TimToady: good to see you in here:) my mind ran to you optimizing grammars when zoffix mentioned such things earlier today. 00:32
[Coke] jdv79: long time no see, hio 00:57
Zoffix m: gist.github.com/zoffixznet/2a3c290...645eeb4b1f 01:20
camelia A -> STATE: NEW_GROUP : STATE: PREFIX
N -> STATE: PREFIX : STATE: PREFIX
( -> STATE: PREFIX : STATE: SUBJECT
h -> STATE: SUBJECT : STATE: SUBJECT
e -> STATE: SUBJECT : STATE: SUBJECT
l -> STATE: SUBJECT : STATE: SUBJECT
l -> STATE: SUBJECT…
Zoffix Boom. A finite state machine. Just as I thought. All that fancy wording is just to make the thing look harder than it is 01:21
ZofBot: it just a class that calls itself, bruh!
"self-propelled" hah 01:22
brrt \o 04:42
[Tux] Rakudo version 2018.06-219-gb30800c8e - MoarVM version 2018.06-238-gfae91a6eb
csv-ip5xs1.191 - 1.231
csv-ip5xs-208.272 - 8.565
csv-parser25.179 - 25.790
csv-test-xs-200.455 - 0.455
test8.842 - 9.728
test-t2.282 - 2.289
test-t --race0.990 - 1.018
test-t-2039.536 - 40.423
test-t-20 --race14.188 - 14.200
08:01
Geth roast/test-R#2090: a550f568f0 | 陈梓立++ | S02-types/range.t
Add test for R#2090
09:34
synopsebot R#2090 [open]: github.com/rakudo/rakudo/issues/2090 [testneeded] Range.roll(*) doesn't work with large minimums
Geth roast: a550f568f0 | 陈梓立++ | S02-types/range.t
Add test for R#2090
09:37
synopsebot R#2090 [open]: github.com/rakudo/rakudo/issues/2090 [testneeded] Range.roll(*) doesn't work with large minimums
lizmat Files=1244, Tests=76394, 373 wallclock secs (16.15 usr 5.55 sys + 2640.58 cusr 247.00 csys = 2909.28 CPU) 09:40
Geth roast: 593313a73f | 陈梓立++ (committed using GitHub Web editor) | S02-types/range.t
code clean
nqp/nqp-in-the-browser: 4 commits pushed by (Paweł Murias)++ 10:10
Ven` pmurias: seems like there's a typo in your last commit 10:13
pmurias Ven`: 0n is a js bignum literals 10:16
* literal
Ven` what version of node do you need? 10:17
pmurias I'm using 10.0.5
Ven` alright. I'm on 8.9 and it doesn't work 10:18
pmurias but 10.0.6 should work
Ven`: I'm not focusing too hard on supporting old versions atm as they will be replaced in the future anyway 10:23
MasterDuke: do you plan to try to do the slurpy positionals, or should I do that? (I don't want to duplicate work ;) ) 10:25
lizmat .tell scimon the code in your tweet is incorrect, as the ~~ does not become part of the subset 10:27
yoleaux lizmat: I'll pass your message to scimon.
lizmat .tell scimon I came up with this version: subset WorkingDay of Date where { .day-of-week ~~ 1..5 }; .say for (Date.today, * + 1 ... *).grep(WorkingDay)[^10]
yoleaux lizmat: I'll pass your message to scimon.
lizmat .tell scimon >>.say is not guaranteed to *execute* in the given order, only that its *result* is in the correct order 10:36
yoleaux lizmat: I'll pass your message to scimon.
releasable6 Next release in ≈3 days and ≈7 hours. 10 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 11:00
lizmat m: .say for (Date.today .. *).grep( { .day-of-week ~~ 1..5 } )[^10] # even shorter 12:14
camelia 2018-07-18
2018-07-19
2018-07-20
2018-07-23
2018-07-24
2018-07-25
2018-07-26
2018-07-27
2018-07-30
2018-07-31
Zoffix m: .say for (Date.today…∞).grep(1 ≤ *.day-of-week ≤ 5)[^10] # the … also dwims without needing * + 1 in there 13:20
camelia 2018-07-18
2018-07-19
2018-07-20
2018-07-23
2018-07-24
2018-07-25
2018-07-26
2018-07-27
2018-07-30
2018-07-31
Zoffix Also, `where { .day-of-week ~~ 1..5 }` can be written without curlies: `where .day-of-week ~~ 1..5`. Someone was asking about this last night. Filed R#2086, 'cause it's pretty easy to mess up there. 13:22
synopsebot R#2086 [open]: github.com/rakudo/rakudo/issues/2086 [LTA][RFC] Maybe warn when thunking `*.foo ~~ $bar` constructs?
lizmat Zoffix++ 13:24
what I wonder, is why "today" isn't a term like "now" :-)
Zoffix: also, you don't need the sequence operator 13:25
a Range also works, as Date implements .succ
I guess you could also implement this as a role that would override .succ to skip over weekends :-) 13:26
Zoffix Yeah, but .. is two chars, while … is one :P 13:30
It might be confusing to have `today`, 'cause `now` is an Instance and doesn't match DateTime.now, which is a DateTime 13:32
*Instant 13:35
AlexDaniel m: say 25‥40 # :P 13:44
camelia 5===SORRY!5=== Error while compiling <tmp>
Bogus postfix
at <tmp>:1
------> 3say 257⏏5‥40 # :P
expecting any of:
infix
infix stopper
postfix
statement end
statement modifier
Geth nqp: 1925237d22 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/MOAR_REVISION
[MoarVM Bump] Brings 8 commits

MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...gfae91a6eb fae91a6eb Fix indentation of code in uthash.h d0be1847a Fix typos in comments c56865594 Check if bucket is correct in HASH_FSCK 39a2e71b4 Optimize uthash ptr delete code db6cc49ca Merge branch 'frame-walker' 198f5e46b Teach frame walker to understand inlines 6ae63d2a5 Factor deopt index finding out of deopt all fc747c94d Extract frame walking logic from getlexcaller
17:34
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...gfae91a6eb
rakudo: a847abe523 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/NQP_REVISION
[NQP Bump] 1925237d2 [MoarVM Bump] Brings 8 co […]

NQP bump brought: github.com/perl6/nqp/compare/2018....g1925237d2
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....g1925237d2
lizmat m: proto sub trait_mod:<is>(|) is export {*} # chicken and egg problem 19:54
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot resolve caller trait_mod:<is>(Sub, :export); Routine does not have any candidates. Is only the proto defined?
at <tmp>:1
jnthn Yeah, but lexical scoping means we know which comes first :P 20:19
MasterDuke pmurias: i looked at the file you pointed me to, but i didn't immediately figure out what to do and haven't started any work. i'm sure you'll beat me to it 22:47
pmurias MasterDuke: I don't want to take over all the simpler more interesting tasks ;) 23:05
MasterDuke: I'll do that tommorow
Geth nqp: 973c6d0496 | 陈梓立++ (committed using GitHub Web editor) | src/NQP/Grammar.nqp
Remove <?before> token in token term:sym<multi_declarator> (#484)

  .. also remove no-need workaround of <!before> by rearrange the order.
co rakudo/rakudo#2082
23:25
synopsebot RAKUDO#2082 [open]: github.com/rakudo/rakudo/pull/2082 Remove <?before> token in token term:sym<multi_declarator>
lizmat m: multi sub trait_mod:<is>(\m, :$foo!) { say "duh" }; my %h is foo # should this work or not ? 23:34
camelia 5===SORRY!5=== Error while compiling <tmp>
Can't use unknown trait 'is foo' in a variable declaration.
at <tmp>:1
------> 3 %h is foo # should this work or not ?7⏏5<EOL>
expecting any of:
TypeObject
default…
lizmat m: sub trait_mod:<is>(\m, :$foo!) { say "duh" }; my %h is foo # it does when I make it an only 23:35
camelia duh
lizmat afk&
jnthn That's odd; I'd expect it to work
Kaiepi PufferBot, build 23:37
PufferBot, help
ok 23:38
Kaiepi oh right i use tmux not cron 23:40
lmao
Geth roast: e6642ab269 | (Zoffix Znet)++ | S12-subset/subtypes.t
[v6.d REVIEW] Refine capture `where` test

Check the routine actually works and the death is with the right exception.
Orig: github.com/perl6/roast/commit/2a11bdf9a
23:42
Kaiepi ok never mind i can't start pufferbot since rakudo's fucked for me 23:43
Zoffix_ m: multi sub trait_mod:<is>(Variable:D \m, :$foo!) { say "duh" }; my %h is foo 23:46
camelia duh
jnthn Oh, righ 23:47
*right
It looses on narrowness to the fallback otherwise :)
Zoffix_ lizmat, nameds don't participate in multi dispatch and the core Variable:D trait that whines about "unknown trait" got a narrower constraint and no type on the positional at all
This one github.com/rakudo/rakudo/blob/mast...le.pm6#L39
s/and not type/than no type/; 23:48
no ZofBot :o
"We are aware of an issue affecting service to this Linode." booo 23:49
Geth roast: ab0a9330a3 | (Zoffix Znet)++ | S32-num/int.t
[v6.d REVIEW] Add missing types to Numeric:U ~~ Numeric:D tests

Orig: github.com/perl6/roast/commit/8a8bd603f
23:55