Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-05-03

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 virtualsue joined #perl6
00:19 jnap1 joined #perl6
00:42 andreaa joined #perl6
00:58 dalek roast: 29f36af | (David Warring david.warring@gmail.com)++ | integration/advent2012-day23.t:
00:58 dalek roast: adding advent 2012 day 23
00:58 dalek roast: review: https://github.com/perl6/roast/commit/29f36af096
01:02 FROGGS_ joined #perl6
01:21 colomon joined #perl6
01:23 Sqirrel joined #perl6
01:27 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」␤␤»
01:29 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」␤␤»
01:31 raiph That was a ww -- I meant that to be private
01:32 raiph Fwiw I'm looking for a nice and brief way to create a less nested parse tree, short of using actions/make
01:36 jnap joined #perl6
01:47 klapperl_ joined #perl6
01:51 Su-Shee_ joined #perl6
01:59 donaldh_ joined #perl6
02:01 thou joined #perl6
02:14 hoverboard joined #perl6
02:18 plobsing joined #perl6
02:24 donaldh joined #perl6
02:34 Alina-malina joined #perl6
02:34 xragnar joined #perl6
02:35 rurban joined #perl6
02:51 jnap joined #perl6
03:14 hoverboard joined #perl6
03:34 bjz joined #perl6
03:52 jnap joined #perl6
04:01 firnsy joined #perl6
04:05 xenoterracide_ joined #perl6
04:06 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)␤␤»
04:06 camelia ..rakudo-{parrot,moar} fd5f8e: OUTPUT«「aaï½£â�¤â�¤[31m===[0mSORRY![31m===[0m Error while compiling eval_0â�¤Quantifier quantifies nothingâ�¤at eval_0:1â�¤------> [32manon regex { ^a\c[32]**[33mâ��[31m\c[32]2}[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        n…»
04:08 donk joined #perl6
04:09 SamuraiJack_ joined #perl6
04:30 Psyche^_ joined #perl6
04:35 pnu joined #perl6
04:37 isacloud__ joined #perl6
04:38 clkaoud joined #perl6
04:40 ggherdov_ joined #perl6
04:40 SamuraiJack__ joined #perl6
04:53 jnap joined #perl6
04:54 xinming_ joined #perl6
05:04 lue joined #perl6
05:19 kurahaupo joined #perl6
05:25 xenoterracide joined #perl6
05:54 jnap joined #perl6
06:29 moritz \o
06:30 raiph hi moritz
06:31 kaare_ joined #perl6
06:32 dmol joined #perl6
06:35 Woodi_ hallo everyone :)
06:36 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 #perl6
06:52 FROGGS_ Woodi_: the binary is in the same directory where nqp-p is
06:53 FROGGS_ modules will go into a different path, but still under prefix of course
06:54 Woodi_ but I'm asking about nqp itself :) is nqp on moar installed into sone lib/ in moar prefix (like on parrot) ?
06:54 jnap joined #perl6
06:55 molaf joined #perl6
06:55 Woodi_ ls -r moar-prefix|grep nqp shows something ?
06:56 Woodi_ hmm, grep -r works better...
06:59 Woodi_ just testing star-rc and do not want to mess with reinstalling things with bad prefixess...
07:01 Woodi_ another way: do nqp using moar is full software-package-like with it *own* prefix or it is installed into moar guts ?
07:10 darutoko joined #perl6
07:25 FROGGS_ Woodi_: everything (nqp on every backend, perl6 on every backend, all libs and modules) are installed under --prefix
07:25 thou joined #perl6
07:26 rindolf joined #perl6
07:26 FROGGS_ which defaults to 'install'
07:27 FROGGS_ so, it will be in rakudo-star-2014.04/install for example, or just rakudo/install if you cloned the compiler only
07:27 Ven joined #perl6
07:28 FROGGS_ moritz / jnthn: this could mention moar/jvm as well, right? https://gist.github.com/FROGGS/85fa321b585cf3c7df05
07:30 Woodi_ grrr... developers...
07:30 Woodi_ thanx FROGGS++ :)
07:31 FROGGS_ :o)
07:32 rurban joined #perl6
07:36 anaeem1 joined #perl6
07:39 anaeem1 joined #perl6
07:40 moritz FROGGS_: aye, it should
07:46 denis_boyun_ joined #perl6
07:48 Woodi_ rakudo from star201404-rc cannot find "clean" make target after configure
07:52 FROGGS_ Woodi_: you can just continue, I need to figure out where that comes from
08:06 mathw_ joined #perl6
08:06 denis_boyun_ joined #perl6
08:06 Ven joined #perl6
08:06 rindolf joined #perl6
08:06 darutoko joined #perl6
08:06 molaf joined #perl6
08:06 dmol joined #perl6
08:06 kaare_ joined #perl6
08:06 lue joined #perl6
08:06 ggherdov_ joined #perl6
08:06 clkaoud joined #perl6
08:06 isacloud__ joined #perl6
08:06 pnu joined #perl6
08:06 donk joined #perl6
08:06 firnsy joined #perl6
08:06 xragnar joined #perl6
08:06 Alina-malina joined #perl6
08:06 donaldh joined #perl6
08:06 plobsing joined #perl6
08:06 Su-Shee_ joined #perl6
08:06 klapperl_ joined #perl6
08:06 Sqirrel joined #perl6
08:06 FROGGS_ joined #perl6
08:06 takesako____ joined #perl6
08:06 skids joined #perl6
08:06 ivanshmakov joined #perl6
08:06 grep0r joined #perl6
08:06 raiph joined #perl6
08:06 breinbaas joined #perl6
08:06 telex joined #perl6
08:06 dalek joined #perl6
08:06 chenryn joined #perl6
08:06 pdcawley joined #perl6
08:06 pecastro joined #perl6
08:06 lizmat joined #perl6
08:06 go|dfish joined #perl6
08:06 Khisanth joined #perl6
08:06 mtj joined #perl6
08:06 Gothmog_ joined #perl6
08:06 Ulti joined #perl6
08:06 frettled joined #perl6
08:06 orevdiabl joined #perl6
08:06 itz joined #perl6
08:06 integral joined #perl6
08:06 amkrankr1leuen joined #perl6
08:06 Pleiades` joined #perl6
08:06 jtpalmer_ joined #perl6
08:06 exodist_ joined #perl6
08:06 Juerd joined #perl6
08:06 Timbus_ joined #perl6
08:06 slavik1 joined #perl6
08:06 hoelzro joined #perl6
08:06 MilkmanD1n joined #perl6
08:06 cognominal__ joined #perl6
08:06 labster joined #perl6
08:06 ashleydev joined #perl6
08:06 Alula joined #perl6
08:06 ponbiki joined #perl6
08:06 nebuchadnezzar joined #perl6
08:06 Vlavv joined #perl6
08:06 atta joined #perl6
08:06 REPLeffect joined #perl6
08:06 Rounin joined #perl6
08:06 PerlJam joined #perl6
08:06 cxreg joined #perl6
08:06 stux joined #perl6
08:06 daniel-s_ joined #perl6
08:06 [Sno] joined #perl6
08:06 haroldwu joined #perl6
08:06 krunen joined #perl6
08:06 geekosaur joined #perl6
08:06 cosimo joined #perl6
08:06 eternaleye joined #perl6
08:06 baest joined #perl6
08:06 kshannon joined #perl6
08:06 eiro joined #perl6
08:06 nhayashi joined #perl6
08:06 clkao joined #perl6
08:06 effbiai joined #perl6
08:06 mtj_ joined #perl6
08:06 xfix joined #perl6
08:06 jlaire joined #perl6
08:06 aindilis joined #perl6
08:06 flussence joined #perl6
08:06 _sri joined #perl6
08:06 Tene joined #perl6
08:06 robinsmidsrod joined #perl6
08:06 gfldex joined #perl6
08:06 [particle] joined #perl6
08:06 timotimo joined #perl6
08:06 SHODAN joined #perl6
08:06 Bucciarati joined #perl6
08:06 thilp joined #perl6
08:06 dj_goku joined #perl6
08:06 brother joined #perl6
08:06 bcode joined #perl6
08:06 kst joined #perl6
08:06 apejens joined #perl6
08:06 itz_ joined #perl6
08:06 Bryanstein joined #perl6
08:06 tadzik joined #perl6
08:06 Util joined #perl6
08:06 avuserow joined #perl6
08:06 ilogger2 joined #perl6
08:06 camelia joined #perl6
08:06 perigrin joined #perl6
08:06 sergot joined #perl6
08:06 japhb joined #perl6
08:06 jnthn joined #perl6
08:06 xiaomiao joined #perl6
08:06 FOAD joined #perl6
08:06 rhr joined #perl6
08:06 DarthGandalf joined #perl6
08:06 retupmoca joined #perl6
08:06 raydiak joined #perl6
08:06 huf joined #perl6
08:06 arnsholt joined #perl6
08:06 lestrrat joined #perl6
08:06 yeltzooo joined #perl6
08:06 mhasch joined #perl6
08:06 tomaw joined #perl6
08:06 eMBee joined #perl6
08:06 nwc10 joined #perl6
08:06 mls joined #perl6
08:06 jercos joined #perl6
08:06 ribasushi joined #perl6
08:06 Grrrr joined #perl6
08:06 masak joined #perl6
08:06 anocelot joined #perl6
08:06 cotto joined #perl6
08:06 dylanwh joined #perl6
08:06 lee_ joined #perl6
08:06 sjn joined #perl6
08:06 JimmyZ joined #perl6
08:06 Grimnir_ joined #perl6
08:06 Celelibi joined #perl6
08:06 larks joined #perl6
08:06 segomos joined #perl6
08:06 obra joined #perl6
08:06 sunnavy joined #perl6
08:06 awwaiid joined #perl6
08:06 felher joined #perl6
08:06 yakudza joined #perl6
08:06 renormalist joined #perl6
08:06 hugme joined #perl6
08:06 mattp__ joined #perl6
08:06 d^_^b joined #perl6
08:06 dagurval_ joined #perl6
08:06 avar joined #perl6
08:06 pmichaud joined #perl6
08:06 felipe joined #perl6
08:06 ingy joined #perl6
08:06 moritz joined #perl6
08:06 BooK joined #perl6
08:06 BinGOs joined #perl6
08:06 charsbar_______2 joined #perl6
08:06 bjz joined #perl6
08:06 colomon joined #perl6
08:06 djanatyn joined #perl6
08:06 Woodi_ joined #perl6
08:06 Maddingue joined #perl6
08:06 bowtie joined #perl6
08:06 daxim joined #perl6
08:06 qzx joined #perl6
08:06 broquaint joined #perl6
08:06 salv0 joined #perl6
08:06 yoleaux joined #perl6
08:06 woolfy joined #perl6
08:06 sivoais joined #perl6
08:06 vendethiel joined #perl6
08:06 [Coke] joined #perl6
08:06 synopsebot joined #perl6
08:06 pochi joined #perl6
08:06 zamolxes joined #perl6
08:06 sjohnson joined #perl6
08:06 askz joined #perl6
08:06 crazedpsyc joined #perl6
08:06 simcop2387 joined #perl6
08:07 masak mornin', #perl6
08:08 bbkr joined #perl6
08:08 masak pm: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh
08:09 masak m: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh
08:09 camelia rakudo-moar fd5f8e: OUTPUT«「aaï½£â�¤â�¤[31m===[0mSORRY![31m===[0m Error while compiling eval_0â�¤Quantifier quantifies nothingâ�¤at eval_0:1â�¤------> [32manon regex { ^a\c[32]**[33mâ��[31m\c[32]2}[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        new name t…»
08:09 masak p: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh
08:09 camelia rakudo-parrot fd5f8e: OUTPUT«「aaï½£â�¤â�¤[31m===[0mSORRY![31m===[0m Error while compiling eval_0â�¤Quantifier quantifies nothingâ�¤at eval_0:1â�¤------> [32manon regex { ^a\c[32]**[33mâ��[31m\c[32]2}[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        new name…»
08:09 masak lue: has that one been submitted as a rakudobug?
08:09 bbkr FROGGS_: thanks for JSON::RPC patch, merged
08:09 FROGGS_ bbkr: cool! :D
08:11 camelia joined #perl6
08:11 atrodo joined #perl6
08:11 xinming_ joined #perl6
08:11 Psyche^_ joined #perl6
08:11 vaskozl joined #perl6
08:11 ggoebel111113 joined #perl6
08:11 silug____ joined #perl6
08:11 sftp joined #perl6
08:11 cooper joined #perl6
08:11 PZt joined #perl6
08:11 ivan`` joined #perl6
08:11 erdic joined #perl6
08:11 yogan_ joined #perl6
08:11 tokuhirom joined #perl6
08:11 risou joined #perl6
08:11 sorear joined #perl6
08:11 TimToady joined #perl6
08:12 timotimo hello from a breakfast table
08:12 ivan`` joined #perl6
08:14 telex joined #perl6
08:14 FROGGS_ hi timotimo
08:23 timotimo http://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 timotimo 18b is without, 941 is with
08:25 timotimo the difference is not very visible, but i bet it does something in cases not covered by the benchmarks
08:31 rurban joined #perl6
08:39 Ven timotimo: why only one nqp
08:39 Ven ?
08:39 masak timotimo: it's visible in "hello".
08:40 masak timotimo: and something interesting seems to have happened in "while_push_join"
08:41 masak though now that I look at it, it seems mostly chaotic for such small values, so maybe it's just noise.
08:43 FROGGS_ moritz: this is what I did about Configure.pl: https://gist.github.com/FROGGS/e21a91a1c76614be34eb
08:46 dalek rakudo/nom: ee95a0e | (Tobias Leich)++ | tools/lib/NQP/Configure.pm:
08:46 dalek rakudo/nom: tools: only set $impl{config} when it is trueish
08:46 dalek rakudo/nom:
08:46 dalek rakudo/nom: Otherwise we pass a ref of an empty hash around, wich will be treated truesh later.
08:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee95a0eb91
08:46 dalek rakudo/nom: 364dfb1 | (Tobias Leich)++ | Configure.pl:
08:46 dalek rakudo/nom: more guidance to build rakudo
08:46 dalek rakudo/nom:
08:46 dalek rakudo/nom: It shows examples what option can be passes, and it also mentiones
08:46 dalek rakudo/nom: other backends than Parrot when someone tried to build for several
08:46 dalek rakudo/nom: backends but did not supply the right flags.
08:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/364dfb13ff
08:47 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:56 jnap joined #perl6
09:05 SamuraiJack__ joined #perl6
09:14 thou joined #perl6
09:17 Ulti does .parsefile at any point slurp?
09:18 Ulti or does it parse as it goes
09:18 * Ulti uses the source
09:18 Ulti like a good nerdi
09:18 Ulti I guess this 100GB file would also answer my question :3
09:19 Ulti also jnthn++ for this PDF from 2010 I just stumbled over "Perl 6: For Little Tools and Big Applications"
09:20 dalek roast: 1f3785d | (Elizabeth Mattijsen)++ | S17-supply/watch_path.t:
09:20 dalek roast: Make watch_path tests a little less fragile
09:20 dalek roast: review: https://github.com/perl6/roast/commit/1f3785d40d
09:21 spider-mario joined #perl6
09:21 Ulti naaw $fh.slurp
09:22 Ulti 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 Ulti can you get from a grammar what its first and last match states are?
09:22 Ulti *parse-as-you-go
09:26 Ulti guess I could do it by having some required tokens in the grammar
09:29 timotimo masak: i have *no* idea where that weird ramp comes from :(
09:29 jnthn m: morning; sub morning() is pure { };
09:29 camelia rakudo-moar fd5f8e: OUTPUT«WARNINGS:␤Useless use of "morning" in expression "morning" in sink context (line 1)␤»
09:29 7F1AAEDN9 rakudo-moar fd5f8e: OUTPUT«WARNINGS:␤Useless use of "morning" in expression "morning" in sink context (line 1)␤»
09:29 jnthn good...nearly-afternoon, #perl6 :)
09:30 nwc10 near UGT heresy safely averted
09:32 rurban joined #perl6
09:32 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:36 masak timotimo: I remember a really illuminating course at uni about https://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 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:37 timotimo there is a lot that could be improved upon i'm sure
09:40 dalek rakudo/nom: f280165 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
09:40 dalek rakudo/nom: Make Supply methods picker about what to accept
09:40 dalek rakudo/nom:
09:40 dalek rakudo/nom: Specifically as to being called as a class or instance method.
09:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f280165ab4
09:41 lizmat Ulti: far from being a grammar specialist, but they way I understand things, grammars are just a special type of class
09:41 lizmat rules and tokens are really just methods internally
09:41 lizmat so I'd figure the standard introspection methods should work :-)
09:41 virtualsue joined #perl6
09:41 jnthn What lizmat said is true
09:42 jnthn https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Metamodel/GrammarHOW.nqp shows it pretty nicely too
09:42 Ulti hmm I get ye olde Cannot look up attributes in a type object
09:42 Ulti reading
09:43 jnthn The terse code in that link basically means "gramamrs are classes but with a different default parent" :)
09:43 jnthn r: grammar G { token t { abc } }; say G.^methods
09:43 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␤␤»
09:43 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␤␤»
09:43 camelia ..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␤␤»
09:43 7F1AAEDN9 ..rakudo-jvm fd5f8e: OUTPUT«Rebuild in progress␤»
09:43 7F1AAEDN9 ..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␤␤»
09:43 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…»
09:44 jnthn ugh
09:44 jnthn r: grammar G { token t { abc } }; say G.^methods(:local)
09:44 7F1AAEDN9 rakudo-{parrot,moar} fd5f8e: OUTPUT«t␤»
09:44 7F1AAEDN9 ..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…»
09:44 camelia rakudo-{parrot,moar} fd5f8e: OUTPUT«t␤»
09:44 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…»
09:44 jnthn Why do we have a camelia and an imposter evalbot?
09:44 Ulti yeah weird I can see they exist but I cannot call them
09:45 jnthn You can only call them on an initialized cursor
09:45 Ulti yeah I saw from the Grammar source code in subparse
09:46 jnthn Note you can pass subparse a rule argument, with the thing you looked up.
09:46 jnthn Doesn't just have to be a name.
09:47 7F1AAEDN9 was kicked by masak: 7F1AAEDN9
09:48 masak general notice: if you want your 7F1AAEDN9, please contact reception. thank you.
09:56 bbkr joined #perl6
09:57 jnap joined #perl6
10:00 * lizmat attempts to grok masak's public service announcement, but fails
10:11 dalek roast: 5cf307b | (Elizabeth Mattijsen)++ | S17-supply/ (20 files):
10:11 dalek roast: Add tests for getting called as class method
10:11 dalek roast:
10:11 dalek roast: And some general cleanup, e.g. only use lib when needed
10:11 dalek roast: review: https://github.com/perl6/roast/commit/5cf307bdd1
10:13 jnthn lizmat++ # tirelessly supplying tests
10:20 virtualsue joined #perl6
10:20 lizmat it's the only way to catch the obvious errors before it gets out more in the wild :-)
10:27 dalek roast: 1d58cad | (Elizabeth Mattijsen)++ | S17-supply/watch_path.t:
10:27 dalek roast: Make watch_path even more robust
10:27 dalek roast:
10:27 dalek roast: During spectest probably other scripts were writing files in the same directory
10:27 dalek roast: interfering with the test.  We now only look for "our" file to begin with.
10:27 dalek roast: review: https://github.com/perl6/roast/commit/1d58cad782
10:27 lizmat afk for a while
10:34 rurban joined #perl6
10:35 FROGGS_ m: say 1
10:35 camelia rakudo-moar fd5f8e: OUTPUT«1␤»
10:36 jnthn FROGGS_: Did you have a doc patch you wanted to sneak into r* 2014.04?
10:37 FROGGS_ jnthn: yes
10:37 FROGGS_ will do that in ~30min if that is okay
10:37 jnthn wfm
10:47 timotimo yay for docs
10:48 FROGGS_ it is about configure's output, see my latest rakudo commit
10:48 SamuraiJack__ joined #perl6
10:49 timotimo ah, very good
10:52 timotimo masak: i haad considered running all the benchmarks in a randomized order
10:53 timotimo maybe that could help ease the noise, if they are run more often as well
10:55 sqirrel_ joined #perl6
10:57 masak timotimo: glad you liked it :)
10:57 jnap joined #perl6
10:58 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:59 jnthn That's what forestfire and so forth are about, no?
10:59 jnthn But yes, more of those would be great.
10:59 timotimo yes
10:59 timotimo exactly
11:00 timotimo 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 timotimo because at least the benchmarks are somewhat stable
11:01 timotimo i think the only thing that's changed since then that would impact the benchmarks strongly would be bless(*,...) for forest fire
11:02 jnthn I don't think that bless call is on a hot path anyway.
11:02 thou joined #perl6
11:02 timotimo aye
11:06 timotimo heh. i had to remove --backends= :)
11:07 timotimo good old times :)
11:07 timotimo things were simpler back then
11:10 chenryn modules.perl6.org is down?
11:10 timotimo not for me
11:10 timotimo what do you need in particular?
11:11 * jnthn can reach it too
11:18 kurahaupo joined #perl6
11:19 virtualsue joined #perl6
11:21 FROGGS_ same for me, modules.perl6.org is working
11:23 chenryn well, reach it through VPN now.
11:25 dalek star: 1f7afaa | (Tobias Leich)++ | tools/lib/NQP/Configure.pm:
11:25 dalek star: tools: only set $impl{config} when it is trueish
11:25 dalek star:
11:25 dalek star: Otherwise we pass a ref of an empty hash around, wich will be treated truesh later.
11:25 dalek star: review: https://github.com/rakudo/star/commit/1f7afaabdb
11:27 moritz do we have any modules for reading exif data from images?
11:30 timotimo why doesn't taglib::simple support exif? :)
11:46 * moritz solves his problem by shelling out to the exif command line tool
11:47 dalek star: 5bbf9d6 | (Tobias Leich)++ | Configure.pl:
11:47 dalek star: more guidance to build rakudo
11:47 dalek star:
11:47 dalek star: It shows examples what option can be passes, and it also mentiones
11:47 dalek star: other backends than Parrot when someone tried to build for several
11:47 dalek star: backends but did not supply the right flags.
11:47 dalek star: review: https://github.com/rakudo/star/commit/5bbf9d6245
11:47 FROGGS_ jnthn: done
11:47 FROGGS_ bbiab # lunch
11:48 berekuk joined #perl6
11:58 jnap joined #perl6
12:28 timotimo http://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:30 xenoterracide joined #perl6
12:30 timotimo i'm going to re-run the moar timings with --runs=10, that ought to get rid of the wrongness! >:(
12:35 nwc10 what's the wrongness?
12:35 rurban joined #perl6
12:37 araujo joined #perl6
12:37 araujo joined #perl6
12:38 timotimo look at postwhile_nil for example
12:45 nwc10 ah. also, is there a significance to the vintage of parrot you chose?
12:48 thou joined #perl6
12:48 araujo joined #perl6
12:51 timotimo just "middle of the year"
12:59 jnap joined #perl6
13:02 FROGGS_ java.lang.RuntimeException: java.lang.NegativeArraySizeException :/
13:10 rindolf joined #perl6
13:11 FROGGS_ has someone knowledge about jvm? do I need to add astore/aload calls there? https://gist.github.com/FROGGS/5ee16f5619aed3003258
13:12 FROGGS_ only the "if $label {" branch is questionable
13:15 jnthn # Create a new exception object
13:15 jnthn $il.append(JAST::Instruction.new( :op('invokestatic'), $TYPE_OPS,
13:15 jnthn 'newexception', 'SixModelObject', 'Void', $TYPE_TC ));
13:15 jnthn I don't see you passing the thread context onto the stack before this.
13:15 FROGGS_ ahh, aload cf ?
13:16 jnthn aload tc, I guess
13:16 FROGGS_ cf is callframe?
13:16 jnthn right
13:21 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:22 jnthn Should do
13:22 jnthn Note you forgot to push tc there too
13:23 FROGGS_ yes
13:23 FROGGS_ updated: https://gist.github.com/FROGGS/5ee16f5619aed3003258
13:24 FROGGS_ though, it is missing in the throwcatdyn_c (else) case too, no? I did not touch this one
13:24 FROGGS_ or does 'savesite' it for me?
13:25 FROGGS_ hmm, no, savesite does not seem to do that
13:26 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 #perl6
13:31 sqirrel_ joined #perl6
13:32 timotimo kind of has to, no?
13:32 timotimo unless we want to implement readline by doing single byte reads
13:32 Ulti yeah I mean more the changes required to make it happen go all the way down to changing implementation everywhere
13:33 Ulti like NQP doesn't take a parameter which is defaulting to "\n" for the op
13:33 Ulti I noticed sockets do have this though
13:34 Ulti timotimo how is the readline done at the moment?
13:34 Ulti it has to be checking for a character somewhere
13:34 Ulti also the spec suggests you can even pass in a regex...
13:34 Ulti which is a much bigger change
13:34 bbkr joined #perl6
13:35 timotimo mhm
13:36 jnthn urgh
13:36 jnthn Passing in a regex for that is completely incompatible with this stuff performing decently.
13:37 timotimo yes, but we can easily special-case that
13:37 jnthn "easily"
13:37 timotimo we wouldn't use / \n / as the default and make the rest use that object :P
13:37 FROGGS_ "hehe" :P
13:37 Ulti how much slower is the Rakudo level .read
13:37 jnthn Remember that DecodeStream is doing hard stuff that you really do not want to replicate
13:38 jnthn Like, dealing with the sitaution where two chunks we get from IO have multi-byte chars spread over them.
13:39 jnthn 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 jnthn Well, you can rely on it if you use it :P
13:41 chenryn joined #perl6
13:41 jnthn Doing a .read of bytes is side-stepping it, though.
13:41 jnthn It just gives you the raw bytes.
13:42 jnthn We really could do with exposing decodestream at Perl 6 level
13:42 timotimo oh, of course
13:42 jnthn But even then I don't quite know how on earth we'd handle the regex case.
13:43 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?
13:43 timotimo right; if you're reading one byte, you perhaps have to go back to the beginning
13:43 Ulti I think a simpler substring match case would be good too, and you probably want that to be a faster implementation
13:43 jnthn nwc10: Line separator when donig I/O
13:43 nwc10 oh *That*
13:43 Ulti rather than just a special case of the Regex version
13:43 nwc10 the thing awk can do
13:44 Ulti and Perl5
13:44 nwc10 we've thought a lot about this in Perl 5 land, because it keeps sort of being wanted
13:44 nwc10 I'm not sure what the state is
13:44 timotimo also, how do you do "say" when the line separator is a regex? well ... it's only for the *input* line separator :)
13:44 nwc10 yves had a plan for what was doable
13:44 nwc10 but it's sane for non-greedy regex
13:44 Ulti timotimo well regex can be generative too, generate a string that would match :P
13:44 FROGGS_ ohh, it looks like I should use $TYPE_SMO instead of 'SixModelObject'
13:45 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
13:47 skids Won't this be the same problem for running an rx on a Cat, when we get Cat?
13:49 skids Or will Cat guarantee unicode chars come in whole?
13:53 timotimo can it, though?
13:53 timotimo 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
13:54 timotimo so you'll have to always keep at least a single glyph from the user
13:54 timotimo until either EOF or a new glyph arrives
13:54 Alina-malina joined #perl6
13:54 rurban joined #perl6
13:58 skids .oO(Promise/Supply in a grammar action.... Hmmm.)
13:58 timotimo heh.
13:59 timotimo you can feed results of parsing out through a channel :)
14:00 jnap joined #perl6
14:03 ggherdov_ joined #perl6
14:05 bbkr joined #perl6
14:06 logie joined #perl6
14:07 Alina-malina joined #perl6
14:20 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:22 timotimo locally, parrot now also segfaults when trying to build the restricted setting
14:22 FROGGS_ O.o
14:24 sqirrel_ joined #perl6
14:24 FROGGS_ damn, still: java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException:
14:24 FROGGS_ https://gist.github.com/FROGGS/5ee16f5619aed3003258
14:24 timotimo what the flying fuck. the postwhile nil native tests still do the thing.
14:24 timotimo even with 10 runs instead of i think 2
14:24 timotimo there's something *strange* going on.
14:24 donaldh joined #perl6
14:25 timotimo Pod::To::Text fails similarly
14:26 anaeem1 joined #perl6
14:26 FROGGS_ the what?
14:29 timotimo http://t.h8.lv/p6bench/2014-05-03-almost_a_year.html
14:29 timotimo at first it's very fast, then gets ridiculously fast and then turns constantly slow
14:30 jnthn timotimo: How is memory usage?
14:31 Juerd timotimo: So it turns slow from the point where some value reaches 32768. Isn't that suspicious? :)
14:31 Juerd timotimo: Some more resolution would be necessary to see if it's exactly that point, or just happens to be around it.
14:32 Juerd Although the increasing speed before the drop is much scarier
14:32 vendethiel timotimo: is that with the same rakudo :) ?
14:35 timotimo is that the place where we go from smallbigint to bigint?
14:36 jnthn No, doubt it; we have to overflow a 32-bit number for that.
14:53 Ulti < timotimo> you can feed results of parsing out through a channel :)  <--- can you see my computer screen? :P
14:54 Ulti 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:56 FROGGS_ that sounds interesting
14:59 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
15:00 jnap joined #perl6
15:16 FROGGS_ jnthn: does '$il.append($POP);' mean that I pop something from the stack to nirvana? so I can ignore a return value?
15:17 jnthn Right, it just throws away the top stack entry
15:17 FROGGS_ nice
15:17 jnthn Note - must be a pointer, or int, or float, or soemthing
15:17 FROGGS_ it is a Long
15:17 jnthn Use POP2 if it's a long (RT_INT) or double (RT_NUM)
15:17 jnthn Ah, then POP2
15:17 FROGGS_ k, :D
15:19 FROGGS_ btw, it is moar fun to not hack on jvm or parrot backend :o)
15:19 vendethiel joined #perl6
15:20 Khisanth joined #perl6
15:21 JimmyZ I have been waiting for compiling jvm codes these days ... most of time
15:21 FROGGS_ Reason:
15:21 FROGGS_ Type long_2nd (current frame, stack[2]) is not assignable to 'org/perl6/nqp/sixmodel/SixModelObject'
15:21 FROGGS_ hups
15:22 JimmyZ compiling moar is much faster :P
15:22 FROGGS_ that is the point yeah :/
15:24 rom1504 joined #perl6
15:33 timotimo the pop2 thing (and dupx2 and friends) really confused me the first time around, too.
15:35 Ulti \o/ yay first bug whilst playing with reactive magic :D
15:35 Ulti waited on a channel that never produced anything forever
15:35 timotimo never forever.
15:36 Ulti well until entropy consumes my computer
15:37 vendethiel 7F1AAEDN9 ? What happened to camelia :D ?
15:37 vendethiel oh, new camelia o/
15:43 Ulti hmm .index returns Int type object on failure :/
15:43 timotimo m: say :what
15:43 camelia rakudo-moar fd5f8e: OUTPUT«␤»
15:43 Ulti I guess that makes it type safe
15:43 Ulti since it returns ints
15:44 timotimo hehe.
15:46 Ulti is ~~ Int is the proper way to handle that?
15:46 timotimo .defined
15:46 moritz has Star been released?
15:47 FROGGS_ moritz: I don't think so
15:47 timotimo well, froggs has added his changes, jnthn had put out his release candidate
15:47 FROGGS_ was there another RC?
15:48 timotimo seems like it's waiting on someone just going ahead and doing it?
15:49 dalek star: 8a79b98 | jnthn++ | modules/ (5 files):
15:49 dalek star: Update various modules.
15:49 dalek star: review: https://github.com/rakudo/star/commit/8a79b982d5
15:49 dalek star: 43a3df0 | jnthn++ | / (2 files):
15:49 dalek star: Merge branch 'master' of github.com:rakudo/star
15:49 dalek star: review: https://github.com/rakudo/star/commit/43a3df0d8c
15:49 jnthn Yeah, building the new one here now with FROGGS_++ changes
15:49 FROGGS_ cool!
15:49 FROGGS_ :o)
15:52 FROGGS_ I can test the RC then and then probably create the msi this evening
15:52 timotimo even more module bumps?
15:52 jnthn timotimo: no, those were from yesterday; forgot to push
15:52 FROGGS_ there was a PR merged today
15:53 FROGGS_ for JSON::RPC
15:53 jnthn FROGGS_: Hm, did you not test the last RC?
15:53 jnthn Only change in this one would be your doc patch
15:54 FROGGS_ jnthn: no, I aborted when I saw the messages about parrot when I intended to build it for moar also
15:54 FROGGS_ but I can test it now of course
15:55 jnthn ok, the new one is at the same URL as yesterday
15:58 vaskozl joined #perl6
15:58 FROGGS_ ahh, found it: http://jnthn.net/tmp/rakudo-star-2014.04.tar.gz
16:01 jnap joined #perl6
16:11 Ulti is there an adverb for lines to stop it chomping?
16:12 timotimo you can open a file with no-chomp-please
16:12 timotimo and you can open("-", :r, :!chomp) to get a new file handle
16:12 Ulti oh this is basically what I am doing badly! https://github.com/rakudo/rakudo/blob/619a35d47d2167116678a524c18ff60e44fbac3c/src/vm/jvm/core/IOAsyncFile.pm
16:14 timotimo i'm confused
16:15 Ulti I'm writing something that is doing async file IO and parsing at the same time
16:16 timotimo ah
16:20 * FROGGS_ is still building the star RC
16:22 anaeem1 joined #perl6
16:22 sqirrel_ joined #perl6
16:23 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:24 masak every proposal would have its own branch name.
16:24 masak making a new proposal would be pushing to a certain ref.
16:24 masak accepting a proposal and making it part of the game would be merging into master.
16:25 FROGGS_ you are still "working" on that? :o)
16:25 masak apparently my brain is :)
16:25 FROGGS_ *g*
16:26 masak but really, bringing Git into the mix seems to simplify a few things.
16:26 nwc10 does it read mail yet? :-)
16:26 masak with Nomic, the question is less irreverent than you might think :P
16:31 masak jnthn: yet another reason we need a Git implementation in Perl 6 ;)
16:31 timotimo do we ship fun examples with star, btw?
16:31 FROGGS_ fun examples? not yet at least
16:33 dalek nqp/lexopts: eafcab0 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
16:33 dalek nqp/lexopts: Start using new getlexstatic_o op.
16:33 dalek nqp/lexopts: review: https://github.com/perl6/nqp/commit/eafcab0214
16:33 dalek nqp/lexopts: 43fbe2b | jnthn++ | src/NQP/Optimizer.nqp:
16:33 dalek nqp/lexopts: Fix NQP analysis of when callstatic is valid.
16:33 dalek nqp/lexopts:
16:33 dalek nqp/lexopts: Makes it match Rakudo's more closely. We can cheat in NQP, but not
16:33 dalek nqp/lexopts: /that/ hard.
16:33 dalek nqp/lexopts: review: https://github.com/perl6/nqp/commit/43fbe2bc15
16:35 skids Configuring star RC with --backend-parrot --gen-nqp --gen-parrot, nqp complains when "Verifying instalation" about not having been installed yet.
16:36 FROGGS_ humm
16:36 jnthn Heading out for a bit; can finish Star release when back, if nobody has more fixes ;)
16:36 FROGGS_ skids: perl Configure.pl --backend-parrot --gen-nqp --gen-parrot
16:36 FROGGS_ Unknown option: backend-parrot
16:36 jnthn --backend=parrot
16:37 FROGGS_ perl Configure.pl --backends=parrot --gen-nqp --gen-parrot
16:37 FROGGS_ sh: 1: /home/froggs/dev/rakudo/install/bin/parrot: not found
16:37 FROGGS_ Klone nach 'nqp'...
16:37 FROGGS_ ^C
16:37 FROGGS_ 'Klone nach' means 'Cloning to'
16:37 FROGGS_ skids: you get the same?
16:37 skids FROGGS: --backend=parrot sorry
16:37 FROGGS_ skids: that works as expected here...
16:40 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:42 FROGGS_ no, --backend should work also
16:42 FROGGS_ if it fails again, can you no-paste your output?
16:43 skids sure.
16:44 skids damn.  almost got it out of my scrollback but it disappeared before I could select it :-)
16:50 masak dinner &
16:53 skids Worked this time. Pretty sure what happened is it built nqp before building parrot.
16:53 timotimo wow, that should really not happen
16:54 FROGGS_ hmmmm, I have never seen that happening
16:54 skids (or maybe the parrot build failed somehow without killing the make)
16:54 FROGGS_ yeah....
16:55 FROGGS_ please record the output next time, including the command line that invoked it :o)
16:55 FROGGS_ otherwise we can only guess
16:55 skids I'll try to replicate it later from a fresh tree.
16:55 timotimo # Error: Error while compiling op istype: Object of type Maybe in QAST::WVal, but not in SC
16:55 timotimo yay, that's a new one
16:57 FROGGS_ skids++
16:58 FROGGS_ timotimo: are these local mods or is that HEAD?
17:02 jnap joined #perl6
17:03 timotimo that's HEAD, rakudo-moar
17:03 vaskozl left #perl6
17:03 timotimo the same code seems to work on rakudo-j, i don't have a rakudo-p to test stuff on yet
17:06 anaeem1 joined #perl6
17:08 timotimo has there been a discussion on allowing ? and ! at the end of method names?
17:08 logie joined #perl6
17:12 moritz not that I'm aware of
17:13 guru joined #perl6
17:14 timotimo !at the end would be weird, though, as we already have ! in front where it has meaning
17:19 Rotwang joined #perl6
17:20 FROGGS_ jnthn: I only see some r* fails for perl6-j, which are expected
17:20 FROGGS_ (on linux x86_64)
17:21 FROGGS_ even a ? at the end would be weird...
17:24 kurahaupo joined #perl6
17:25 pippo joined #perl6
17:27 skids https://gist.github.com/skids/f42a0d177a0fe37aa7a2
17:49 skids Gist updated.  Was able to replicate the problem.
17:49 skids Looks like configure is using my pre-installed parrot.
18:03 jnap joined #perl6
18:04 Pleiades` joined #perl6
18:21 Su-Shee_ joined #perl6
18:26 FROGGS_ skids: yes, it is supposed to
18:26 FROGGS_ you cannot have another parrot/nqp in path
18:27 denis_boyun_ joined #perl6
18:29 timotimo rakudo on fails?
18:31 MikeFair_ joined #perl6
18:31 zakharyas joined #perl6
18:34 skids FROGGS: that never happened before, and I've had it in my path.
18:34 skids Configure seems to honor the ordering of the --gen-nqp and --gen-parrot options.
18:36 FROGGS_ skids: what is your /usr/local/bin/parrot --version ?
18:38 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
18:39 FROGGS_ ahh, hmmm
18:39 FROGGS_ parrot should not mention star though
18:39 FROGGS_ but 6.1.0 would be correct
18:39 skids no it doesn't.
18:40 skids damn.  It does build with the options in the correct order but I still have the "wrong version" error for stage2/QRegex.nqp.
18:41 skids "This is nqp version 2013.08 built on parrot 5.5.0 revision 0" Hrm.
18:41 skids So nqp didn't install.
18:42 timotimo is that the right nqp, too? the one in path vs install/bin?
18:42 timotimo or nqp/nqp-p?
18:43 skids No.  Yes what happened is that it installed nqp only as nqp-p and not as nqp;
18:44 timotimo yes, that is correct ... oooh!
18:44 timotimo that must be it
18:45 * skids looks for an option to select which backend to install under default names.
18:46 FROGGS_ skids: we changed that
18:46 FROGGS_ nqp is only installed as the last step (make-default-runner-install or so)
18:46 timotimo is "nqp" installed at all?
18:46 timotimo i don't think so, tbh
18:52 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 skids *hashbang*
18:54 vendethiel oh, a friend dared to ask me if "(*-.-)" would compile in perl6 ...
18:54 vendethiel too bad term:<*> doesn't work :p
18:57 timotimo yes, the rakudo star makefile must absolutely not try to use nqp
18:58 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 roast: d08d001 | (Elizabeth Mattijsen)++ | S17-supply/schedule_on.t:
18:58 dalek roast: Add tests for Supply.schedule_on
18:58 dalek roast: review: https://github.com/perl6/roast/commit/d08d0014c5
18:58 FROGGS_ vendethiel: it did work last time
18:59 vendethiel FROGGS_: I believe it didn't, and kept returning Whatever
18:59 vendethiel m: sub term:<*> { 5}; say *
18:59 camelia rakudo-moar fd5f8e: OUTPUT«*␤»
18:59 skids timotimo: well, it shouldn't when --gen-nqp at least.
18:59 vendethiel p6: sub term:<*> { 5}; say *
18:59 camelia niecza v24-109-g48a8de3: OUTPUT«5␤»
18:59 camelia ..rakudo-{parrot,moar} fd5f8e: OUTPUT«*␤»
18:59 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…»
18:59 vendethiel well, niecza can do it
19:00 timotimo should it really ever try to use nqp?
19:00 timotimo i thought we abolished that?
19:00 skids Aren't you supposed to be able to test a local version of nqp that way?
19:02 FROGGS_ vendethiel: okay, I misremembered
19:04 jnap joined #perl6
19:04 dalek rakudo/nom: abf3bc3 | (Elizabeth Mattijsen)++ | t/spectest.data:
19:04 dalek rakudo/nom: Make sure we do Supply.schedule_on tests
19:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/abf3bc33fb
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)
19:04 lizmat only 760 more until we overflow  :-)
19:05 FROGGS_ :D
19:12 benabik joined #perl6
19:21 bbkr joined #perl6
19:42 lizmat japhb: fwiw, I think https://gist.github.com/jnthn/11126125 should be turned into a GET helper sub somewhere, with an optional :$port = 80 parameter
19:43 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 japhb Basically lines 1-6 and 22-28
19:45 lizmat what would you call that?
19:45 japhb That's a good question
19:53 lue Courier ?
19:54 * japhb is tempted to say IO::Socket::Async.open
19:55 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
19:57 lizmat so it would return a Promise ?
20:00 kurahaupo joined #perl6
20:01 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 #perl6
20:02 lizmat feels to me the whole sub could be boilerplate with just a Promise parameter
20:03 lue (Thought you guys were naming a type)   perhaps .talk ?
20:03 lizmat that would encapsulate te IO::Socket::Async.connect(...)
20:03 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.
20:03 lue IO::Socket::Async.talk(...)
20:04 timotimo hm, talk, like with these modem thingies
20:04 japhb And lue's in the middle -- sortof an expect sortof level.
20:04 lizmat japhb: good point: the promise should be the "$socket.send("GET $path\r\n\r\n")" part
20:04 jnap joined #perl6
20:05 lizmat IO::Socket::Async.fetch
20:05 lizmat and then maybe a IO::Socket::Async.connect_and_send
20:06 timotimo btw, http really wants to have keepalive
20:06 timotimo so make sure it gets grabbable after that transaction, too
20:06 lizmat timotimo: that's why it was a crappy_ua  :-)
20:06 japhb We can just have lots of layers.  :-)
20:07 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*.
20:09 timotimo ah
20:09 rindolf joined #perl6
20:09 dalek specs: 4c3f6c6 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
20:09 dalek specs: Spec Supply.Promise(:last)
20:09 dalek specs: review: https://github.com/perl6/specs/commit/4c3f6c6208
20:10 lizmat ^^^ comments welcome.  Alternative would be to create a method .last
20:10 lizmat but that would not really convey the Promiseness of the returned value
20:12 lizmat or maybe we should have .last return a Supply that only returns the last value of the underlying supply
20:12 timotimo oof.
20:12 lizmat and if you want a promise of that, you would need to .Promise that
20:14 timotimo wonder if that's a good thing
20:14 lizmat if what is a good thing?
20:15 timotimo a supply that only .more's the last value when the previous one gets closed
20:15 timotimo but what do i know :)
20:16 lizmat in a way, it's like .stable with an infinite amount of time
20:16 timotimo aye
20:17 timotimo .stable(:forever)
20:17 timotimo :P
20:17 lizmat with the difference that .stable doesn't send the value if the supply was done before the period was over
20:17 timotimo oh
20:17 lizmat not sure whether that could be considered a bug or not
20:18 lizmat mmm... thinking about it more, :last on Promise smells
20:23 dalek specs: 5d6ef10 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
20:23 dalek specs: Re-imagine Supply.Promise(:last) as Supply.last
20:23 dalek specs: review: https://github.com/perl6/specs/commit/5d6ef10f88
20:29 japhb IO::Socket::Async.connect-then(:$host, :$port, -> $s, $v { ... })
20:30 lizmat you're exposing the vow there
20:30 timotimo that doesn't sound too bad
20:31 japhb lizmat: You have to.  It can only be taken once.
20:32 lizmat but shouldn't keeping/breaking the vow be part of the boilerplate ?
20:35 logie joined #perl6
20:37 japhb lizmat: Even after connect, failure during send or receive can still break the vow.
20:37 woolfy joined #perl6
20:39 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 lizmat and then create some way of easily making lines 4-8 into a promise
20:41 * lizmat is handwaving :-)
20:42 benabik I’m getting recursion depth exceeded on rakudo-parrot HEAD/HEAD when building RESTRICTED.setting.pir.
20:42 lizmat gist ?
20:42 benabik new -> new -> bless -> Bool -> gimme -> infix:<-> -> infix:<-> -> repeat
20:43 benabik (Well HEAD/HEAD/HEAD…)
20:44 lizmat doesn't ring a bell  :-(
20:46 moritz does it work with the recommended parrot version?
20:46 benabik https://gist.github.com/Benabik/fc625fb37b85a4e138a5
20:48 benabik I do not know.  It was working a couple weeks ago, but I’ll roll back to 6.1.0
20:51 guest154 joined #perl6
20:56 FROGGS_ timotimo said something too about problems building RESTRICTED.setting
21:03 lizmat jnthn: regarding S17:725
21:03 synopsebot Link: http://perlcabal.org/syn/S17.html#line_725
21:03 lizmat elems / max / min / minmax
21:04 lizmat 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...
21:04 lizmat if you only want a value at the end, you can .last that supply
21:04 lizmat (which I just specced and implemented)
21:05 jnthn More generally, for everything you could implement in terms of .reduce, there's a .scan form of the operation.
21:05 jnap joined #perl6
21:05 jnthn .elems in the "every time it changes" feels a little pointless...
21:06 lizmat well, true
21:06 jnthn But I can see it for latest max, latest min, etc.
21:07 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?
21:07 jnthn Yeah, this is the point where I wave my arms and point at the Rx docs ;)
21:07 jnthn But scan there is just a reduce that produces every intermediate result.
21:07 lizmat it gives you a supply: if you want a Promise, you would do .last.Promise
21:08 benabik left #perl6
21:08 benabik joined #perl6
21:08 lizmat jnthn: do you have a URL for the Rx docs ?
21:10 jnthn lizmat: http://www.introtorx.com/content/v1.0.10621.0/07_Aggregation.html#Scan
21:13 lizmat seems to me Suply.last === TakeLast, right ?
21:15 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:16 FROGGS_ ... on the jvm
21:16 FROGGS_ or, does my VMExceptionInstance get turned into an UnwindException for some reason?
21:17 cognominal__ joined #perl6
21:17 FROGGS_ because I don't yet see why I can throw a VMExceptionInstance with category=EX_CAT_NEXT, which works
21:18 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
21:19 jnthn lizmat: Yeah, except it takes an arg saying how many
21:21 lizmat ok, that can be fixed  :-)
21:22 FROGGS_ okay... so it arrives as an UnwindException, now I need find a way to get the payload
21:22 FROGGS_ that explains why the exception was kinda handled, an now isnt (I removed the handler)
21:23 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 specs: 850f8ed | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
21:23 dalek specs: Supply.last can give the last N more's
21:23 dalek specs: review: https://github.com/perl6/specs/commit/850f8ed95a
21:30 hoverboard joined #perl6
21:35 dalek rakudo/nom: c421738 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
21:35 dalek rakudo/nom: Implement Supply.last
21:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c4217387e7
21:38 dalek specs: 877b5f9 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
21:38 dalek specs: Spec Supply.grab
21:38 dalek specs: review: https://github.com/perl6/specs/commit/877b5f9028
21:39 jnap joined #perl6
21:39 FROGGS_ jnthn: the r* is fine on my linux box
21:41 jnthn yay
21:41 jnthn :)
21:41 FROGGS_ there are only the known fails for jvm's module tests
21:47 FROGGS_ Reason:
21:47 FROGGS_ Type 'org/perl6/nqp/runtime/UnwindException' (current frame, stack[0]) is not assignable to 'org/perl6/nqp/runtime/LexoticException'
21:47 FROGGS_ :/
21:48 FROGGS_ stack: { 'org/perl6/nqp/runtime/UnwindException' } <--- perhaps I have an idea about tomorrow...
21:48 FROGGS_ gnight all
21:50 skids doh.  --prefix= not PREFIX=.  That's for make.
21:51 lizmat FROGGS_  gnight!
21:54 dalek rakudo/nom: a320bf1 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
21:54 dalek rakudo/nom: Guard Supply.last a bit against garbage input
21:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a320bf1b6d
21:56 dalek roast: 432761f | (Elizabeth Mattijsen)++ | S17-supply/last.t:
21:56 dalek roast: Add tests for Supply.last
21:56 dalek roast: review: https://github.com/perl6/roast/commit/432761fc8f
22:00 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␤␤»
22:00 lizmat I could use it for the signature in some of the Supply methods
22:01 dalek rakudo/nom: 73179b3 | (Elizabeth Mattijsen)++ | t/spectest.data:
22:01 dalek rakudo/nom: Make sure we run the Supply.last tests
22:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/73179b3130
22:02 anaeem1__ joined #perl6
22:11 zakharyas joined #perl6
22:13 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␤»
22:13 timotimo m: my subset Lucky of Int where -> $num { [eq] $num.comb }; say 777 ~~ Lucky; say 123 ~~ Lucky
22:13 camelia rakudo-moar fd5f8e: OUTPUT«True␤False␤»
22:14 jnthn .oO( I was up all night to get that type... )
22:22 dalek rakudo/nom: d28ef4e | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
22:22 dalek rakudo/nom: @a.splice(0,1) is @a.shift, you dummy!  :-)
22:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d28ef4e215
22:22 dalek rakudo/nom: 70e580b | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
22:22 dalek rakudo/nom: Implement Supply.grab(&when_done)
22:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70e580bdab
22:24 lizmat tests after a some time afk&
22:24 jnthn o/ lizmat
22:40 jnap joined #perl6
22:51 dalek rakudo-star-daily: d6d0ea5 | coke++ | log/ (4 files):
22:51 dalek rakudo-star-daily: today (automated commit)
22:51 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/d6d0ea5ed1
22:51 dalek perl6-roast-data: 0f06eae | coke++ | / (6 files):
22:51 dalek perl6-roast-data: today (automated commit)
22:51 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/0f06eae244
22:51 [Coke] parrot build still failing.
22:54 Entonian joined #perl6
23:10 eternaleye joined #perl6
23:11 Rounin joined #perl6
23:18 djanatyn joined #perl6
23:24 BenGoldberg joined #perl6
23:40 jnap joined #perl6
23:44 krunen joined #perl6
23:57 xragnar_ joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo