»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:03 nbrown joined 00:05 rurban1 joined 00:06 raiph left, raiph joined 00:07 nbrown left 00:09 rurban1 left
masak 'night, #perl6 00:11
00:19 thou joined 00:23 thou left 00:53 rindolf joined
rindolf Hi all. 00:55
TimToady: hi, how are you feeling?
01:02 aoseki joined 01:05 akaseki left 01:07 FROGGS__ joined 01:08 rurban1 joined, kst left, Sqirrel left 01:09 beastd left 01:10 FROGGS_ left 01:12 rurban1 left 01:28 Sqirrel joined 01:47 klapperl joined 01:51 klapperl_ left 02:05 nbrown joined 02:06 raiph left 02:07 thou joined 02:09 nbrown left 02:12 Ben_Goldberg joined, thou left 02:14 BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 02:20 noganex_ joined 02:23 noganex left
TimToady gah, ophthmalologist, not opth... 02:39
TimToady blames the optometrists and opticians 02:40
rindolf: I feel fine except for a continual low-grade eyestrain headache... 02:41
noms &
rindolf TimToady: bon appetit. 02:43
timotimo my ear isn't letting me sleep :| 03:00
03:08 akaseki joined 03:10 aoseki left, raiph joined 03:20 kurahaupo is now known as kurahaupo__
raiph .tell avuserow re R* announce; "This is the first Rakudo Star release with..." paragraph needs an update 03:41
yoleaux raiph: I'll pass your message to avuserow.
03:47 BenGoldberg left 03:56 thou joined 03:59 atroxaper joined 04:00 thou left 04:10 rurban1 joined 04:14 rurban1 left 04:18 kurahaupo__ left
rindolf TimToady: are you back? 04:27
04:28 rurban1 joined 04:37 obra_ is now known as obra 04:39 molaf joined, raiph left, rurban1 left 04:51 fling joined 05:02 xenoterracide_ left 05:03 atroxaper left 05:06 atroxaper joined 05:08 kst joined 05:10 rurban1 joined 05:12 rurban2 joined 05:14 rurban1 left 05:17 rurban2 left 05:23 darutoko joined 05:37 rurban1 joined 05:38 araujo joined 05:39 hoverboard left 05:40 hoverboard joined 05:41 kaare__ joined, rurban1 left 05:44 thou joined 05:46 figoe left 05:49 thou left 05:50 atroxaper left 05:52 Sqirrel left 05:57 figoe joined 06:06 FROGGS__ left, FROGGS__ joined 06:07 nbrown joined 06:11 nbrown left 06:20 atroxaper joined 06:26 atroxaper left 06:50 rindolf left 07:08 coffeeyy joined 07:09 ventica joined 07:32 thou joined 07:36 anaeem1 joined 07:37 thou left 07:39 rurban1 joined, anaeem1 left 07:43 rurban1 left 07:48 rindolf joined
ventica m: say "Yo " ~ "sup " ~ "#perl6 o/" 07:54
camelia rakudo-moar 8db87b: OUTPUT«Yo sup #perl6 o/␤»
ventica m: say [~] ("Yo ", "sup ", "#perl6 o/")
camelia rakudo-moar 8db87b: OUTPUT«Yo sup #perl6 o/␤»
FROGGS__ hi ventica 07:55
ventica hi :)
07:55 FROGGS__ is now known as FROGGS
ventica m: say [~] "No ", "parens ", "baby"; 07:56
camelia rakudo-moar 8db87b: OUTPUT«No parens baby␤»
itz_ .tell avuserow re R* announce; you have a pull request on your star branch 08:03
yoleaux itz_: I'll pass your message to avuserow.
08:09 nbrown joined 08:10 molaf left 08:13 nbrown left 08:25 xinming joined 08:28 xinming_ left 08:35 ventica2 joined 08:36 ventica left
ventica2 . 08:38
08:40 rurban1 joined, akaseki is now known as SailorMercury 08:44 rurban1 left, dmol joined 08:47 atroxaper joined 08:51 atroxaper left 08:58 Rotwang joined
psch hi #perl6 o/ 09:03
psch PRs gist.github.com/peschwa/6bd5b97ab7eda8973667 for github.com/eatnumber1/goal
semantically my solution looks very similar to at least one existing js solution, which i find interesting 09:07
ah, missed a rule - the sub shouldn't print but return 09:10
but that's easily fixable
09:17 SailorMercury is now known as midoriseki, dmol left 09:20 thou joined
psch gist updated, improvements welcome 09:24
09:25 thou left, denis_boyun_ joined 09:40 rurban1 joined 09:41 hoverboard left 09:42 rindolf left 09:45 rurban1 left 09:46 spider-mario joined 10:00 anaeem1 joined 10:11 nbrown joined 10:14 anaeem1 left 10:15 nbrown left 10:25 carlin_ joined, tgt joined 10:26 carlin_ left 10:30 kivutar joined 10:32 denis_boyun_ left
tgt Hi. Is this a known issue? 10:40
perl6: say "20" ~~ ^(1 +< 63); say "20" ~~ ^(1 +< 64); say "20" ~~ ^(1 +< 65);
camelia rakudo-jvm 8db87b: OUTPUT«(timeout)» 10:41
..niecza v24-109-g48a8de3: OUTPUT«False␤False␤False␤»
..rakudo-{parrot,moar} 8db87b: OUTPUT«True␤False␤True␤»
tgt Just the parrot/moar one I guess. (Wasn't sure what it'd do on the other backends.)
10:41 rurban1 joined 10:45 rurban1 left 10:47 atroxaper joined 10:51 atroxaper left 10:54 spider-mario left 10:56 dmol joined 11:00 Ven joined 11:09 thou joined 11:14 thou left
Ven Linked my tutorial to a die-hard c# fan that can't stomach most "scripting languages" because they're "too unreadable", but this time he told me that "the code is comprehensible enough, even if it's sugar-y" so I'm happy~. 11:14
11:16 tgt left 11:26 midoriseki left, akaseki joined 11:28 pmurias joined
pmurias how should I iterate over all the chars of a string in nqp? 11:29
using a for?
dalek osystem: 2a531d7 | colomon++ | META.list:
Update META.list

