»ö« 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:04 virtualsue left, virtualsue joined 00:19 jnap1 joined, jnap left 00:21 araujo left 00:33 LLamaRider left 00:35 virtualsue left 00:42 andreaa joined 00:51 andreaa left 00:57 kurahaupo left, thou left
dalek ast: 29f36af | (David Warring [email@hidden.address] | integration/advent2012-day23.t:
adding advent 2012 day 23
00:58
01:02 FROGGS_ joined 01:06 Sqirrel left, FROGGS left 01:16 colomon left 01:21 colomon joined 01:23 Sqirrel joined
raiph m: grammar G { rule TOP { <a> }; rule a { <b> }; rule b { <c> }; rule c { $<d>=x } }; G.parse('x'); say $<a><b><c> 01:27
camelia rakudo-moar fd5f8e: OUTPUT«「x」␤ d => 「x」␤␤»
BenGoldberg m: grammar G { rule TOP { <a> }; rule a { <b> }; rule b { <c> }; rule c { $<d>=x } }; G.parse('x'); say $<a><b><c><d> 01:29
camelia rakudo-moar fd5f8e: OUTPUT«「x」␤␤»
raiph That was a ww -- I meant that to be private 01:31
Fwiw I'm looking for a nice and brief way to create a less nested parse tree, short of using actions/make 01:32
01:36 jnap joined, jnap1 left 01:47 klapperl_ joined 01:50 klapperl left 01:51 Su-Shee_ joined 01:54 Su-Shee left 01:59 donaldh left, donaldh_ joined 02:00 donaldh_ is now known as donaldh 02:01 thou joined 02:06 thou left 02:14 hoverboard joined 02:18 plobsing joined 02:20 donaldh left 02:21 jnap left 02:24 donaldh joined, pdurbin left 02:32 Alina-malina left 02:33 xragnar left 02:34 Alina-malina joined, xragnar joined 02:35 rurban joined 02:51 hoverboard left, jnap joined 02:55 jnap left 03:14 hoverboard joined 03:34 bjz joined 03:52 jnap joined 03:56 jnap left 04:01 firnsy joined 04:05 xenoterracide_ joined
lue r: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh 04:06
camelia rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
..rakudo-{parrot,moar} fd5f8e: OUTPUT«「aa」␤␤===SORRY!=== Error while compiling eval_0␤Quantifier quantifies nothing␤at eval_0:1␤------> anon regex { ^a\c[32]**⏏\c[32]2}␤ expecting any of:␤ scoped declarator␤ n…»
04:08 hoverboard left, donk joined 04:09 SamuraiJack_ joined 04:15 isacloud__ left, ggherdov_ left 04:30 Psyche^_ joined 04:34 Psyche^ left 04:35 pnu joined 04:37 isacloud__ joined 04:38 clkaoud joined 04:40 ggherdov_ joined, SamuraiJack__ joined, SamuraiJack_ left 04:52 lue left 04:53 jnap joined, xinming_ left 04:54 xinming_ joined 04:58 jnap left 05:04 lue joined 05:14 xenoterracide_ left 05:19 kurahaupo joined 05:25 xenoterracide joined 05:36 BenGoldberg left 05:44 SamuraiJack__ left 05:52 logie left 05:54 jnap joined 05:55 kurahaupo left 05:57 dwarring left 05:58 jnap left 06:01 xenoterracide left
moritz \o 06:29
raiph hi moritz 06:30
06:31 kaare_ joined, rurban left 06:32 dmol joined
Woodi_ hallo everyone :) 06:35
raiph hi woodi 06:36
Woodi_ when I install nqp on moarvm it will install into some /*/*/nqp-201404 prefix or into moar like on parrot ?
06:51 anaeem1 joined
FROGGS_ Woodi_: the binary is in the same directory where nqp-p is 06:52
modules will go into a different path, but still under prefix of course 06:53
Woodi_ but I'm asking about nqp itself :) is nqp on moar installed into sone lib/ in moar prefix (like on parrot) ? 06:54
06:54 jnap joined 06:55 molaf joined
Woodi_ ls -r moar-prefix|grep nqp shows something ? 06:55
hmm, grep -r works better... 06:56
06:59 jnap left
Woodi_ just testing star-rc and do not want to mess with reinstalling things with bad prefixess... 06:59
another way: do nqp using moar is full software-package-like with it *own* prefix or it is installed into moar guts ? 07:01
07:10 darutoko joined
FROGGS_ Woodi_: everything (nqp on every backend, perl6 on every backend, all libs and modules) are installed under --prefix 07:25
07:25 thou joined 07:26 rindolf joined
FROGGS_ which defaults to 'install' 07:26
so, it will be in rakudo-star-2014.04/install for example, or just rakudo/install if you cloned the compiler only 07:27
07:27 Ven joined
FROGGS_ moritz / jnthn: this could mention moar/jvm as well, right? gist.github.com/FROGGS/85fa321b585cf3c7df05 07:28
Woodi_ grrr... developers... 07:30
07:30 thou left
Woodi_ thanx FROGGS++ :) 07:30
FROGGS_ :o) 07:31
07:31 anaeem1 left 07:32 rurban joined 07:36 anaeem1 joined, rurban left 07:38 anaeem1 left 07:39 anaeem1 joined
moritz FROGGS_: aye, it should 07:40
07:43 anaeem1 left 07:46 denis_boyun_ joined
Woodi_ rakudo from star201404-rc cannot find "clean" make target after configure 07:48
FROGGS_ Woodi_: you can just continue, I need to figure out where that comes from 07:52
07:57 mathw_ joined 08:04 ilbot3 left, bjz left, colomon left, djanatyn left, Woodi_ left, Maddingue left, bowtie left, daxim left, qzx left, broquaint left, salv0 left, yoleaux left, woolfy left, sivoais left, vendethiel left, [Coke] left, synopsebot left, pochi left, xinming_ left, Psyche^_ left, vaskozl left, ggoebel111113 left, silug____ left, sftp left, cooper left, PZt left, ivan`` left, erdic left, yogan_ left 08:06 ilbot3 joined, bjz joined, colomon joined, djanatyn joined, Woodi_ joined, Maddingue joined, bowtie joined, daxim joined, qzx joined, broquaint joined, salv0 joined, yoleaux joined, woolfy joined, sivoais joined, vendethiel joined, [Coke] joined, synopsebot joined, pochi joined, zamolxes joined, sjohnson joined, askz joined, crazedpsyc joined, simcop2387 joined, leguin.freenode.net sets mode: +v yoleaux
masak mornin', #perl6 08:07
08:08 bbkr joined
masak pm: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh 08:08
m: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh 08:09
camelia rakudo-moar fd5f8e: OUTPUT«「aa」␤␤===SORRY!=== Error while compiling eval_0␤Quantifier quantifies nothing␤at eval_0:1␤------> anon regex { ^a\c[32]**⏏\c[32]2}␤ expecting any of:␤ scoped declarator␤ new name t…»
masak p: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh
camelia rakudo-parrot fd5f8e: OUTPUT«「aa」␤␤===SORRY!=== Error while compiling eval_0␤Quantifier quantifies nothing␤at eval_0:1␤------> anon regex { ^a\c[32]**⏏\c[32]2}␤ expecting any of:␤ scoped declarator␤ new name…»
masak lue: has that one been submitted as a rakudobug?
bbkr FROGGS_: thanks for JSON::RPC patch, merged
FROGGS_ bbkr: cool! :D
08:10 kaare_ left 08:11 camelia joined, atrodo joined, xinming_ joined, Psyche^_ joined, vaskozl joined, ggoebel111113 joined, silug____ joined, sftp joined, cooper joined, PZt joined, ivan`` joined, erdic joined, yogan_ joined, tokuhirom joined, risou joined, sorear joined, TimToady joined
timotimo hello from a breakfast table 08:12
08:12 telex left, ivan`` left, ivan`` joined 08:14 telex joined
FROGGS_ hi timotimo 08:14
08:15 donk left 08:16 xinming_ is now known as xinming
timotimo t.h8.lv/p6bench/2014-05-03-return_types.html - here we can see the effect of only the commit that adds return type annotations to the moar ops 08:23
18b is without, 941 is with
the difference is not very visible, but i bet it does something in cases not covered by the benchmarks 08:25
08:31 rurban joined 08:33 raiph left 08:36 rurban left
Ven timotimo: why only one nqp 08:39
?
masak timotimo: it's visible in "hello".
timotimo: and something interesting seems to have happened in "while_push_join" 08:40
though now that I look at it, it seems mostly chaotic for such small values, so maybe it's just noise. 08:41
FROGGS_ moritz: this is what I did about Configure.pl: gist.github.com/FROGGS/e21a91a1c76614be34eb 08:43
dalek kudo/nom: ee95a0e | (Tobias Leich)++ | tools/lib/NQP/Configure.pm:
tools: only set $impl{config} when it is trueish

