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
01:18 j3nnn1 left 01:20 Zoffix joined
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
01:37 MasterDuke left 02:02 Zoffix left 03:11 MasterDuke joined 03:15 fake_space_whale left, MasterDuke_ joined 03:18 MasterDuke left, MasterDuke_ is now known as MasterDuke 04:23 Kaiepi joined 04:40 brrt joined
brrt \o 04:42
05:09 btyler_ joined 05:16 buggable left, xi- left, SmokeMachine left, chansen_ left, huggable left 05:35 buggable joined, zostay joined, xi- joined, SmokeMachine joined, chansen_ joined, huggable joined, rajaniemi.freenode.net sets mode: +vv buggable huggable 06:16 bisectable6 joined, greppable6 joined, nativecallable6 joined, statisfiable6 joined 06:50 robertle joined 07:29 brrt left
[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
08:06 brrt joined 08:41 Ven` joined 08:58 brrt left 09:07 dogbert2 joined 09:11 brrt joined 09:27 brrt left 09:28 lizmat joined
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
10:13 pmurias joined
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
10:26 Ven` left
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
11:01 buggable left, buggable joined, ChanServ sets mode: +v buggable 11:02 robertle left 11:26 Ven` joined 11:56 robertle joined
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
12:23 fake_space_whale joined 12:24 j3nnn1 joined, veesh joined 12:25 brrt joined 12:30 MasterDuke left 13:20 Zoffix joined
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
13:36 Zoffix left
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
ā€¦
14:02 skids joined 14:27 geekosaur left 14:28 brrt left 15:11 veesh left 15:20 robertle left 15:50 brrt joined 15:57 robertle joined 16:26 fake_space_whale left 16:32 geekosaur joined, geekosaur left 16:38 brrt left 16:44 geekosaur joined 17:05 lizmat left
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
18:02 Ven` left 18:13 lizmat joined 18:47 brrt joined 18:51 Ven`` joined 19:44 [Tux] left 19:51 [Tux] joined 19:52 [Tux] left
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
19:56 [Tux] joined 19:58 Ven` joined 20:03 Ven` left
jnthn Yeah, but lexical scoping means we know which comes first :P 20:19
20:27 Ven`` left 20:30 brrt left, brrt joined 20:53 Ven`` joined 21:03 skids left 21:08 Ven`` left 21:24 robertle left 22:11 brrt left 22:41 MasterDuke joined 22:44 lizmat left
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
22:59 hoelzro left, huggable left 23:00 buggable left 23:03 test joined 23:04 test is now known as Guest31827
pmurias MasterDuke: I don't want to take over all the simpler more interesting tasks ;) 23:05
MasterDuke: I'll do that tommorow
23:08 Guest31827 left 23:14 j3nnn1 left 23:20 guestamundo joined
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>
23:33 lizmat joined, pmurias left
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
23:35 guestamundo left
Kaiepi PufferBot, build 23:37
PufferBot, help
ok 23:38
23:38 PufferBot left 23:39 xyzq joined, guestorino joined 23:40 guestorino left
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
23:43 guestorino joined 23:46 xyzq left, Zoffix_ joined, guestorino left
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
23:49 go|dfish joined 23:52 Zoffix_ left
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
23:59 buggable joined, ChanServ sets mode: +v buggable, ZofBot joined, ChanServ sets mode: +v ZofBot