Add colomon::App::TagTools to the ecosystem.
11:34
colomon should really add an README and some tests.... 11:37
tadzik oh :) 11:39
11:42 rurban1 joined 11:44 mr-foobar joined 11:46 rurban1 left
pmurias nqp-m: say(nqp::escape("¢")) 11:50
camelia nqp-moarvm: OUTPUT«¢␤»
pmurias nqp-p: say(nqp::escape("¢"))
camelia nqp-parrot: OUTPUT«\x{a2}␤»
pmurias nqp-j: say(nqp::escape("¢"))
camelia nqp-jvm: OUTPUT«(signal )#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/p6eval/hs_err_pid11874.log␤»
pmurias :(
12:04 kurahaupo joined 12:13 araujo left, araujo joined
pmurias what's the correct way to iterate over all the chars of the string in nqp? 12:14
I have tried 'for $string -> $char {...}' but that seems to be a parrot specific thing :( 12:15
jnthn Yeah, that doesn't work in Perl 6, and so only accidentally does in NQP 12:16
m: for nqp::split('', 'abc') { say($_) } 12:17
camelia rakudo-moar 8db87b: OUTPUT«a␤b␤c␤»
12:17 Ven left
jnthn There's one way 12:17
12:18 krunen left 12:25 raiph joined 12:27 Ven joined 12:33 kaare__ left
carlin what should: open('some_directory/').read(42); do? 12:37
12:42 tgt joined 12:43 rurban1 joined
jnthn carlin: Exception on open, I'd have guessed 12:44
If I try opening a directory on Perl 5 I get:
perl -e "open('src') or die 'oops: ' . $!"
oops: No such file or directory at -e line 1.
(yes, src exists where I am)
(. gave the same)
At least, that's how it is on Windows. :) 12:45
12:46 Ven left 12:47 rurban1 left
carlin same on linux, and moar/rakudo dies on linux, but on freebsd 12:49
perl6 -e "say open('t').read(7);"
Buf:0x<12 1c 04 00 0c 00 04>
I suspect it might do the same on OS X
jnthn Wow :) 12:51
Well, if the OS decides it's meaningful, I guess we needn't ban it Just Because...
12:52 pecastro left
jnthn We've generally decided not to enforce the lowest common demoninator on everyone... :) 12:52
uh, denominator...
12:57 thou joined
geekosaur o x *does* reject directory reads, fwiw. *bsd-s generally don't 12:58
itz_ isn't it traditional UNIX behaviour to try a directory as a file? 13:00
od -x . errors for me on linux but not FreeBSD
s/try/treat/
FROGGS jnthn: I think I've found a copy+pasto in Perl6::Actions... 13:01
jnthn åhnejs...what is it?
13:02 thou left
FROGGS here: github.com/rakudo/rakudo/blob/nom/...nqp?#L2533 13:02
geekosaur ancient unix, yes. the main issue with it is that it is only viable when there's only one kind of filesystem layout; otherwise it's potentially constricting
FROGGS that $past is past along in line 2648
but nothing assings to it 13:03
it seems like being copied from method_def, where $<blockoid>.ast is assigned to it for example 13:04
carlin hmm, because there is a spectest that checks if slurp() on a directory dies. It dies implicitely on linux and Windows, but on FreeBSD it dies because of Malformed UTF-8
jnthn FROGGS: uh, yes, that does look rather wrong. 13:05
FROGGS jnthn: v5 stumbles there and I dunno if I could toss it or if that wants to be $block
jnthn Wants to be $block, I think, and get rid of the $past decl 13:06
FROGGS ahh wait, in method_def $*W.add_phasers_handling_code pushed to $past... 13:07
pushes*
ahh, no
I can't read
I fix that in rakudo and report back... 13:08
jnthn FROGGS++
13:13 nbrown joined
FROGGS okay, looks like method_def was correct, but routine_def and macro_def were not.... spectesting now 13:14
itz_ geekosaur: I wonder if OS X allows directory reads on UFS mounts .. HFS+ is rather odd 13:15
geekosaur open(2) manpage says it returns ESIDIR in that case
er EISDIR 13:16
regardless of filesystem
itz_ I'd guess solaris behaves as FreeBSD does
13:18 nbrown left
geekosaur checking... 13:19
carlin should slurp() failing on a directory be spec'd, given that some OSes will accept it? 13:20
S32:195
synopsebot Link: perlcabal.org/syn/S32.html#line_195
carlin S32/IO:195 13:21
geekosaur fwiw omnios with zfs doesn't error out but returns EOF immediately
carlin openBSD does the same, no error but you get nothing
perlcabal.org/syn/S32/IO.html#slurp 13:22
geekosaur same for oracle sol11
FROGGS jnthn: it changes nothing \o/ 13:23
jnthn m: class A { my $m = method m() { 'omg' }; say $m(A) } 13:24
camelia rakudo-moar 8db87b: OUTPUT«omg␤»
jnthn How on earth did that even work with this bug? o.O
oh, wait, routine_def
FROGGS yep 13:25
dalek kudo/nom: 67a13da | (Tobias Leich)++ | src/Perl6/Actions.nqp:
fix copy&pasto: use correct block variable in {routine,macro}_def
13:26
FROGGS \o/ 13:34
v5 can declare and run subs now again!!
moritz \o/ 13:35
jnthn \o/ 13:36
FROGGS++
13:37 raiph left 13:44 kivutar left 13:47 atroxaper joined 13:49 akaseki is now known as FartDemon 13:51 atroxaper left 13:53 denis_boyun joined
carlin would anyone object to removing, the directory bit in "The routine will fail if the file does not exist, or is a directory." from perlcabal.org/syn/S32/IO.html#slurp ? 13:56
or changing it to say it fails on platoforms that it fails on
.oO( It fails when it fails, otherwise it succeeds )
jnthn Well, or so ", of if it is a directory and the platform does not support opening a directory like a file" 13:57
*or if
tgt Hi. Would someone explain Any ~~ Range to me please. It doesn't do what I'd expect. 13:58
I'd expect the result to be the same as Any ~~ any(Range) and for Any to be coerced to the type of the range if necessary.
FROGGS I was thinking that Any ~~ Range is identical to Range.min <= Any <= Range.max 14:00
jnthn It pays attention to ^.. vs ..^ too iirc
m: say 3 ~~ 1..5
camelia rakudo-moar 8db87b: OUTPUT«True␤»
jnthn m: say "3" ~~ 1..5
camelia rakudo-moar 8db87b: OUTPUT«True␤»
jnthn m: say 33 ~~ 1..5
camelia rakudo-moar 8db87b: OUTPUT«False␤»
jnthn m: say "33" ~~ 1..5
camelia rakudo-moar 8db87b: OUTPUT«True␤»
FROGGS tgt: can you provide a snippet?
jnthn uh, that last one is a surprise... 14:01
FROGGS uhh
yay, surprise surprise
:/
tgt That last one is basically the issue.
FROGGS ahh :o)
p: say "33" ~~ 1..5
camelia rakudo-parrot 8db87b: OUTPUT«True␤»
FROGGS n: say "33" ~~ 1..5
camelia niecza v24-109-g48a8de3: OUTPUT«False␤»
tgt I'd also expect "20" ~~ "0".."100" to work. 14:02
FROGGS m: say ("0".."100").flat
camelia rakudo-moar 8db87b: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88…»
tgt Although the spec says X.min le $_ le X.max (mod ^'s) for stringy range, so I guess not. 14:03
FROGGS me too
14:03 denis_boyun left
FROGGS m: say "33" cmp (1..5).min 14:03
camelia rakudo-moar 8db87b: OUTPUT«More␤»
FROGGS m: say "33" cmp (1..5).max
camelia rakudo-moar 8db87b: OUTPUT«Less␤»
FROGGS why?
ohh
m: say "33" leg (1..5).min 14:04
camelia rakudo-moar 8db87b: OUTPUT«More␤»
FROGGS m: say "33" leg (1..5).max
camelia rakudo-moar 8db87b: OUTPUT«Less␤»
TimToady a numeric range should be using <=> 14:06
dalek ecs: 0925cca | Carlin++ | S32-setting-library/IO.pod:
Slurping directories makes sense on some OSes

Some OSes (eg. FreeBSD) follow the traditional Unix approach of treating directories like files, and so slurp()ing directories on those platforms is allowed
14:07
FROGGS m: say ("1" .. 9)[1].WHAT 14:09
camelia rakudo-moar 8db87b: OUTPUT«(Str)␤»
FROGGS so I guess we check min only...
TimToady which makes sense for "1"..* 14:10
but that doesn't explain "33" ~~ 1..5 being wrongly true 14:12
14:12 FartDemon is now known as SailorTsundere
FROGGS m: say &infix:«<=>» 14:12
camelia rakudo-moar 8db87b: OUTPUT«sub infix:<<=>> (Any, Any $?) { #`(Sub+{<anon>}|139848133633504) ... }␤» 14:13
14:13 SailorTsundere is now known as kuroseki
FROGGS TimToady: the code in Range.pm uses cmp everywhere 14:13
TimToady that's wrong
FROGGS I know now :o)
14:13 xenoterracide_ joined
TimToady cmp should be reserved for when leg or <=> aren't the obvious choice 14:14
and the choice for ~~ must be driven entirely by the RHS
which is not what cmp does
(which you understand, just stating it for the innocent bystanders) 14:15
FROGGS m: my &foo; &foo := &infix:«<=>»; say 1 [&foo] 2 14:16
camelia rakudo-moar 8db87b: OUTPUT«===SORRY!=== Error while compiling /tmp/OK4wa6u3Eb␤Cannot use bind operator with this left-hand side␤at /tmp/OK4wa6u3Eb:1␤------> my &foo; &foo := &infix:«<=>»⏏; say 1 [&foo] 2␤ expecting any of:␤ …»
carlin is OS X's $*DISTRO.name darwin? 14:17
14:17 user3 joined
FROGGS m: my $foo; $foo := &infix:«<=>»; say 1 [&($foo)] 2 14:17
camelia rakudo-moar 8db87b: OUTPUT«Less␤»
tgt carlin: It's macosx
carlin tgt: thanks 14:18
14:18 user3 left
TimToady the optimizer should probably notice ~~ 1..5 and change it to 1 <= $_ <= 5 14:19
14:19 kaare__ joined
TimToady likewise for strings 14:19
though perhaps spesh can pick it up 14:20
jnthn Probably a bit high-level for spesh
Would be far easier in Perl6::Optimizer
TimToady though it would be interesting to decide if 5 >= $_ >= 1 would tend to fail faster on average 14:21
certainly on ^5 against an effectively unsigned, you should test the top first 14:22
and if known unsigned, don't test the bottom at all
FROGGS $ perl6-m -e 'say "33" ~~ 1..5'
False
spectest & 14:23
14:25 Ven joined
TimToady *ophthalmologist <-- thought I'd get it right at least once this year... 14:25
FROGGS eww 14:27
t/spec/S03-operators/range-basic.t ............................ Dubious, test returned 1 (wstat 256, 0x100)
Failed 5/140 subtests
14:28 rindolf joined
pmurias is there a use for slurping a directory? 14:31
14:31 lizmat joined
TimToady we should eventually optimize ~~ any($min..$max) as well, for large ranges that we don't really want to generate a huge list of integers 14:32
pmurias: not really, these days
pmurias so why do we allow that? 14:33
FROGGS any(Range) is very worth it, aye
TimToady the fact that the BSDs historically allowed you to is kind of a semantic fossil
FROGGS that is like what the charrange patch did
TimToady I see no reason to allow slurp(dir) in Perl 6
it's just an attractive nuisance that some kid is going to drown himself in 14:34
carlin hmm, okay, should I rever that?
*revert
my reasoning was mostly: the platform lets you do it, so why not 14:35
(and because changing the spec is easier than making moar/rakudo forbid it :p )
geekosaur I'm inclined to agree; the only reason the *bsd-s still support it is backward compat, and there probably isn't even much of that because it's the BSDs that introduced the replacement interface (getdents() and successors)
specifically because of NFS
TimToady yes, let's just blow up on that 14:38
with a message that points them to dir perhaps 14:39
dalek ecs: f8b2b16 | Carlin++ | S32-setting-library/IO.pod:
Revert "Slurping directories makes sense on some OSes"

This reverts commit 0925cca364036d02c0fc3a7c03ffb94a9b72ec5c.
  "it's just an attractive nuisance that some kid is going to drown himself in" ~
  TimToady++
carlin open('some_directory') should fail too? 14:40
geekosaur no
consider fchdir()
this is actually a security related API
14:40 woolfy joined
TimToady interestingly one(range) and any(range) have the same semantics under smartmatch 14:41
geekosaur (it is a permanent "handle" on a directory that some other process cannot alter out from under you, unlike the path-based one)
TimToady so whatever we do for ~~ any(range) we should do for ~~ one(range) as well
carlin ah, how about reading from a directory file-handle? open('some_directory').read(42)
14:41 rurban1 joined
geekosaur that said, this kind of file descriptor is in some sense different from a normal one, and p6 perhaps should treat it as such. same goes for *BSD's event filehandles 14:41
read on a directory (or event) file descriptor should fail 14:42
TimToady we should perhaps distinguish an open to get a file desc with a different name
shower & 14:43
14:43 Rotwang left 14:44 Rotwang joined
FROGGS +1 for getting the fd 14:44
geekosaur (*BSD has O_EVTONLY, Linux has O_DIRECTORY and O_PATH (O_DIRECTORY is an old attempt at O_PATH semantics)
and in all those cases the resulting file descriptor is not intended for file operations, but as an "inode handle" 14:45
14:45 thou joined
geekosaur maybe "inode anchor" might be a better term for that 14:48
14:50 thou left
lizmat is back from a day at the beach 14:51
yoleaux 24 Jul 2014 09:22Z <FROGGS_> lizmat: in some cases you can quote or escape paths, it does not work for all build systems but we should try
jnthn wonders which country lizmat is in :)
FROGGS hi lizmat
lizmat jnthn: still in Oregon 14:52
FROGGS o/
jnthn Isn't the day quite...early...still? :)
Hope you enjoyed it, anyways :)
lizmat almost 8am
it never hurts to take back a few hours of time difference before travelling :-) 14:53
jnthn :)
Good OSCON? How'd your lightning talk go?
lizmat the lightning talk went well: even got a few laughs when pointing out that 14:54
if you're willing to use Moose with type checking
and take its performance hit for granted
you should be looking at Perl 6 *now*
jnthn :)
Ven lizmat++ :)
lizmat this was referring to a talk by Piers Cawley earlier, about Moose and typing 14:55
Piers is now looking into Perl 6, but is hindered by the fact that some submodule of Moar
does not install on a drive that has a space in it :-(
Ven lizmat: btw, we know have a tutorial to point people to :P. learnxinyminutes.com/docs/perl6/ 14:56
lizmat yes, I saw that, Ven++
is it linked already from perl6.org ?
Ven I don't think so
jnthn lizmat: Which one, ooc?
lizmat I chatted about it on #moar a few days ago 14:57
FROGGS jnthn: dyncall
14:58 pecastro joined
FROGGS it is either pretty easy to fix or not possible 15:01
lizmat the case in which it breaks right now, is an unquoted 'dirname foo'
FROGGS lizmat: yes, that is always a problem... but AFAIK the build systems of the stuff in MoarVM/3rdparty is not very complex, so should be doable 15:03
lizmat question is: how do we get that upstream? or don't we have to do that?
or can we fix locally, and alert upstream? 15:04
FROGGS their main repo is also on github
we can do that too, yes
lizmat ok
FROGGS we forked it I think
lizmat: see github.com/MoarVM 15:06
lizmat I see... 15:07
seems like the latest fixes #77472 15:12
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77472
lizmat and some other proto / inlining / optimiziations
dalek ast: 7833d5d | (Elizabeth Mattijsen)++ | S0 (2 files):
Unfudge now passing tests, also for #77472
15:14
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77472
FROGGS I also see this:
t/spec/S02-names/is_cached.rakudo.moar (Wstat: 0 Tests: 38 Failed: 0)
TODO passed: 34, 38
but I'm not sure if it is HEAD or my local modifications...
jnthn Only on MoarVM, but I think I can get a fix that works for JVM/Parrot too
It was the optimizer tweak I did yesterday
15:15 xylixy joined
lizmat ah, so maybe I was too optimistic with unfudging for all :-( 15:15
carlin should rakudo handle denying slurp() on a directory, or should moar be changed to forbid it? 15:17
FROGGS m: say "d" cmp *; say "d" leg *; say "d" cmp Inf; say "d" leg Inf
camelia rakudo-moar 67a13d: OUTPUT«WhateverCode.new()␤WhateverCode.new()␤Less␤More␤»
FROGGS BUG BUG OK BUG I'd say
15:18 daxim joined
FROGGS at least the last one is a bug 15:18
15:21 atroxaper joined
FROGGS m: say Inf.Stringy 15:22
camelia rakudo-moar 67a13d: OUTPUT«Inf␤»
FROGGS m: say "d" leg Inf; say "m" leg Inf
camelia rakudo-moar 67a13d: OUTPUT«More␤More␤»
FROGGS m: say Inf.Stringy.WHAT 15:26
camelia rakudo-moar 67a13d: OUTPUT«(Str)␤»
FROGGS m: say Inf.Stringy.chars
camelia rakudo-moar 67a13d: OUTPUT«3␤»
FROGGS m: say "d" leg Inf; say "M" leg Inf
camelia rakudo-moar 67a13d: OUTPUT«More␤More␤»
FROGGS m: say "D" leg Inf; say "M" leg Inf
camelia rakudo-moar 67a13d: OUTPUT«Less␤More␤»
FROGGS that's insane
(and sorry for the noise, I thought I was in privmsg with camelia)
15:27 denis_boyun_ joined 15:44 xylixy left
timotimo o/ 15:47
carlin .u WATER WAVE 15:48
yoleaux U+1F30A WATER WAVE [So] (🌊)
15:49 Ven left 15:55 denis_boyun_ left 16:04 kivutar joined 16:15 nbrown joined 16:19 nbrown left 16:23 akaseki joined 16:24 kuroseki left 16:25 denis_boyun_ joined 16:31 denis_boyun_ left, kivutar left 16:33 Ven joined 16:34 thou joined 16:38 thou left 16:40 pippo joined
pippo Hello perl6! 16:40
timotimo hey pippo
pippo o/ 16:41
Doeas anybody have an idea of how can I dump a large hash to file for later use? I have tried JSON5::Tiny but had to wait 70 minutes in order it could generate 5.5megabytes of data. 16:42
*Does
Ven m: macro infix:<< |>= >>($var, $fn) { quasi { {{{$var}}} = {{{$fn}}}({{{$var}}}) } }; my $a = 1; sub add($n) { $n + 1}; $a |>= &add; say $a 16:45
camelia rakudo-moar 67a13d: OUTPUT«2␤»
Ven \o/ masak++
Ulti pippo can't you just do .perl and save it to a file then exec later?
timotimo pippo: did you get the very latest moarvm?
moarvm "recently" got improvements to string concatenation that drastically improves performance 16:46
pippo timotimo: latest git! :-)
timotimo and that still gives you that timing?
that's bad :(
Ulti timotimo didn't drastically improve perf for me shaved off 2 seconds out of 35 for something that wouldn't register as miliseconds in P5
though if I used Moose it would be slower :S 16:47
timotimo Ulti: i know that feeling ;(
jnthn m: say 2/35
camelia rakudo-moar 67a13d: OUTPUT«0.057143␤»
timotimo we ought to aim for "much better than moose"
Ulti 2 seconds out of 35 is good
timotimo since our object stuff is so "built in"
pippo Ulti: I can dump with .perl. But how can I get back my hash?
jnthn > 5% win is nice
Ulti since its still two whole seconds
timotimo pippo: slurp.EVAL :)
jnthn But yeah, should do better overall
Ulti jnthn yeah I'm not complaining about the win, but its currently not the game changer
timotimo the coolest thing is that most of our optimizations can actually benefit custom object systems if anybody ever has a reason to come up with one :) 16:48
Ulti tbh it might not be strings slowing me down
pippo Ulti: timotimo: I'll try! Thank you!
pmurias timotimo: isn't Moose mostly a startup hit?
Ulti I use a lot of ott list operators
timotimo pmurias: i don't know, to be honest
"ott"?
over the top? :)
Ulti if I made a lot of stuff explicit loops I think it might get optimised more
timotimo: yeah sorry British acronym failure 16:49
so it might be its way more than 5% for the stringy bits of my program
I make a lot of objects and then ignore them
which I'm going to guess is probably expensive
timotimo hmm 16:50
having lots of medium-long-lived objects is indeed expensive
as in: it'll keep your ram usage up
since our gen2 doesn't free blocks
pages*
Ulti yeah RAM isn't too bad once I removed the startup RAM usage
jnthn It does re-use them, though
timotimo yes
jnthn It's only a rpoblem if you have loads of objects of one bunch of sizes, then stop using them and start making loads of objects of a different bunch of sizes. 16:51
timotimo that's a good point
Ulti depends if strings are going to be counted as just a reference in the object 16:52
timotimo we don't do extremely well with strings at the moment %) 16:53
ren1us jnthn: Thank you for just mentioning the caveat that I've been trying to hunt down in my code for about a month. Any workaround for that case?
Ulti as in a variable length string attribute doesnt change the size of the object
timotimo that's correct
strings are references
Ulti I'm not sure any languages do anything else?
Ven compounds operators are limited to OP + assign, right ? like a+=, we're not combining other operators with it, are we ?
jnthn The actual blob of data for the string isn't allocated in the fixed size heap, no 16:54
timotimo do we malloc data for strings?
jnthn timotimo: Yes 16:55
timotimo mhm
japhb Good morning, all. o/
timotimo at some point, i should probably re-measure the duplication of strings again 16:56
jnthn: was there something fundamentally flawed with the notion of wanting to put all strings seen in a nursery collection and flatten all references to equal string data to point at the same piece of memory?
jnthn ren1us: Not that I can immediately think of. It's one of those places where I made the assumption (held in many programs) that if you do something a bunch, you're probably going to do it again. 16:59
timotimo that's assuming my measurements were correct and some strings occur hundreds of times
jnthn ren1us: It's not an unsolvable problem at the VM level - gen2 would need some kind of compaction scheme. 17:00
timotimo jnthn: doesn't that give us problems with the assumption that gen2 objects never move?
ventica2 m: say [~] reverse '6', 'l', 'r', 'e', 'p', '#', ' ', 'm', 'g'; 17:01
camelia rakudo-moar 67a13d: OUTPUT«gm #perl6␤»
17:01 Alina-malina left
jnthn timotimo: Yes. 17:01
Ven (I'll take it that we only have compound operators made of assignment + X)
jnthn timotimo: Which is what makes it a bunch more fun.
17:01 Alina-malina joined
jnthn timotimo: Though I've always had that as a "soft" assumption 17:01
timotimo: One I expected to re-visit and partially break some day.
timotimo aye; recently we had discussions about WHICH for objects ...
gtodd hmm Sunday golfing ... codegolf.stackexchange.com/question...le-quickly
timotimo the hope was we could just move any object we take the WHICH of to gen2 17:02
.o( or was that WHERE? )
jnthn Yeah
No, WHICH
timotimo ok
jnthn But there are solutions even then; since we know places we're going to rely on non-movement we can just mark the thing pinned if needed.
gtodd with 50million lines /me wonders how different perl6 on jvm vs moarvm would be ... 17:03
timotimo hopefully we do know these :)
nothing's worse than having assumptions like this implicitly encoded in logic without pointing it out explicitly
and then having to revisit stuff everywhere
oh well. we're probably going to do fine
jnthn Well, the places that switch to gen2 allocation in order to not trigger GC are alreaady "marked out" 17:04
Taht's actually what Moar relies on mostly these days.
timotimo ah, right
jnthn I think the JIT may be the only thing that relies on non-movement of gen2
And WHICH could
timotimo OK 17:05
i'm looking forward to when we turn heap allocations into stack allocations when escape analysis is here :)
in very tight code, like numeric calculations, that might keep the GC asleep for long, long whiles :) 17:06
jnthn Well, the big thing it may also do is make a lot of Scalar containers be stack allocated.
timotimo that would be nice, too
rindolf TimToady: hi, are you there? 17:07
timotimo we have those all over the place
they are also quite likely to die young, right?
oh. does p6decontrv strip the scalar container off a sub's return value?
jnthn wany will, yes
Often 17:08
*many
timotimo ah, that seems like a somewhat simple case for escape analysis to find
anyway. enough theory, i'll let you get back to work :) 17:09
Ulti has anyone started down making an expression or line level profiler for Rakudo? 17:12
17:13 colomon left
Ulti since I dont actually know where my code is slow at the moment I assumed it was strings but it could just be one really bad expression on my part 17:13
timotimo nobody has, so far ... but our bytecode specialization framework on moarvm would be a good place to start (i seem to recall someone claim that)
17:14 btyler joined
pmurias in modules.perl6.org there is a panda icon for comformance with the S11 module spec, how can modules not comform? 17:15
timotimo the "provides" key in the meta.info
pmurias the provides key is not mentioned in S11 17:16
timotimo oh
hmm.
maybe in s22 though?
pmurias yes
timotimo s22 and s11 were kind of bunched up at some point, if i recall correctly 17:17
pippo timotimo: Ulti: 8 minutes to dump the hash to file instead of 70!!! A gret win!! Thank you!! 17:18
timotimo awesome!
pippo :-))
timotimo (still way too slow, but i'll take it!)
jnthn That's still, like, forever...
pippo jnthn: There is room for improving things ;-). 17:20
timotimo maybe we should have a benchmark for generate_json instead of just parse_json; but that's not that easy to scale
pippo: is that just from updating moarvm or does it come from switching from json5 to .perl?
pippo my perl6 is latest git. This come from switching from JSON5 to .perl. 17:21
timotimo ah, damn
pippo I used this: to-json(%table) ==> spurt('table.json'); 17:23
pmurias timotimo: shouldn't the icon reflect the split up?
timotimo er ... well volunteered? ;)
the branch in which these things were developed was called "eleven" for a long time 17:24
gtodd ooh much more interesting ... 150 point bounty for code golfing an IBAN validator codegolf.stackexchange.com/question...-validator 17:25
17:25 btyler left 17:27 spider-mario joined 17:29 kst left 17:30 raiph joined
lizmat welcomes discussion about S11 and S22 17:32
timotimo i'm a bit surprised json5's to-json is that much slower than our built-in .perl 17:36
one of them is a method call, the other is a multi-dispatch, right?
that shouldn't be problematic, no?
17:40 woolfy left, woolfy joined 17:43 akaseki is now known as DrSeki 17:44 japhb left 17:46 atroxaper left
pippo timotimo: suppose I spurt to 'table.perl' I get back my hash with "my %b = slurp.EVAL('table.perl')"? 17:46
timotimo no, slurp('table.perl').EVAL 17:47
but the rest seems to be correct
17:47 japhb_ left
pippo OK Thank you! I'll see how much time is necessary to get the hash back now. 17:48
17:54 woolfy left 17:58 Ven left
pippo :-( after 9 minutes: Error while compiling op callstatic (source text: ","): Too many arguments in flattening array. 18:00
dalek p-js: c88fd30 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Rewrite quote_string not to use regexes.

In the self-hosting compiler the regex-lib is not avalible in this part.
18:03
p-js: c44b24f | (Pawel Murias)++ | src/vm/js/HLL/Backend.nqp:
Fix --target=ast in the self hosting compiler.
p-js: a3fb1dd | (Pawel Murias)++ | src/NQP/World.nqp:
Fix NQP::World::libs method for the js backend.
p-js: 844054c | (Pawel Murias)++ | tools/build/ (2 files):
Install more modules to node_modules.

Build a gen/js/stage2/NQP.nqp (which compiles and supports --target=ast for -e '1')
masak pmurias: can you give us a sense of how it's going. I can't be the only one who is really curious! 18:04
s/\./?/
18:04 rurban1 left
pmurias just recently started work on nqp-js again, I'm trying to make a self-hosting nqp-js (running without parrot work) 18:05
masak nice \o/
pmurias: speaking only for myself, a self-contained demo in the browser would mean a *lot*. 18:06
though a self-contained demo outside of the browser would do in a pinch, too.
pmurias I previously had done so on a strangely hacked together version of nqp, now I'm trying to integrate into the NQP build system so things are more sane
18:07 lizmat left
jnthn pmurias++ 18:08
18:08 japhb joined
masak pmurias++ 18:08
Ulti pmurias++ 18:10
pmurias masak: the node specific part is kept separate: github.com/pmurias/nqp-js/tree/mas...ntime-node
masak sounds sane.
pmurias masak: so turning a standalon version into a browser one is mostly a matter of smartly concatenating the various node-module styles together 18:11
18:12 raiph left
masak pmurias: hint: browserify. 18:12
18:13 raiph joined
pmurias I tried to use that in my past attempt at doing a browser demo 18:14
had problems with browserify assumping stuff about the node_modules format and parsing code (?!)
masak oh, huh. 18:15
pmurias s/assumping/assuming/
is there an accepted format for client side js modules? 18:16
pippo bye perl6 o/
18:16 pippo left
masak modules are an ES6 thing, and as such "not quite there yet". 18:16
18:16 atroxaper joined
masak as I understand it, people are still debating the specifics on the mailing lists. 18:16
pmurias have you used browserify before? 18:21
18:21 atroxaper left 18:22 thou joined
vendethiel pmurias: I have 18:22
18:26 thou left
pmurias hmm, requirejs seems to be saner for nqp-js in the browser 18:29
18:37 hoverboard joined
FROGGS okay, now I spent more than two hours to fix Range... and I swap one spectest change for another... I'll git clean now and do something else -.- 18:42
18:47 darutoko left 18:49 rindolf left 18:50 rurban1 joined
carlin what's the Right Way to stop slurp() etc. on directories? `fail if self.d()` at the start of the various methods...? 18:52
18:52 beastd joined 18:58 colomon joined 18:59 Ven joined, hoverboard left, vendethiel left
Ven Damn, I'll have to explain flattening. 19:00
19:13 dwarring joined
dalek rl6-bench: 7e86722 | (Geoffrey Broadwell)++ | microbenchmarks.pl:
Fix and improve charrange microbenchmarks

They were originally creating bogus data, testing only successful and not unsuccessful matches, and tended to take an untenable time to finish. All of these issues are now fixed, though the extra complexity needed for these tests makes me wonder if we need special structure for regex tests.
Note to test submitters: If you're unsure of your test and are just committing to share the WIP, please mark the test 'enabled => 0' so that general users won't get tripped up.
19:15
19:15 rurban1 left
19:16 denis_boyun_ joined
pmurias is there an utility which makes a sound when make finishes? 19:26
timotimo "beep"
dalek kudo-star-daily: 18680f2 | coke++ | log/ (14 files):
today (automated commit)
19:29
rl6-roast-data: d975992 | coke++ | / (5 files):
today (automated commit)
FROGGS ahh, now I wanna see fresh bench run :/
timotimo how come?
dalek p-js: 69527b4 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Fix a bug in quoting strings.
19:30
FROGGS timotimo: the charrange benchmarks were fixed
timotimo ah
19:34 denis_boyun___ joined 19:36 denis_boyun_ left 19:38 spider-mario left 19:42 raiph left 19:51 raiph joined 19:58 anaeem1_ joined, aoseki joined, smash_ joined, jlaire_ joined, Maddingu1 joined
avuserow o/ 19:59
yoleaux 03:41Z <raiph> avuserow: re R* announce; "This is the first Rakudo Star release with..." paragraph needs an update
08:03Z <itz_> avuserow: re R* announce; you have a pull request on your star branch
timotimo o/
avuserow yoleaux: you are surprisingly slow
20:00 firnsy_ joined, firnsy_ left, firnsy_ joined
FROGGS avuserow: the bundled parrot is 6.5.0 but it should be 6.6.0 20:00
avuserow so I am learning that I should not have tried to proofread announcements late at night -_-
20:00 thilp_ joined
FROGGS avuserow: and I was not successful fixing jsonrpc, but I will try again tomorrow 20:01
avuserow hmm. for future reference, where can I find that information?
20:01 telex left
FROGGS avuserow: the parrot version? 20:01
avuserow yes
20:01 telex joined
FROGGS nqp/tools/build/PARROT_REVISION 20:01
20:02 telex left
FROGGS and parrot tells it when it starts compiling, and your perl6-p --version also shows it 20:02
avuserow oh... I haven't rebuilt a regular rakudo in forever then :\
20:02 kaare__ left
avuserow I see, that file is typically updated in the configure step since it's in NQP's subdir 20:03
20:03 Bucciarati_ joined, Gothmog__ joined, anocelot_ joined, nickpatc1 joined 20:04 fling_ joined, telex joined, huf_ joined
avuserow okay. I shall rebuild everything for star and try to do it right this time 20:05
... after looking at itz_++'s PR :) 20:06
20:06 daxim_ joined, __sri joined, charsbar__ joined 20:07 Celelibi_ joined 20:10 rurban1 joined, thou joined 20:11 raiph left, DrSeki left, daxim left, fling left, firnsy left, Bucciarati left, charsbar_ left, anocelot left, thilp left, jlaire left, Celelibi left, ilbot3 left, Gothmog_ left, nickpatch left, Maddingue left, smash left, huf left, _sri left, dmol left, virtualsue joined 20:12 Gothmog__ is now known as Gothmog_ 20:14 kivutar joined, thou left
timotimo we have a candidate for chrs that takes a slurpy, but no candidate for a single argument; would that be a good optimization to give that a candidate with only one arg? 20:15
20:15 dmol joined
jnthn Probably 20:16
Make sure you benchmark before/after though
I did that for push, fwiw
dalek p-js: b40eecf | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Remove bit of dead code.
20:17
p-js: 0d6b269 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Replace a use of subst with a loop over the chars.
20:22 gfldex left 20:23 ilbot3 joined
dalek kudo/nom: 9515bb7 | jnthn++ | src/core/ (4 files):
Tweak some protos for better Junction failover.

We can make the proto itself be (Any, Any), meaning it fails to bind. However, this also means that the multi-dispatcher never gets chance to sneak an entry into the cache for the Junction case, so we have to go through the slow-path binder to fail over every time, rather than cheaply identifying we should hit the Junction dispatcher.
20:25
timotimo i assume seeing this commit be pushed to nom proves that it was worth it? :)
jnthn Yeah. We even hit it a couple of times on startup, so it's a small win on that too 20:26
timotimo oooh, i like that
20:32 thou joined
dalek ast: aa9100f | (David Warring [email@hidden.address] | integration/99problems-11-to-20.t:
fix warnings
20:32
ast: afadbbd | (David Warring [email@hidden.address] | integration/99problems-21-to-30.t:
mark tests for RT #122414
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122414
p-js: 8cb2e07 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Rewrite use of subst.
20:34
timotimo i wonder if method perl would get faster if we had %esc as a nqp hash instead of a perl6 hash 20:37
20:37 Alula_ left
timotimo hm, and i wonder if nqp::substr would be faster on an unboxed str than self.substr would be at the moment 20:38
20:38 Alula_ joined 20:41 zakharyas joined 20:42 ventica2 left
dalek p-js: de2bc9a | (Pawel Murias)++ | TODO:
Add item to TODO, mark easy tasks.
20:44
20:49 thilp_ is now known as thilp, thilp left 20:50 thilp joined 20:52 ventica2 joined 21:05 dmol left, Rotwang left 21:09 ggoebel111118 joined 21:10 ggoebel111117 left, [particle]1 joined 21:11 [particle] left, firnsy_ is now known as firnsy
Ven just broke the 1k lines, yay. 21:12
21:14 Celelibi_ is now known as Celelibi
Ven Eventually I'll need to explain flattening. But I now know why it doesn't flatten directly. You couldn't have .tree and other meta ops 21:15
21:15 thou left
ventica2 m: %hash = (:a<foo>, :b<bar>); %hash<a>; %hash<a b c>; %hash<a b c> :v; 21:16
camelia rakudo-moar 67a13d: OUTPUT«===SORRY!=== Error while compiling /tmp/P4c3QRLZXw␤Variable '%hash' is not declared␤at /tmp/P4c3QRLZXw:1␤------> %hash⏏ = (:a<foo>, :b<bar>); %hash<a>; %hash<a␤ expecting any of:␤ postfix␤»
ventica2 m: my %hash = (:a<foo>, :b<bar>); say %hash<a>; say %hash<a b c>; say %hash<a b c> :v;
camelia rakudo-moar 67a13d: OUTPUT«foo␤foo bar (Any)␤foo bar␤»
ventica2 m: my %hash = (:a<foo>, :b<bar>); say %hash<a> :exists; 21:18
camelia rakudo-moar 67a13d: OUTPUT«True␤»
21:19 Ven left
ventica2 m: my %hash = (:a<foo>, :b<bar>); say %hash{any <a b c>} :exists; say %hash{all <a b c} :exists; 21:20
camelia rakudo-moar 67a13d: OUTPUT«===SORRY!=== Error while compiling /tmp/q2gHaRgPAu␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at /tmp/q2gHaRgPAu:1␤------> :exists; say %hash{all <a b c} :exists;⏏<EOL>␤ …»
ventica2 m: my %hash = (:a<foo>, :b<bar>); say %hash{any <a b c>} :exists; say %hash{all <a b c>} :exists;
camelia rakudo-moar 67a13d: OUTPUT«any(True, True, False)␤all(True, True, False)␤»
ventica2 m: my Bool $b; my %hash = (:a<foo>, :b<bar>); $b = %hash{all <a b c>} :exists; say $b; 21:21
camelia rakudo-moar 67a13d: OUTPUT«Type check failed in assignment to '$b'; expected 'Bool' but got 'Junction'␤ in block at /tmp/2Z0SAD11kp:1␤␤»
21:24 denis_boyun___ left
dalek ast: 4d174ed | (David Warring [email@hidden.address] | integration/99problems-41-to-50.t:
tweaked/unfudged P49, P50
21:30
21:49 spider-mario joined 21:50 anaeem1_ left 21:53 anaeem1 joined 21:54 raiph joined 21:58 anaeem1 left, LordVorp left 22:01 beastd left 22:08 tgt left
masak 'night, #perl6 22:10
22:17 cooper_ joined 22:21 pmurias left 22:24 thou joined 22:28 thou left
[Coke] cc 22:30
22:31 Psyche^ joined 22:32 zakharyas left 22:34 Psyche^_ left 22:45 xenoterracide_ left, kivutar left 22:46 kivutar joined 22:47 spider-mario left
dalek p: ed4b9f0 | jnthn++ | / (5 files):
Numerous performance improvements to QAST -> MAST.

Includes a MoarVM revision bump to get MAST::Node improvements.
22:50
p: 4e02ce3 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Sprinkle native types in QAST op registration.

Means we need to do a load less boxing at startup, only to throw it all away again.
kudo/nom: 319a78b | jnthn++ | / (2 files):
Get QAST -> MAST improvemnets; follow changes.
22:51
jnthn You should now be able to enjoy a bit faster NQP/Rakudo builds and spectests.
timotimo "a bit"? :)
jnthn Shaved 30s off my "make spectest" here. 22:52
And fastest Rakudo and NQP build times I've seen in a while.
timotimo sweet! :)
jnthn++
22:53 psch left
jnthn An NQP build from scratch for me is 36s now. 22:53
22:53 psch joined
timotimo those dynamic vars you turned into attributes will surely do good 22:53
have we explored spesh opportunities for spesh/inlining yet? 22:54
jnthn And I've got a Rakudo build down to 77s.
(Again, from clean)
[Coke] pmurias++ 22:55
22:55 raiph left
[Coke] I wonder how many times I have a two letter thing in backlog (which is me trying to see if my connection has died, and it hasn't.) 22:57
timotimo ah, i was wondering what that was :) 22:58
[Coke] will try to train his fingers to do something else. 23:00
timotimo well, i don't mind, i was just mildly surprised
23:01 dmol joined 23:18 psch left 23:19 jlaire_ is now known as jlaire 23:20 psch joined 23:21 nbrown joined
timotimo faster mast compiler would also mean panda installs and smoking modules ought to be faster 23:24
23:25 nbrown left 23:30 cognome left, cognominal left
timotimo dwarring: did you see the recent discussion of junctions on the left-hand-side of ~~? 23:35
dwarring timotimo: umm no
how recent? 23:36
timotimo i think we decided that ~~ should not autothread
like, 1 or two days?
dwarring right
r: say ?(all(1,3,5) eq any(1..6)) 23:37
camelia rakudo-{parrot,moar} 9515bb: OUTPUT«True␤»
..rakudo-jvm 9515bb: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
dwarring r: say ?(all(1,3,5) == any(1..6))
camelia rakudo-{parrot,moar} 9515bb: OUTPUT«True␤»
..rakudo-jvm 9515bb: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
dwarring r: say ?(all(1,3,5) ~~ any(1..6))
camelia rakudo-{parrot,moar} 9515bb: OUTPUT«False␤»
..rakudo-jvm 9515bb: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
dwarring backlogging 23:38
23:46 dmol left 23:48 BenGoldberg joined 23:52 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar
dalek blets: 2f2aa1b | (Herbert Breunung)++ | docs/ (5 files):
chenging cookbook to classtree
23:52
dwarring timotimo: around irclog.perlgeek.de/perl6/2014-07-27#i_9087840 to irclog.perlgeek.de/perl6/2014-07-27#i_9087839 23:53
dalek blets: a39f05b | (Herbert Breunung)++ | docs/appendix-c-cookbook.txt:
Delete appendix-c-cookbook.txt

its now part of delta
23:54
dwarring "the choice for ~~ must be driven entirely by the RHS" 23:56
timotimo jnthn: t.h8.lv/p6bench/2014-07-28-one-more-day.html
while_int2str_native seems to have regressed? 23:57
oh, no
it's just not the right order
the 319 one is the newer one
dalek p: 957e862 | jnthn++ | src/vm/moar/QAST/QAST (2 files):
Get regex compiler using more attrs, less dynamics

Improves performance a bit further, since attribute lookups can be far cheaper (and will JIT better).
23:58
p: 6fd6df9 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Avoid repeated $*REGALLOC lookups.

Especially helpful in list-constructing loops.
dwarring godd catch timotimo++
timotimo yw :) 23:59
dwarring also jnthn++ performance, pmurias++ nqp-js