Otherwise we pass a ref of an empty hash around, wich will be treated truesh later.
08:46
kudo/nom: 364dfb1 | (Tobias Leich)++ | Configure.pl:
more guidance to build rakudo

It shows examples what option can be passes, and it also mentiones other backends than Parrot when someone tried to build for several backends but did not supply the right flags.
FROGGS_ this needs to applied to star, but I am afk for an hour now, will do it then if nobody beats me to 08:47
08:53 bbkr left 08:56 jnap joined 09:01 jnap left 09:05 SamuraiJack__ joined 09:14 thou joined
Ulti does .parsefile at any point slurp? 09:17
or does it parse as it goes 09:18
Ulti uses the source
like a good nerdi
09:18 thou left
Ulti I guess this 100GB file would also answer my question :3 09:18
also jnthn++ for this PDF from 2010 I just stumbled over "Perl 6: For Little Tools and Big Applications" 09:19
dalek ast: 1f3785d | (Elizabeth Mattijsen)++ | S17-supply/watch_path.t:
Make watch_path tests a little less fragile
09:20
09:21 spider-mario joined
Ulti naaw $fh.slurp 09:21
trying to think of a way to do a nice reactive style parse as you go way of using grammars, the problem is you kind of already assume some level of "chunking" of the data to break up the file 09:22
can you get from a grammar what its first and last match states are?
*parse-as-you-go
guess I could do it by having some required tokens in the grammar 09:26
09:27 SamuraiJack__ left
timotimo masak: i have *no* idea where that weird ramp comes from :( 09:29
jnthn m: morning; sub morning() is pure { };
camelia rakudo-moar fd5f8e: OUTPUT«WARNINGS:␤Useless use of "morning" in expression "morning" in sink context (line 1)␤»
7F1AAEDN9 rakudo-moar fd5f8e: OUTPUT«WARNINGS:␤Useless use of "morning" in expression "morning" in sink context (line 1)␤»
jnthn good...nearly-afternoon, #perl6 :)
nwc10 near UGT heresy safely averted 09:30
09:32 rurban joined
timotimo masak: the only things i can think of are: the previous test ran until all memory was exhausted and the time measurement script choked on it; or subtracting the measured startup time resulted in a bogus value 09:32
masak timotimo: I remember a really illuminating course at uni about en.wikipedia.org/wiki/Design_of_experiments -- maybe there is something from that field that can be applied to making less biased benchmarks? 09:36
09:36 rurban left
Ulti with a grammar is there a way to get at the rules/tokens it uses as if they were methods or even some Regex attribute? 09:36
timotimo there is a lot that could be improved upon i'm sure 09:37
dalek kudo/nom: f280165 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
Make Supply methods picker about what to accept

Specifically as to being called as a class or instance method.
09:40
lizmat Ulti: far from being a grammar specialist, but they way I understand things, grammars are just a special type of class 09:41
rules and tokens are really just methods internally
09:41 Su-Shee_ is now known as Su-Shee
lizmat so I'd figure the standard introspection methods should work :-) 09:41
09:41 virtualsue joined
jnthn What lizmat said is true 09:41
github.com/rakudo/rakudo/blob/nom/...marHOW.nqp shows it pretty nicely too 09:42
Ulti hmm I get ye olde Cannot look up attributes in a type object
reading 09:43
jnthn The terse code in that link basically means "gramamrs are classes but with a different default parent" :)
r: grammar G { token t { abc } }; say G.^methods
7F1AAEDN9 rakudo-moar fd5f8e: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine'␤ in method gist at src/gen/m-CORE.setting:7192␤ in sub say at src/gen/m-CORE.setting:13601␤ in block at /tmp/tmpfile:1␤␤»
camelia rakudo-moar fd5f8e: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine'␤ in method gist at src/gen/m-CORE.setting:7192␤ in sub say at src/gen/m-CORE.setting:13601␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot fd5f8e: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine'␤ in method gist at gen/parrot/CORE.setting:7139␤ in method gist at gen/parrot/CORE.setting:1056␤ in sub say at gen/parrot/CORE.setting:13588␤ in block at /tmp/tmpfile:1␤␤»
7F1AAEDN9 ..rakudo-jvm fd5f8e: OUTPUT«Rebuild in progress␤»
..rakudo-parrot fd5f8e: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine'␤ in method gist at gen/parrot/CORE.setting:7139␤ in method gist at gen/parrot/CORE.setting:1056␤ in sub say at gen/parrot/CORE.setting:13588␤ in block at /tmp/tmpfile:1␤␤»
camelia ..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: Failed to load config.properties␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:78)␤ in load_module (src/vm/jvm/ModuleLoader.nqp:60…»
jnthn ugh 09:44
r: grammar G { token t { abc } }; say G.^methods(:local)
7F1AAEDN9 rakudo-{parrot,moar} fd5f8e: OUTPUT«t␤»
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: Failed to load config.properties␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:78)␤ in load_module (src/vm/jvm/ModuleLoader.nqp:60…»
camelia rakudo-{parrot,moar} fd5f8e: OUTPUT«t␤»
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: Failed to load config.properties␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:78)␤ in load_module (src/vm/jvm/ModuleLoader.nqp:60…»
jnthn Why do we have a camelia and an imposter evalbot?
Ulti yeah weird I can see they exist but I cannot call them
jnthn You can only call them on an initialized cursor 09:45
Ulti yeah I saw from the Grammar source code in subparse
jnthn Note you can pass subparse a rule argument, with the thing you looked up. 09:46
Doesn't just have to be a name.
09:47 ChanServ sets mode: +o masak, 7F1AAEDN9 was kicked by masak (7F1AAEDN9)), ChanServ sets mode: -o masak
masak general notice: if you want your 7F1AAEDN9, please contact reception. thank you. 09:48
09:56 bbkr joined 09:57 jnap joined
lizmat attempts to grok masak's public service announcement, but fails 10:00
10:01 jnap left, bbkr left 10:07 virtualsue left
dalek ast: 5cf307b | (Elizabeth Mattijsen)++ | S17-supply/ (20 files):
Add tests for getting called as class method

And some general cleanup, e.g. only use lib when needed
10:11
jnthn lizmat++ # tirelessly supplying tests 10:13
10:20 virtualsue joined
lizmat it's the only way to catch the obvious errors before it gets out more in the wild :-) 10:20
dalek ast: 1d58cad | (Elizabeth Mattijsen)++ | S17-supply/watch_path.t:
Make watch_path even more robust

During spectest probably other scripts were writing files in the same directory interfering with the test. We now only look for "our" file to begin with.
10:27
lizmat afk for a while
10:34 rurban joined
FROGGS_ m: say 1 10:35
camelia rakudo-moar fd5f8e: OUTPUT«1␤»
jnthn FROGGS_: Did you have a doc patch you wanted to sneak into r* 2014.04? 10:36
FROGGS_ jnthn: yes 10:37
will do that in ~30min if that is okay
jnthn wfm
10:38 rurban left 10:41 Ven left
timotimo yay for docs 10:47
FROGGS_ it is about configure's output, see my latest rakudo commit 10:48
10:48 SamuraiJack__ joined
timotimo ah, very good 10:49
masak: i haad considered running all the benchmarks in a randomized order 10:52
maybe that could help ease the noise, if they are run more often as well 10:53
10:53 virtualsue left 10:55 sqirrel_ joined
masak timotimo: glad you liked it :) 10:57
10:57 jnap joined
timotimo it would be nice if we could have more benchmarks with a bit more code than just a single loop or two nested loops. 10:58
jnthn That's what forestfire and so forth are about, no? 10:59
But yes, more of those would be great.
timotimo yes
exactly
just for fun i'm going to build a very old rakudo-parrot and pit it against a current rakudo-parrot and rakudo-moarvm 11:00
because at least the benchmarks are somewhat stable
i think the only thing that's changed since then that would impact the benchmarks strongly would be bless(*,...) for forest fire 11:01
11:02 jnap left
jnthn I don't think that bless call is on a hot path anyway. 11:02
11:02 thou joined
timotimo aye 11:02
heh. i had to remove --backends= :) 11:06
11:06 thou left
timotimo good old times :) 11:07
things were simpler back then
chenryn modules.perl6.org is down? 11:10
timotimo not for me
what do you need in particular?
jnthn can reach it too 11:11
11:11 SamuraiJack__ left 11:18 kurahaupo joined 11:19 virtualsue joined
FROGGS_ same for me, modules.perl6.org is working 11:21
chenryn well, reach it through VPN now. 11:23
dalek ar: 1f7afaa | (Tobias Leich)++ | tools/lib/NQP/Configure.pm:
tools: only set $impl{config} when it is trueish

Otherwise we pass a ref of an empty hash around, wich will be treated truesh later.
11:25
11:26 virtualsue left
moritz do we have any modules for reading exif data from images? 11:27
timotimo why doesn't taglib::simple support exif? :) 11:30
11:38 sqirrel_ left
moritz solves his problem by shelling out to the exif command line tool 11:46
dalek ar: 5bbf9d6 | (Tobias Leich)++ | Configure.pl:
more guidance to build rakudo

It shows examples what option can be passes, and it also mentiones other backends than Parrot when someone tried to build for several backends but did not supply the right flags.
11:47
FROGGS_ jnthn: done
bbiab # lunch
11:48 berekuk joined 11:49 berekuk left 11:57 Alina-malina left 11:58 jnap joined 12:03 jnap left 12:08 Woodi_ is now known as Woodi
timotimo t.h8.lv/p6bench/2014-05-03-almost_a_year.html - waiting almost a year for performance improvements in parrot was not worth as much as switching to moarvm (flamebait) 12:28
12:30 xenoterracide joined
timotimo i'm going to re-run the moar timings with --runs=10, that ought to get rid of the wrongness! >:( 12:30
nwc10 what's the wrongness? 12:35
12:35 rurban joined 12:37 araujo joined, araujo left, araujo joined
timotimo look at postwhile_nil for example 12:38
12:39 rindolf left, rurban left 12:43 araujo left
nwc10 ah. also, is there a significance to the vintage of parrot you chose? 12:45
12:48 thou joined, araujo joined
timotimo just "middle of the year" 12:51
12:59 jnap joined
FROGGS_ java.lang.RuntimeException: java.lang.NegativeArraySizeException :/ 13:02
13:03 jnap left 13:10 rindolf joined
FROGGS_ has someone knowledge about jvm? do I need to add astore/aload calls there? gist.github.com/FROGGS/5ee16f5619aed3003258 13:11
only the "if $label {" branch is questionable 13:12
jnthn # Create a new exception object 13:15
$il.append(JAST::Instruction.new( :op('invokestatic'), $TYPE_OPS,
'newexception', 'SixModelObject', 'Void', $TYPE_TC ));
I don't see you passing the thread context onto the stack before this.
FROGGS_ ahh, aload cf ?
jnthn aload tc, I guess 13:16
FROGGS_ cf is callframe?
jnthn right
FROGGS_ after newexception was called the exception object is on the stack, right? and that means it will be passed as first arg to the next call? 13:21
jnthn Should do 13:22
Note you forgot to push tc there too
FROGGS_ yes 13:23
13:23 thou left
FROGGS_ updated: gist.github.com/FROGGS/5ee16f5619aed3003258 13:23
though, it is missing in the throwcatdyn_c (else) case too, no? I did not touch this one 13:24
or does 'savesite' it for me?
hmm, no, savesite does not seem to do that 13:25
Ulti so getting input-line-separator into readlinefh looks like it goes all the way down to each VM? 13:26
FROGGS_ I think so, yes
13:29 thou joined 13:31 sqirrel_ joined
timotimo kind of has to, no? 13:32
unless we want to implement readline by doing single byte reads
Ulti yeah I mean more the changes required to make it happen go all the way down to changing implementation everywhere
like NQP doesn't take a parameter which is defaulting to "\n" for the op 13:33
I noticed sockets do have this though
timotimo how is the readline done at the moment? 13:34
it has to be checking for a character somewhere
also the spec suggests you can even pass in a regex...
which is a much bigger change
13:34 bbkr joined
timotimo mhm 13:35
jnthn urgh 13:36
Passing in a regex for that is completely incompatible with this stuff performing decently.
timotimo yes, but we can easily special-case that 13:37
jnthn "easily"
timotimo we wouldn't use / \n / as the default and make the rest use that object :P
FROGGS_ "hehe" :P
Ulti how much slower is the Rakudo level .read
jnthn Remember that DecodeStream is doing hard stuff that you really do not want to replicate 13:38
Like, dealing with the sitaution where two chunks we get from IO have multi-byte chars spread over them.
Before claiming it's easy, I suggest y'all read decodestream.c :) 13:39
timotimo you mean we can't rely on decodestream.c's work?
13:40 chenryn left
jnthn Well, you can rely on it if you use it :P 13:40
13:41 chenryn joined
jnthn Doing a .read of bytes is side-stepping it, though. 13:41
It just gives you the raw bytes.
We really could do with exposing decodestream at Perl 6 level 13:42
timotimo oh, of course
jnthn But even then I don't quite know how on earth we'd handle the regex case.
13:43 bbkr left
jnthn It sounds like one of those things that was put into the spec without considering how I/O works 'cus it sounded like a nice idea... 13:43
nwc10 regex for what?
timotimo right; if you're reading one byte, you perhaps have to go back to the beginning
Ulti I think a simpler substring match case would be good too, and you probably want that to be a faster implementation
jnthn nwc10: Line separator when donig I/O
nwc10 oh *That*
Ulti rather than just a special case of the Regex version
nwc10 the thing awk can do
Ulti and Perl5 13:44
nwc10 we've thought a lot about this in Perl 5 land, because it keeps sort of being wanted
I'm not sure what the state is
timotimo also, how do you do "say" when the line separator is a regex? well ... it's only for the *input* line separator :)
nwc10 yves had a plan for what was doable
but it's sane for non-greedy regex
Ulti timotimo well regex can be generative too, generate a string that would match :P
FROGGS_ ohh, it looks like I should use $TYPE_SMO instead of 'SixModelObject'
nwc10 and I think Yves had a plan to do it within the constraints of the Perl 5 implementation for the subset of those that have bounded max length 13:45
jnthn FROGGS_: oh...yes
skids Won't this be the same problem for running an rx on a Cat, when we get Cat? 13:47
Or will Cat guarantee unicode chars come in whole? 13:49
timotimo can it, though? 13:53
except at the very end of file, you can't know if the next character will be a new glyph or a combining or control code
so you'll have to always keep at least a single glyph from the user 13:54
until either EOF or a new glyph arrives
13:54 Alina-malina joined, rurban joined
skids
.oO(Promise/Supply in a grammar action.... Hmmm.)
13:58
timotimo heh.
you can feed results of parsing out through a channel :) 13:59
14:00 jnap joined 14:02 ggherdov_ left 14:03 ggherdov_ joined 14:04 jnap left 14:05 bbkr joined 14:06 logie joined, Alina-malina left 14:07 Alina-malina joined 14:17 bbkr left 14:18 rindolf left 14:20 donaldh left
timotimo how do people feel about a trait "is subcommand_name" for parameters to MAIN that would cause the parameter to show up before nameds 14:20
14:21 sqirrel_ left
timotimo locally, parrot now also segfaults when trying to build the restricted setting 14:22
FROGGS_ O.o
14:24 sqirrel_ joined
FROGGS_ damn, still: java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 14:24
gist.github.com/FROGGS/5ee16f5619aed3003258
timotimo what the flying fuck. the postwhile nil native tests still do the thing.
even with 10 runs instead of i think 2
there's something *strange* going on.
14:24 donaldh joined
timotimo Pod::To::Text fails similarly 14:25
14:26 anaeem1 joined
FROGGS_ the what? 14:26
timotimo t.h8.lv/p6bench/2014-05-03-almost_a_year.html 14:29
at first it's very fast, then gets ridiculously fast and then turns constantly slow
jnthn timotimo: How is memory usage? 14:30
Juerd timotimo: So it turns slow from the point where some value reaches 32768. Isn't that suspicious? :) 14:31
timotimo: Some more resolution would be necessary to see if it's exactly that point, or just happens to be around it.
14:31 kurahaupo left
Juerd Although the increasing speed before the drop is much scarier 14:32
vendethiel timotimo: is that with the same rakudo :) ?
timotimo is that the place where we go from smallbigint to bigint? 14:35
jnthn No, doubt it; we have to overflow a 32-bit number for that. 14:36
Ulti < timotimo> you can feed results of parsing out through a channel :) <--- can you see my computer screen? :P 14:53
trying to make a promise lazy read and chunk a file parsing as it goes sending the parsed objects down a channel, then have a tonne of threads to process the stuff coming out of the channel 14:54
FROGGS_ that sounds interesting 14:56
Ulti the only tricky bit is trying not to assume too much about the file format, starting out with you have to upfront say what parser you want and what the 'record start' character is 14:59
15:00 jnap joined 15:04 logie left 15:06 jnap left, Khisanth left 15:10 anaeem1 left
FROGGS_ jnthn: does '$il.append($POP);' mean that I pop something from the stack to nirvana? so I can ignore a return value? 15:16
jnthn Right, it just throws away the top stack entry 15:17
FROGGS_ nice
jnthn Note - must be a pointer, or int, or float, or soemthing
FROGGS_ it is a Long
jnthn Use POP2 if it's a long (RT_INT) or double (RT_NUM)
Ah, then POP2
FROGGS_ k, :D
15:19 vendethiel left
FROGGS_ btw, it is moar fun to not hack on jvm or parrot backend :o) 15:19
15:19 vendethiel joined 15:20 Khisanth joined
JimmyZ I have been waiting for compiling jvm codes these days ... most of time 15:21
FROGGS_ Reason:
Type long_2nd (current frame, stack[2]) is not assignable to 'org/perl6/nqp/sixmodel/SixModelObject'
hups
JimmyZ compiling moar is much faster :P 15:22
FROGGS_ that is the point yeah :/
15:24 rom1504 joined
timotimo the pop2 thing (and dupx2 and friends) really confused me the first time around, too. 15:33
Ulti \o/ yay first bug whilst playing with reactive magic :D 15:35
waited on a channel that never produced anything forever
timotimo never forever.
Ulti well until entropy consumes my computer 15:36
vendethiel 7F1AAEDN9 ? What happened to camelia :D ? 15:37
oh, new camelia o/
Ulti hmm .index returns Int type object on failure :/ 15:43
timotimo m: say :what
camelia rakudo-moar fd5f8e: OUTPUT«␤»
Ulti I guess that makes it type safe
since it returns ints
timotimo hehe. 15:44
Ulti is ~~ Int is the proper way to handle that? 15:46
timotimo .defined
moritz has Star been released?
FROGGS_ moritz: I don't think so 15:47
timotimo well, froggs has added his changes, jnthn had put out his release candidate
FROGGS_ was there another RC?
timotimo seems like it's waiting on someone just going ahead and doing it? 15:48
dalek ar: 8a79b98 | jnthn++ | modules/ (5 files):
Update various modules.
15:49
ar: 43a3df0 | jnthn++ | / (2 files):
Merge branch 'master' of github.com:rakudo/star
jnthn Yeah, building the new one here now with FROGGS_++ changes
FROGGS_ cool!
:o)
15:51 sqirrel_ left
FROGGS_ I can test the RC then and then probably create the msi this evening 15:52
timotimo even more module bumps?
jnthn timotimo: no, those were from yesterday; forgot to push
FROGGS_ there was a PR merged today
for JSON::RPC 15:53
jnthn FROGGS_: Hm, did you not test the last RC?
Only change in this one would be your doc patch
FROGGS_ jnthn: no, I aborted when I saw the messages about parrot when I intended to build it for moar also 15:54
but I can test it now of course
jnthn ok, the new one is at the same URL as yesterday 15:55
15:56 vaskozl left 15:58 vaskozl joined
FROGGS_ ahh, found it: jnthn.net/tmp/rakudo-star-2014.04.tar.gz 15:58
16:01 jnap joined 16:05 jnap left
Ulti is there an adverb for lines to stop it chomping? 16:11
timotimo you can open a file with no-chomp-please 16:12
and you can open("-", :r, :!chomp) to get a new file handle
Ulti oh this is basically what I am doing badly! github.com/rakudo/rakudo/blob/619a...yncFile.pm
timotimo i'm confused 16:14
Ulti I'm writing something that is doing async file IO and parsing at the same time 16:15
timotimo ah 16:16
16:17 denis_boyun_ left
FROGGS_ is still building the star RC 16:20
16:22 anaeem1 joined, sqirrel_ joined
masak today's weird insight while out running: the Nomic server would be an event loop (for upholding the rules) and a Git server (for storing rules and proposals). 16:23
every proposal would have its own branch name. 16:24
making a new proposal would be pushing to a certain ref.
accepting a proposal and making it part of the game would be merging into master.
FROGGS_ you are still "working" on that? :o) 16:25
masak apparently my brain is :)
FROGGS_ *g*
masak but really, bringing Git into the mix seems to simplify a few things. 16:26
nwc10 does it read mail yet? :-)
masak with Nomic, the question is less irreverent than you might think :P
jnthn: yet another reason we need a Git implementation in Perl 6 ;) 16:31
timotimo do we ship fun examples with star, btw?
FROGGS_ fun examples? not yet at least
dalek p/lexopts: eafcab0 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Start using new getlexstatic_o op.
16:33
p/lexopts: 43fbe2b | jnthn++ | src/NQP/Optimizer.nqp:
Fix NQP analysis of when callstatic is valid.

Makes it match Rakudo's more closely. We can cheat in NQP, but not
  /that/ hard.
skids Configuring star RC with --backend-parrot --gen-nqp --gen-parrot, nqp complains when "Verifying instalation" about not having been installed yet. 16:35
FROGGS_ humm 16:36
jnthn Heading out for a bit; can finish Star release when back, if nobody has more fixes ;)
FROGGS_ skids: perl Configure.pl --backend-parrot --gen-nqp --gen-parrot
Unknown option: backend-parrot
jnthn --backend=parrot
FROGGS_ perl Configure.pl --backends=parrot --gen-nqp --gen-parrot 16:37
sh: 1: /home/froggs/dev/rakudo/install/bin/parrot: not found
Klone nach 'nqp'...
^C
'Klone nach' means 'Cloning to'
skids: you get the same?
skids FROGGS: --backend=parrot sorry
FROGGS_ skids: that works as expected here...
skids No cloning to error. Trying --backends instead of --backend now... also swapped order of nqp/parrot on commandline not that it should matter. 16:40
FROGGS_ no, --backend should work also 16:42
if it fails again, can you no-paste your output?
skids sure. 16:43
damn. almost got it out of my scrollback but it disappeared before I could select it :-) 16:44
16:49 molaf left
masak dinner & 16:50
skids Worked this time. Pretty sure what happened is it built nqp before building parrot. 16:53
timotimo wow, that should really not happen
FROGGS_ hmmmm, I have never seen that happening 16:54
skids (or maybe the parrot build failed somehow without killing the make)
FROGGS_ yeah....
please record the output next time, including the command line that invoked it :o) 16:55
otherwise we can only guess
skids I'll try to replicate it later from a fresh tree.
timotimo # Error: Error while compiling op istype: Object of type Maybe in QAST::WVal, but not in SC
yay, that's a new one
FROGGS_ skids++ 16:57
timotimo: are these local mods or is that HEAD? 16:58
17:00 anaeem1 left 17:01 sqirrel_ left 17:02 jnap joined
timotimo that's HEAD, rakudo-moar 17:03
17:03 vaskozl left
timotimo the same code seems to work on rakudo-j, i don't have a rakudo-p to test stuff on yet 17:03
17:06 anaeem1 joined, jnap left
timotimo has there been a discussion on allowing ? and ! at the end of method names? 17:08
17:08 logie joined
moritz not that I'm aware of 17:12
17:13 guru joined 17:14 guru is now known as ajr_
timotimo !at the end would be weird, though, as we already have ! in front where it has meaning 17:14
17:16 Rounin left 17:19 Rotwang joined
FROGGS_ jnthn: I only see some r* fails for perl6-j, which are expected 17:20
(on linux x86_64)
even a ? at the end would be weird... 17:21
17:24 kurahaupo joined 17:25 pippo joined
skids gist.github.com/skids/f42a0d177a0fe37aa7a2 17:27
17:40 chenryn left
skids Gist updated. Was able to replicate the problem. 17:49
Looks like configure is using my pre-installed parrot.
17:59 Pleiades` left 18:03 jnap joined 18:04 Pleiades` joined 18:07 jnap left 18:21 xenoterracide left, Su-Shee_ joined 18:23 Su-Shee left
FROGGS_ skids: yes, it is supposed to 18:26
you cannot have another parrot/nqp in path
18:27 denis_boyun_ joined
timotimo rakudo on fails? 18:29
18:31 MikeFair_ joined, zakharyas joined 18:32 Su-Shee_ is now known as Su-Shee
skids FROGGS: that never happened before, and I've had it in my path. 18:34
Configure seems to honor the ordering of the --gen-nqp and --gen-parrot options.
FROGGS_ skids: what is your /usr/local/bin/parrot --version ? 18:36
skids Well, right at the moment it's star-04-04 (6.1.0) because I just made install :-) 18:38
FROGGS_ skids: configure should not care about ordering, and --gen-parrot will set --gen-nqp if it was not passed
ahh, hmmm 18:39
parrot should not mention star though
but 6.1.0 would be correct
skids no it doesn't.
damn. It does build with the options in the correct order but I still have the "wrong version" error for stage2/QRegex.nqp. 18:40
"This is nqp version 2013.08 built on parrot 5.5.0 revision 0" Hrm. 18:41
So nqp didn't install.
timotimo is that the right nqp, too? the one in path vs install/bin? 18:42
or nqp/nqp-p?
skids No. Yes what happened is that it installed nqp only as nqp-p and not as nqp; 18:43
timotimo yes, that is correct ... oooh! 18:44
that must be it
skids looks for an option to select which backend to install under default names. 18:45
FROGGS_ skids: we changed that 18:46
nqp is only installed as the last step (make-default-runner-install or so)
timotimo is "nqp" installed at all?
i don't think so, tbh
18:48 kurahaupo left 18:50 darutoko left
skids timotimo: well, there's no "nqp" in install/bin, just "nqp-p", unlike perl6 or perl6debug. The rest of the backend-specific stuff looks to be hasband scripts. 18:52
*hashbang*
vendethiel oh, a friend dared to ask me if "(*-.-)" would compile in perl6 ... 18:54
too bad term:<*> doesn't work :p
timotimo yes, the rakudo star makefile must absolutely not try to use nqp 18:57
skids Symlinking doesn't fix the problem, perl6-p seems to be trying to still use a wrong nqp-related path. Will try reinstalling with /usr/local/bin/nqp deleted. 18:58
dalek ast: d08d001 | (Elizabeth Mattijsen)++ | S17-supply/schedule_on.t:
Add tests for Supply.schedule_on
FROGGS_ vendethiel: it did work last time
18:59 pippo left
vendethiel FROGGS_: I believe it didn't, and kept returning Whatever 18:59
m: sub term:<*> { 5}; say *
camelia rakudo-moar fd5f8e: OUTPUT«*␤»
skids timotimo: well, it shouldn't when --gen-nqp at least.
vendethiel p6: sub term:<*> { 5}; say *
camelia niecza v24-109-g48a8de3: OUTPUT«5␤»
..rakudo-{parrot,moar} fd5f8e: OUTPUT«*␤»
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: Failed to load config.properties␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:78)␤ in load_module (src/vm/jvm/ModuleLoader.nqp:60…»
vendethiel well, niecza can do it
timotimo should it really ever try to use nqp? 19:00
i thought we abolished that?
skids Aren't you supposed to be able to test a local version of nqp that way?
FROGGS_ vendethiel: okay, I misremembered 19:02
19:03 logie left 19:04 jnap joined
dalek kudo/nom: abf3bc3 | (Elizabeth Mattijsen)++ | t/spectest.data:
Make sure we do Supply.schedule_on tests
19:04
lizmat Files=838, Tests=32008, 203 wallclock secs ( 7.99 usr 3.82 sys + 1259.28 cusr 145.23 csys = 1416.32 CPU)
only 760 more until we overflow :-)
FROGGS_ :D 19:05
19:08 jnap left 19:12 benabik joined 19:21 bbkr joined 19:34 bbkr left 19:35 MikeFair_ left 19:36 rurban left
lizmat japhb: fwiw, I think gist.github.com/jnthn/11126125 should be turned into a GET helper sub somewhere, with an optional :$port = 80 parameter 19:42
japhb lizmat: I was actually thinking of factoring out some of the boilerplate. Something that creates the promise and vow, attempts to connect, breaks the vow and returns if that fails, otherwise grabs the socket and feeds the socket and vow to a .then(), and returns the promise. 19:44
Basically lines 1-6 and 22-28
lizmat what would you call that? 19:45
japhb That's a good question
lue Courier ? 19:53
japhb is tempted to say IO::Socket::Async.open 19:54
lue (or some term like it; not Messenger though, that's easily confusable ☺) 19:55
japhb open feels higher level than connect, and thus should hide the boilerplate
lizmat so it would return a Promise ? 19:57
20:00 kurahaupo joined, kurahaupo left, zakharyas left
timotimo connection_attempt? 20:01
japhb lizmat: Well, that would be a consequence of taking a closure for doing the post-connect work, but you're right, that's not really the open API
20:02 zakharyas joined
lizmat feels to me the whole sub could be boilerplate with just a Promise parameter 20:02
lue (Thought you guys were naming a type) perhaps .talk ? 20:03
lizmat that would encapsulate te IO::Socket::Async.connect(...)
japhb lizmat: That's higher level than I was thinking of -- you seem to be thinking about making simple HTTP methods, I'm thinking of making async socket programming less boilerplatey.
lue IO::Socket::Async.talk(...)
timotimo hm, talk, like with these modem thingies 20:04
japhb And lue's in the middle -- sortof an expect sortof level.
lizmat japhb: good point: the promise should be the "$socket.send("GET $path\r\n\r\n")" part
20:04 jnap joined
lizmat IO::Socket::Async.fetch 20:05
and then maybe a IO::Socket::Async.connect_and_send
timotimo btw, http really wants to have keepalive 20:06
so make sure it gets grabbable after that transaction, too
lizmat timotimo: that's why it was a crappy_ua :-)
japhb We can just have lots of layers. :-)
timotimo yeah, i just wanted to advise you to not make it too boxed off 20:07
japhb timotimo: That's why I was only thinking of factoring out the stuff that would be quite unlikely to change much without changing *everything*.
timotimo ah 20:09
20:09 rindolf joined, jnap left
dalek ecs: 4c3f6c6 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Spec Supply.Promise(:last)
20:09
lizmat ^^^ comments welcome. Alternative would be to create a method .last 20:10
but that would not really convey the Promiseness of the returned value
or maybe we should have .last return a Supply that only returns the last value of the underlying supply 20:12
timotimo oof.
lizmat and if you want a promise of that, you would need to .Promise that
timotimo wonder if that's a good thing 20:14
lizmat if what is a good thing?
timotimo a supply that only .more's the last value when the previous one gets closed 20:15
but what do i know :)
lizmat in a way, it's like .stable with an infinite amount of time 20:16
timotimo aye
.stable(:forever) 20:17
:P
lizmat with the difference that .stable doesn't send the value if the supply was done before the period was over
timotimo oh
lizmat not sure whether that could be considered a bug or not
mmm... thinking about it more, :last on Promise smells 20:18
dalek ecs: 5d6ef10 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Re-imagine Supply.Promise(:last) as Supply.last
20:23
japhb IO::Socket::Async.connect-then(:$host, :$port, -> $s, $v { ... }) 20:29
lizmat you're exposing the vow there 20:30
timotimo that doesn't sound too bad
japhb lizmat: You have to. It can only be taken once. 20:31
lizmat but shouldn't keeping/breaking the vow be part of the boilerplate ? 20:32
20:35 logie joined, woolfy left
japhb lizmat: Even after connect, failure during send or receive can still break the vow. 20:37
20:37 woolfy joined
lizmat FWIW, I feel that lines 4-8 should be taken out and replaced by a single Promise that would be the parameter 20:39
and then create some way of easily making lines 4-8 into a promise
lizmat is handwaving :-) 20:41
benabik I’m getting recursion depth exceeded on rakudo-parrot HEAD/HEAD when building RESTRICTED.setting.pir. 20:42
lizmat gist ?
benabik new -> new -> bless -> Bool -> gimme -> infix:<-> -> infix:<-> -> repeat
(Well HEAD/HEAD/HEAD…) 20:43
lizmat doesn't ring a bell :-( 20:44
moritz does it work with the recommended parrot version? 20:46
benabik gist.github.com/Benabik/fc625fb37b85a4e138a5
I do not know. It was working a couple weeks ago, but I’ll roll back to 6.1.0 20:48
20:51 zakharyas left, guest154 joined 20:52 guest154 left 20:55 ajr_ left
FROGGS_ timotimo said something too about problems building RESTRICTED.setting 20:56
lizmat jnthn: regarding S17:725 21:03
synopsebot Link: perlcabal.org/syn/S17.html#line_725
lizmat elems / max / min / minmax
I was thinking of implementing these as a Supply that would "more" a value whenever there is a change 21:04
jnthn lizmat: That's valuable also, but I think different...
lizmat if you only want a value at the end, you can .last that supply
(which I just specced and implemented)
jnthn More generally, for everything you could implement in terms of .reduce, there's a .scan form of the operation. 21:05
21:05 jnap joined
jnthn .elems in the "every time it changes" feels a little pointless... 21:05
lizmat well, true 21:06
jnthn But I can see it for latest max, latest min, etc.
lizmat you're talking about .scan, but that isn't specced 21:07
jnthn Does .last block for the last value, or give a promise for it?
Yeah, this is the point where I wave my arms and point at the Rx docs ;)
But scan there is just a reduce that produces every intermediate result.
lizmat it gives you a supply: if you want a Promise, you would do .last.Promise
21:08 benabik left, benabik joined
lizmat jnthn: do you have a URL for the Rx docs ? 21:08
21:10 jnap left
jnthn lizmat: www.introtorx.com/content/v1.0.1062....html#Scan 21:10
lizmat seems to me Suply.last === TakeLast, right ? 21:13
21:14 rindolf left
FROGGS_ jnthn: about can of worms... I recognized that I need to use nqp::handle to handle `next LABEL`, because the handlers in while only take UnwindExceptions 21:15
... on the jvm 21:16
or, does my VMExceptionInstance get turned into an UnwindException for some reason?
21:17 cognominal__ left, cognominal__ joined
FROGGS_ because I don't yet see why I can throw a VMExceptionInstance with category=EX_CAT_NEXT, which works 21:17
jnthn FROGGS_: UnwindException is JVM-level. It is what we use to really unwind the JVM stack. 21:18
benabik Same error with the suggested versions: This is nqp version 2014.04-37-g55c7277 built on parrot 6.1.0 revision RELEASE_6_1_0
jnthn lizmat: Yeah, except it takes an arg saying how many 21:19
lizmat ok, that can be fixed :-) 21:21
FROGGS_ okay... so it arrives as an UnwindException, now I need find a way to get the payload 21:22
that explains why the exception was kinda handled, an now isnt (I removed the handler)
benabik Looks like my latest installed perl6-p was 440739c, likely with the HEAD parrot and nqp at the time of that commit. I’ll see if I can easily figure out when the breakage was introduced but I’m quite busy with schoolwork at the moment. 21:23
dalek ecs: 850f8ed | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Supply.last can give the last N more's
21:30 hoverboard joined 21:34 logie left
dalek kudo/nom: c421738 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
Implement Supply.last
21:35
ecs: 877b5f9 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Spec Supply.grab
21:38
21:39 jnap joined
FROGGS_ jnthn: the r* is fine on my linux box 21:39
jnthn yay 21:41
:)
FROGGS_ there are only the known fails for jvm's module tests
21:43 jnap left
FROGGS_ Reason: 21:47
Type 'org/perl6/nqp/runtime/UnwindException' (current frame, stack[0]) is not assignable to 'org/perl6/nqp/runtime/LexoticException'
:/
stack: { 'org/perl6/nqp/runtime/UnwindException' } <--- perhaps I have an idea about tomorrow... 21:48
gnight all
skids doh. --prefix= not PREFIX=. That's for make. 21:50
lizmat FROGGS_ gnight! 21:51
21:53 hoverboard left
dalek kudo/nom: a320bf1 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
Guard Supply.last a bit against garbage input
21:54
ast: 432761f | (Elizabeth Mattijsen)++ | S17-supply/last.t:
Add tests for Supply.last
21:56
lizmat m: my subset Natural of Int where $_ > 0; my Natural $a = 0 # is there a reason we don't have Natural or UInt in core ? 22:00
camelia rakudo-moar fd5f8e: OUTPUT«Type check failed in assignment to '$a'; expected 'Natural' but got 'Int'␤ in block at /tmp/xqLx6HKgCk:1␤␤»
lizmat I could use it for the signature in some of the Supply methods
dalek kudo/nom: 73179b3 | (Elizabeth Mattijsen)++ | t/spectest.data:
Make sure we run the Supply.last tests
22:01
22:02 anaeem1__ joined 22:05 anaeem1 left 22:10 denis_boyun_ left 22:11 zakharyas joined
timotimo m: my subset Lucky of Int where [eq] *.comb; say 777 ~~ Lucky; say 123 ~~ Lucky 22:13
camelia rakudo-moar fd5f8e: OUTPUT«True␤True␤»
timotimo m: my subset Lucky of Int where -> $num { [eq] $num.comb }; say 777 ~~ Lucky; say 123 ~~ Lucky
camelia rakudo-moar fd5f8e: OUTPUT«True␤False␤»
jnthn
.oO( I was up all night to get that type... )
22:14
dalek kudo/nom: d28ef4e | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
@a.splice(0,1) is @a.shift, you dummy! :-)
22:22
kudo/nom: 70e580b | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
Implement Supply.grab(&when_done)
lizmat tests after a some time afk& 22:24
jnthn o/ lizmat
22:25 zakharyas left 22:40 jnap joined 22:44 jnap left 22:47 spider-mario left
dalek kudo-star-daily: d6d0ea5 | coke++ | log/ (4 files):
today (automated commit)
22:51
rl6-roast-data: 0f06eae | coke++ | / (6 files):
today (automated commit)
[Coke] parrot build still failing.
22:54 Entonian joined 23:00 Entonian left 23:05 eternaleye left, krunen left, djanatyn left 23:10 eternaleye joined 23:11 Rounin joined 23:17 Rotwang left 23:18 djanatyn joined 23:19 labster left 23:24 BenGoldberg joined 23:30 dmol left 23:40 jnap joined 23:44 krunen joined, jnap left 23:57 xragnar_ joined, xragnar is now known as Guest89483, Guest89483 left, xragnar_ is now known as xragnar