Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-07-30

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:01 ivanshmakov joined #perl6
00:08 [Coke] jnthn++
00:09 timotimo oh wow.
00:16 Akagi201 joined #perl6
00:19 cooper_ joined #perl6
00:20 thou joined #perl6
00:31 cooper_ joined #perl6
00:48 telex joined #perl6
00:51 hoelzro yoleaux: seen pmurias
00:51 hoelzro .seen pmurias
00:51 yoleaux I saw pmurias 29 Jul 2014 21:22Z in #perl6: <pmurias> psch: it's the same big number I get
00:51 hoelzro .tell pmurias I got NQP JS building after a rebase on the latest nqp: https://github.com/hoelzro/nqp/tree/nqp-js
00:52 yoleaux hoelzro: I'll pass your message to pmurias.
01:07 cbk1090 joined #perl6
01:15 cooper_ joined #perl6
01:16 dayangkun joined #perl6
01:17 Akagi201 joined #perl6
01:22 cbk1090 I guess I'm asking what does the Record:data part mean?
01:22 cbk1090 sorry didn't mean to send that over on the line.
01:23 cooper_ joined #perl6
01:24 Akagi201 joined #perl6
01:27 * TimToady fails to see any significant use of after anywhere in the compiler; nearly all of them are a single character
01:28 TimToady and hence hardly need to be flipped in the first place
01:28 TimToady jnthn: ^^
01:29 TimToady or am I missing something?
01:29 TimToady it's not like I'm half blind...oh wait...
01:30 cooper_ joined #perl6
01:32 hoverboard joined #perl6
01:35 BenGoldberg joined #perl6
01:36 cooper_ joined #perl6
01:36 hoelzro TimToady: do you mind if I ask you a quick question about your recent changes to S26?
01:45 klapperl_ joined #perl6
01:47 akaseki joined #perl6
01:47 hoelzro in the changes you made, it seems like multiple leading comments are separated by a newline
01:48 hoelzro but if I have a POD block like =begin NAME\nfoo\nbar\n=end NAME, $=pod[$idx] ends up being 'foo bar', so I would've expected it to be space (rather than newline) separated
01:48 hoelzro should I change the S26 stuff to reflect this?
01:54 araujo joined #perl6
01:56 chenryn joined #perl6
02:01 btyler joined #perl6
02:05 btyler joined #perl6
02:06 timotimo tomorrow i'll probably write an application that wants to parse json documents at interactive speeds ... :\
02:06 timotimo our parse-json benchmark is still at about 1.6 times per second
02:07 timotimo well, okay, the document we parse is 33.682kb big
02:08 timotimo ... actually, that's 33684 characters
02:08 hoelzro wow, that's a big improvement over the last time I tried parsing JSON
02:08 BenGoldberg joined #perl6
02:08 hoelzro it was like .03 times per second then =P
02:08 timotimo not really, though
02:08 timotimo in my long-term benchmarks it seems like we've only gotten faster a tiny bit
02:09 timotimo moar-nqp is about 2.5x faster than rakudo-moar and perl5 is about 10x faster still
02:09 timotimo at least rakudo-moar is exactly as fast as nqp-parrot, heh.
02:10 hoelzro =)
02:10 thou joined #perl6
02:12 timotimo japhb: would it be possible to massage something like "characters per second" into the parse-json benchmark plot we output?
02:12 timotimo that might make it more sensible
02:12 timotimo hmm. actually, we might want to have multiple documents, which would turn the graph into a scatter plot ...
02:13 timotimo (since different documents will differ in depth and number of objects created in total etc etc)
02:13 hoelzro timotimo: the performance issue I found with JSON was object creation
02:13 hoelzro so that would be an alternative benchmark
02:13 timotimo ... yeah, it most probably is that :(
02:14 timotimo hm, did we ever bench how >>.foo compares against .map: *.foo?
02:14 timotimo m: my @a = 1 .. 1000; @a>>.is-prime; say now - BEGIN now;
02:14 camelia rakudo-moar 820565: OUTPUT«0.0246440␤»
02:15 timotimo m: my @a = 1 .. 1000; @a.map( *.is-prime ); say now - BEGIN now;
02:15 camelia rakudo-moar 820565: OUTPUT«0.02609814␤»
02:15 [particle] joined #perl6
02:15 timotimo m: my @a = 1 .. 100000; @a>>.is-prime; say now - BEGIN now;
02:15 camelia rakudo-moar 820565: OUTPUT«(timeout)»
02:15 timotimo m: my @a = 1 .. 5000; @a>>.is-prime; say now - BEGIN now;
02:15 camelia rakudo-moar 820565: OUTPUT«1.20515505␤»
02:15 timotimo m: my @a = 1 .. 5000; @a.map( *.is-prime ); say now - BEGIN now;
02:15 camelia rakudo-moar 820565: OUTPUT«1.1574913␤»
02:16 timotimo is-prime is probably not the right method for this
02:16 timotimo Str is probably cheap.
02:16 timotimo m: my @a = 1 .. 100000; @a.map( *.Str ); say now - BEGIN now;
02:16 camelia rakudo-moar 820565: OUTPUT«0.482987␤»
02:16 timotimo m: my @a = 1 .. 100000; @a>>.Str; say now - BEGIN now;
02:16 camelia rakudo-moar 820565: OUTPUT«0.5566723␤»
02:16 timotimo m: my @a = 1 .. 1000000; @a.map( *.Str ); say now - BEGIN now;
02:16 camelia rakudo-moar 820565: OUTPUT«5.4631956␤»
02:16 timotimo m: my @a = 1 .. 1000000; @a>>.Str; say now - BEGIN now;
02:16 camelia rakudo-moar 820565: OUTPUT«6.3738923␤»
02:17 timotimo that won't give us a 10x speed increase
02:17 noganex joined #perl6
02:17 timotimo maybe we could try to have a benchmark parse-json-no-actions
02:18 hoelzro I think I tried that once
02:18 lustlife joined #perl6
02:18 hoelzro like a year ago
02:18 hoelzro it'd be worth trying agani
02:18 hoelzro *again
02:19 hoelzro hmm
02:19 hoelzro I don't know how hashes are implemented at the moment
02:19 hoelzro but in a JSON document, for example, the keys are known in advance
02:19 hoelzro I'
02:19 hoelzro I'm sure there are plenty such scenarios; I wonder if that case could be optimized?
02:20 timotimo i will try it again
02:20 timotimo a parser that can assume a fixed structure can certainly be much faster
02:21 timotimo if it's acceptable to segfault or undefinedly-behave given a malformed document, you can skip a whole bunch of stuff
02:21 timotimo like, look only at the first letter of a key and decide which key it'll be, if it can be decided at that point already
02:22 hoelzro you're talking about applying my idea in the grammar?
02:22 hoelzro I was thinking of doing it in the actions, or rather, in the Hash constructor
02:23 btyler what about nativecall bindings to libjansson (or similar)? might be easier than working out tricky optimizations in p6-land
02:23 timotimo well, completely unrelated to that, i've been interested in making a json parser that doesn't use the grammar machinery and see if it can be any faster
02:23 timotimo btyler: well volunteered! ;)
02:23 btyler timotimo: just pondering if the purpose is "parse json fast from p6 code" or "parse json fast -in- p6 code"
02:24 timotimo right; in my personal case, it's "parse json fast from p6 code"
02:24 timotimo extra bonus: i know that the document format is at least somewhat fixed
02:24 timotimo but i'd rather our parse-json module (or a json::fast module) would be usable for this task than hacking something myself
02:24 timotimo sadly, i don't have an example document of the type handy, otherwise i'd benchmark with that to get some more relevant numbers
02:30 timotimo m: say "rakudo does {687956 / 40} characters per second when parsing perl6 code, including building the AST and stuff."
02:30 camelia rakudo-moar 820565: OUTPUT«rakudo does 17198.9 characters per second when parsing perl6 code, including building the AST and stuff.␤»
02:30 timotimo m: say "rakudo does {33682 / (1 / 1.3)} CPS when parsing json including building the object"
02:30 camelia rakudo-moar 820565: OUTPUT«rakudo does 43786.6 CPS when parsing json including building the object␤»
02:31 timotimo at least we parse json faster than perl6 code. anything else would have been very surprising
02:34 timotimo though it kinda surprises me we're only about 2.5x faster at json than we are at p6 code; maybe because the actions in the core setting are written in nqp and can generate tighter code?
02:35 btyler joined #perl6
02:38 aoseki joined #perl6
02:40 ariden__ joined #perl6
02:41 btyler joined #perl6
02:44 grondilu m: say "{.perl}" for 1/3, 1;
02:44 camelia rakudo-moar 820565: OUTPUT«Nil␤Nil␤»
02:44 grondilu n: say "{.perl}" for 1/3, 1;
02:44 camelia niecza v24-109-g48a8de3: OUTPUT«<1/3>␤1␤»
02:44 grondilu p: say "{.perl}" for 1/3, 1;
02:44 camelia rakudo-parrot 820565: OUTPUT«<1/3>␤1␤»
02:45 grondilu m: say "{.perl}" given 1/2
02:45 camelia rakudo-moar 820565: OUTPUT«Nil␤»
02:45 hoelzro *that's* where the 130 second parse comes from - my S26 branch o_O
02:46 timotimo whoa, how'd you manage that?
02:46 * hoelzro shrugs
02:46 hoelzro probably introduced a horrible regex into the grammar!
02:47 hoelzro I just rebased; maybe I missed some handy optimization work
02:49 timotimo that would be one hell of an optimization ...
02:49 raiph joined #perl6
02:50 hoelzro heh
02:50 hoelzro indeed
02:50 hoelzro that'll be the last thing I do before the final submission as a PR, I guess
02:51 hoelzro yeah, no
02:51 hoelzro same parse time
02:53 akaseki joined #perl6
02:55 dalek roast/S26-WHY: c28851f | (Rob Hoelz)++ | S26-documentation/ (12 files):
02:55 dalek roast/S26-WHY: Change .content to .contents for POD blocks
02:55 dalek roast/S26-WHY:
02:55 dalek roast/S26-WHY: To match up with specs
02:55 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/c28851f81e
02:59 timotimo wow, what.
02:59 timotimo parse-json vs parse-json-no-obj-creation ...
02:59 timotimo not that big of a difference
03:00 timotimo http://t.h8.lv/p6bench/2014-07-30-json_stuff.html
03:03 timotimo http://t.h8.lv/p6bench/2014-07-30-recent-rakudos.html - here's a comparison with a few more historical versions
03:03 timotimo 8205 is today's rakudo, 319 is a few days old
03:05 timotimo huh, the charrange benchmark confuses me
03:05 timotimo but it could very well be that it has been fixed between benchmark runs
03:06 timotimo oh d'oh!
03:07 timotimo i've accidentally overwritten the parse-json benchmark with the parse-json-no-obj-creation
03:07 timotimo m)
03:07 hoverboard joined #perl6
03:08 dalek perl6-bench: 2f84e2d | (Timo Paulssen)++ | / (3 files):
03:08 dalek perl6-bench: new benchmark: json parsing without creating objects
03:08 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/2f84e2d1ab
03:11 timotimo damnit, i wanted to go to bed %)
03:11 hoelzro timotimo: isn't it like 5AM by you?
03:13 timotimo yes >_<
03:13 hoelzro then go to bed =)
03:13 timotimo i spent much of last day sleeping off my ear infection, so i'm not terribly tired
03:13 hoelzro don't get me wrong; it's nice to have someone to talk to while I'm actually working on stuff =)
03:13 timotimo feels more like an obligation than a physiological necessity at this moment
03:14 hoelzro ah
03:19 hoelzro you're making *me* feel bad for wanting to go to bed =P
03:19 timotimo http://t.h8.lv/p6bench/2014-07-30-json-speed.html - btw
03:19 hoelzro wow
03:19 timotimo oh, i put one too many rakudos in there
03:19 hoelzro that's underwhelming
03:19 timotimo refresh for less spam
03:19 timotimo it is, isn't it?
03:20 hoelzro oh well, you never know until you measure
03:20 timotimo i'm somewhat surprised to say the least
03:20 hoelzro me too
03:20 timotimo at least now we know that our json parsing alone isn't perfect
03:20 hoelzro indeed!
03:20 timotimo so we can have a look at what exactly we're spending our time doing there and maybe find something that'll improve parsing across the board
03:21 hoelzro that would be great
03:21 * timotimo heads off to bed
03:21 hoelzro after S26, I would be interested in working on that
03:21 hoelzro I'm hoping to start writing bindings to webservices
03:21 hoelzro 'night timotimo
03:21 timotimo sounds lovely :)
03:22 timotimo ttyl
03:22 hoelzro later
03:25 TimToady p6: printf "%+.5f", pi
03:25 camelia rakudo-{parrot,jvm,moar} 820565: OUTPUT«3.14159»
03:25 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: invalid format specifier␤  at /home/p6eval/niecza/lib/CORE.setting line 1403 (sprintf @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1404 (printf @ 5) ␤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecz…»
03:26 TimToady no +?
03:28 TimToady should print out +3.14159
03:33 TimToady space doesn't work either, which appears to be a regression from rakudo version #22 "Thousand Oaks", according to http://rosettacode.org/wiki/Roots_of_unity#Perl_6
03:35 btyler anyone know what env var needs to be set for dyncall to find a native lib? NativeCall/dyncall can't find the darn thing in /usr/local/lib. tried CPATH/DYLD_FALLBACK_LIBRARY_PATH/LIBRARY_PATH. also only have a wee bit of C knowledge, so my model is probably rather out of line with reality
03:36 thou joined #perl6
03:36 TimToady used to be LD_LIBRARY_PATH back in the day
03:36 btyler oh, also, this is OSX. not sure if that matters
03:37 TimToady well, almost certainly they've changed it, since Apple can't leave any interface alone
03:42 itz joined #perl6
03:48 kaare_ joined #perl6
03:58 nbrown joined #perl6
04:02 xenoterracide_ joined #perl6
04:02 ventica joined #perl6
04:02 ventica m: say "o/";
04:02 camelia rakudo-moar 820565: OUTPUT«o/␤»
04:09 eternaleye joined #perl6
04:16 rindolf joined #perl6
04:19 rindolf Hi all.
04:27 aoseki joined #perl6
04:28 btyler doh, typo in the "is native('foo')" library name. that -would- make it hard to find
04:30 dalek roast: f0033ca | (David Warring david.warring@gmail.com)++ | S32-str/sprintf.t:
04:30 dalek roast: added sprintf test cases for "%+.5f" "%.5f"
04:30 dalek roast: review: https://github.com/perl6/roast/commit/f0033cace2
04:30 dwarring TimToady: ^^ hope that covers the regressions
04:39 gamo joined #perl6
04:40 thou joined #perl6
04:41 gamo perl6 is slower than perl5
04:48 dwarring afk
04:48 btyler woohoo, got some really basic JSON parsing going with libjansson and nativecall
04:48 btyler nativecall is incredible
04:53 chenryn joined #perl6
04:58 nbrown joined #perl6
05:01 kurahaupo_mobile joined #perl6
05:36 jnap joined #perl6
05:37 dalek nqp: 854efd3 | duff++ | / (2 files):
05:37 dalek nqp: RT #122437 fix sprintf regression
05:37 dalek nqp:
05:37 dalek nqp: The " " and "+" flags weren't being taken into account for floating
05:37 dalek nqp: point numbers.  Added checks for these flags and some tests.
05:37 dalek nqp: review: https://github.com/perl6/nqp/commit/854efd3161
05:37 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122437
05:38 djanatyn joined #perl6
05:50 Possum joined #perl6
05:59 FROGGS joined #perl6
06:07 denis_boyun_ joined #perl6
06:13 SevenWolf joined #perl6
06:16 dalek roast: b25116e | duff++ | S06-other/misc.t:
06:16 dalek roast: Add a couple of tests for RT #76096
06:16 dalek roast: review: https://github.com/perl6/roast/commit/b25116ead1
06:16 dalek roast: 5b6b146 | duff++ | S32-str/sprintf.t:
06:16 dalek roast: Update tests for RT #122437
06:16 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=76096
06:16 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122437
06:16 dalek roast: review: https://github.com/perl6/roast/commit/5b6b146978
06:16 dalek rakudo/nom: 11e1937 | duff++ | tools/build/NQP_REVISION:
06:16 dalek rakudo/nom: bump NQP_REVISION to get sprintf fixes
06:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/11e1937533
06:17 sergot hi o/
06:20 avuserow \o
06:31 [Sno] joined #perl6
06:32 sftp joined #perl6
06:37 denis_boyun joined #perl6
06:40 jnap joined #perl6
06:51 avuserow I gathered the parrot segfault traceback from a coredump: https://gist.github.com/avuserow/5da7dc1a8a0d8211bdf3 . It happens intermittently on jsonrpc/t/server.t, but sometimes other tests fail. This is on Fedora 19 64-bit fwiw.
06:52 avuserow I can provide more info if needed. Seems reasonably reproducible if I run it a few times.
06:54 zakharyas joined #perl6
07:01 chenryn joined #perl6
07:05 avuserow I just updated the above gist. I'm also seeing segfaults in the doc/t/typegraph.t test intermittently. I was able to replicate the same backtrace on two machines (though both running the same Linux setup)
07:06 avuserow I think the parrot spectests are clean here (with a few TODOs passing), where "here" is testing the July releases of Parrot/Rakudo/etc
07:08 avuserow should I be filing these into a specific bug tracker? let me know.
07:08 avuserow and with that, good night #perl6
07:08 moritz good night avuserow
07:27 ingy you guys are funny
07:27 ingy I'm reading http://perlcabal.org/syn/S02.html
07:27 ingy todo(:parrøt<0.42>, :dötnet<1.2>));
07:27 ingy :P
07:34 virtualsue joined #perl6
07:38 darutoko joined #perl6
07:39 kst` joined #perl6
07:40 oetiker joined #perl6
07:43 kst`` joined #perl6
07:46 jnap joined #perl6
07:46 oetiker joined #perl6
07:51 dmol joined #perl6
07:56 denis_boyun joined #perl6
07:57 masak good morning, #perl6
07:57 nwc10 good masak, #perl6
07:57 nwc10 or something like that
08:03 moritz \o *
08:03 btyler timotimoe: re your "well volunteered", here's a starting point for bindings to libjansson: https://github.com/kanatohodets/p6-json-jansson
08:03 FROGGS joined #perl6
08:04 btyler timotimo*
08:05 btyler unfortunately there's something really funky going on where the JSON primitives only get spit out some of the time
08:06 btyler once I figure that out I'll start working on loading the JSON into a p6 data structure, ether pulling it from C-land on-demand via a proxy, or just chomping through it as soon as jansson has it parsed
08:17 kaare_ joined #perl6
08:26 kivutar joined #perl6
08:29 Ven joined #perl6
08:30 Ven Wow, I just learned that Ruby 2.0 was actually started in 2003 :o)
08:30 Ven and it got released in 2013
08:30 Ven I also just learned that Ruby has call/cc !
08:30 nwc10 but, was the Ruby 2.0 from 2003 any relation to the 1.99999999999 that was released in 2013?
08:31 nwc10 has PHP decided whether the next version is 6 or 7? And whether it's anything more than marketing?
08:32 Akagi201_ joined #perl6
08:34 moritz maturing a dynamic language sure seems like a painful process
08:34 denis_boyun_ joined #perl6
08:35 fhelmberger joined #perl6
08:35 nwc10 Once you have a userbase, anything you change breaks your existing users' code.
08:36 nwc10 It's not clear that any dynamic language has yet demonstrated success
08:37 pmurias joined #perl6
08:37 pmurias hoelzro: great!
08:37 yoleaux 00:52Z <hoelzro> pmurias: I got NQP JS building after a rebase on the latest nqp: https://github.com/hoelzro/nqp/tree/nqp-js
08:38 Akagi201 joined #perl6
08:40 Ven moritz: "dynamic language" ?
08:41 nwc10 one specific problem is that if you are deploying source code, rather than compiled code, any newer version of the runtime has to be source-compatible
08:41 nwc10 you don't have "existing binaries" that just keep working.
08:44 Ven dynamic = interpreted ?
08:44 Akagi201_ joined #perl6
08:45 Ven nwc10: sometimes, you rely on environment stuff that isn't available (like dlls)
08:46 pmurias how do I switch my git repo to hoelzro's one?
08:46 Ven pmurias: what do you mean ? You can add his as a remote
08:46 nwc10 Ven: yes, agree.
08:47 FROGGS pmurias: git remote add hoezlro <url>
08:47 FROGGS and then you can checkout hoelzro instead of origin
08:48 moritz Ven: "dynamic language" as in perl, python, ruby, js, php
08:48 Ven moritz: as in unityped ? as in interpreted ?
08:48 moritz Ven: if you want a definition, it would be run-time typed
08:49 moritz those languages are *not* untyped
08:49 Ven I didn't write untyped.
08:49 FROGGS what is 'unityped' ?
08:49 moritz oh, I thought unityped was a typo for untyped
08:49 moritz sorry
08:49 Ven FROGGS: http://existentialtype.wordpress.com/2011/03/19/dynamic-languages-are-static-languages/
08:50 Ven moritz: why would it be harder than maturing a statically typed language ? You usually can't break people's code
08:50 Ven admittedly, if you do, you'll (probably) know sooner, but that's still broken.
08:50 FROGGS Ven: no, unityped does not fit here I think
08:51 pmurias FROGGS: and how can I make it the defaul?
08:51 Ven FROGGS: << we have no choice but to regard it as a value of the “one true type” that is classified, not typed, as an integer >>
08:51 FROGGS pmurias: edit your .git/config? I dunno how mad that is
08:52 moritz Ven: I have no idea, I merely observe that python, ruby, perl and php seem to have more trouble than C++, C#, Fortran and C, for example
08:52 nwc10 C++, C#, Fortran and C all have more than one "vendor", and have a standards committee to design what is accepted
08:52 Ven moritz: do they ? I don't know Fortran, C is pretty much unevolving, C++ adds features that would be done 10 times better if they could break BC, and C# is going in a "dynamic" direction
08:53 nwc10 oh, crap, not C# sort of
08:53 Ven I think c++ is really the counter-example to "statically languages have a easy (kinda) time growth"
08:53 nwc10 problem continues to exist between keyboard and chair
08:54 moritz Ven: well, C++ evolution isn't pretty, but it looks like all major compilers seem to either implement C++11, or are pretty much on their way to do it. No huge fragmentation of the language and community
08:54 molaf_ joined #perl6
08:54 Ven moritz: you must mean on their way to C++14, by now :). I don't see fragmentations in the hundreds of ruby or even scheme implementations
08:55 Ven (or they're labeled as such, such as rubinius X and racket)
08:56 cognominal When you ship a binary, you don't have the problem of mismatch of interpreter and source, whatever mismatch may mean. On the other hand the binary is tied to an OS and an processor instruction set.
08:56 Ven cognominal: and to some environmental stuff, often
08:56 cognominal yes
08:57 kivutar joined #perl6
09:03 jnap joined #perl6
09:09 Akagi201 joined #perl6
09:11 cooper_ joined #perl6
09:15 Akagi201_ joined #perl6
09:17 eiro hello guys
09:18 Ulti ohai
09:19 cognominal I think that so called dynamic languages come with very different cultures that implies degrees of freedom provided by the decoupling from a processor instruction set. That leads to the freedom and the necessity to create a culture/ecosystem with many ways to go astray. With smalltalk, one seems to eventually get the worse all posible worlds.  It comes with its own "OS" which is really an evolving image so good luck for a portable scr
09:19 cognominal ipt, you don't  get to chose you editor, the editing environment.has not evolved eons. Ruby has choosed to fully embrace the web but nodejs can do it more fully. The Perl crowd choosed to stay in a ghetto, less though than smalltalk, by ignoring the client side of the web and staying resolutely a tty culture. I am not sure if that culture comes from some leader(s) vision, accidental constraints, or happenstance.
09:19 FROGGS hi eiro
09:19 cognominal salut
09:23 nwc10 not convinced that "Ruby chose to fully embrace the web" It's more selection bias - Ruby wasn't really visble until Rails appeared, and Rails is all about the web
09:23 cognominal I am curious how many people here are runing their irc client in a tty multiplexor à la screen or tmux :)
09:23 * nwc10 is using tmux
09:23 cognominal nwc10, so that falls in the category happenstance  :)
09:24 * moritz happily uses both screen and tmux, depending on the context (but screen for irss)
09:24 bonsaikitten quassel is quite useful
09:25 bonsaikitten much less affected by laggy connections
09:26 Ven cognominal: java is decoupled from the processor instruction set, too
09:27 cognominal that confirms my suspicion : Perl people thrive in the tty world.
09:27 thou joined #perl6
09:27 moritz cognominal: or maybe IRC people thrive in the tty world :-)
09:27 moritz cognominal: selection bias and all that :-)
09:28 cognominal :)
09:28 moritz .oO( now that I know about selection bias, I see it everywhere! )
09:29 cognominal :)
09:32 pmurias cognominal: do ruby people irc through their web browsers?
09:34 cognominal pmurias, I don't know.
09:36 cognominal My thought is that Perl 6 is a heck of a language, but a language is nothing without a media.
09:37 Ven pmurias: I actually do. hahahahaha
09:37 Ven (only when not at home, though :b. But then, I usually don't do ruby at home)
09:37 masak cognominal: I'm on screen.
09:38 moritz btw http://convos.by/ is a web-based IRC client written in perl
09:38 moritz and seems to gain popularity
09:39 pecastro joined #perl6
09:40 cognominal interesting.
09:40 dmol joined #perl6
09:41 firnsy_ joined #perl6
09:41 firnsy_ joined #perl6
09:42 Timbus you all forgot CGI::IRC -_-
09:43 moritz web 0.5
09:43 japhb_ joined #perl6
09:43 c1sung_ joined #perl6
09:44 bloonix_ joined #perl6
09:44 airen_ joined #perl6
09:44 jlaire_ joined #perl6
09:44 epochbell joined #perl6
09:44 [Coke]_ joined #perl6
09:44 rjbs joined #perl6
09:44 TimToady_ joined #perl6
09:44 Brock joined #perl6
09:44 MilkmanDan joined #perl6
09:44 MilkmanDan joined #perl6
09:44 felher joined #perl6
09:44 rindolf joined #perl6
09:44 vike joined #perl6
09:44 darutoko joined #perl6
09:44 ClarusCogitatio joined #perl6
09:44 noganex joined #perl6
09:45 cognome joined #perl6
09:45 ilogger2 joined #perl6
09:46 [particle] joined #perl6
09:57 zengargoyle meh, web is just a sparkly tty anyway.
10:04 virtualsue joined #perl6
10:06 spider-mario joined #perl6
10:07 masak p6: printf "%+.5f", pi
10:08 camelia rakudo-jvm 11e193: OUTPUT«(timeout)»
10:08 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: invalid format specifier␤  at /home/p6eval/niecza/lib/CORE.setting line 1403 (sprintf @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1404 (printf @ 5) ␤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecz…»
10:08 camelia ..rakudo-{parrot,moar} 11e193: OUTPUT«+3.14159»
10:09 masak aha, PerlJam++ fixed it :)
10:09 Woodi joined #perl6
10:12 cognominal zengargoyle: and mostly a readonly tty if one has only access to the browser, except for wikis. The wikipedia has not strayed far apart from the original wiki concept except very recently.
10:17 moritz m: say nqp::iscclass( nqp::const::CCLASS_PRINTING, nqp::unbox_s("a"), 0)
10:17 camelia rakudo-moar 11e193: OUTPUT«1␤»
10:17 chenryn joined #perl6
10:17 moritz m: print nqp::iscclass( nqp::const::CCLASS_PRINTING, nqp::unbox_s(chr($_)), 0) for 0..255;
10:17 camelia rakudo-moar 11e193: OUTPUT«0000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111»
10:17 moritz m: print nqp::iscclass( nqp::const::CCLASS_PRINTING, nqp::unbox_s(chr($_)), 0) for 0..2550;
10:17 camelia rakudo-moar 11e193: OUTPUT«0000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…»
10:25 jnap joined #perl6
10:28 * masak closes his eyes and imagines a classify-into-ranges builtin
10:28 masak probably a good case for a module, more realistically.
10:28 masak also, probably quite close to skip lists.
10:29 Ven masak: classify-into-ranges ?
10:33 rindolf zengargoyle: I might as well argue that reddit has no advantage over Usenet.
10:33 masak Ven: with what moritz did above, it would return (0 => 0..31, 1 => 32..2550)
10:33 rindolf zengargoyle: or that we should still use a chisel and a mallet.
10:33 rindolf zengargoyle: cuneiform, anyone? ;-)
10:34 rindolf zengargoyle, cognominal : http://www.robcottingham.ca/cartoon/archive/this-brain-this-brain-fire/
10:42 xragnar_ joined #perl6
10:52 nwc10 cmd: Rounded run time per iteration: 4.736e+02 +/- 1.2e+00 (0.3%)
10:52 nwc10 compare with
10:52 nwc10 cmd: Rounded run time per iteration: 7.1820e+01 +/- 4.2e-02 (0.1%)
10:52 nwc10 n: say 4.736e+02 / 7.1820e+01
10:52 camelia niecza v24-109-g48a8de3: OUTPUT«6.5942634363686983␤»
10:53 nwc10 pmurias: MoarVM about 6.5 times faster than parrot at compiling the setting
11:15 thou joined #perl6
11:18 moritz with or without JIT?
11:18 nwc10 JIT isn't helping (yet) with the setting
11:19 moritz so without?
11:19 nwc10 yes, without
11:28 jnap joined #perl6
11:35 pmurias hoelzro: ping
11:40 hoelzro pmurias: pong
11:40 hoelzro morning #perl6
11:45 pmurias hoelzro: did you need to enable regex lib to compile QAST::Compiler?
11:45 hoelzro pmurias: yes
11:53 bjz joined #perl6
11:58 dmol joined #perl6
12:02 nbrown joined #perl6
12:05 pmurias hoelzro: ok, it's seem I could just have enabled it instead of trying to remove regex-lib dependencies from QAST::Compiler
12:23 timotimo hmm. apparently turning the panda-projects.json (that perl6-bench uses for the json benchmarks) into a pure-ascii file doesn't change performance one bit
12:24 timotimo though there are multibyte characters in the original file that probably caused our code-index-using methods to linear-search every time rather than directly skip
12:24 timotimo and even specifying :enc('ascii') on spurt doesn't seem to help
12:25 hoelzro timotimo: I tried a benchmark once on a JSON file that was " " x 4000 ~ "{}"
12:25 timotimo how well did that go?
12:25 zengargoyle i'm not so sure reddit has anything over usenet in its prime.  it was much easier to find groups, follow threads, bash on the 'n' key and make killfiles than it is to muddle through reddit. :)
12:25 hoelzro well, it demonstrated that the parser wasn't the bottleneck =)
12:25 eiro an equivalent of the s/a/b/r in perl6 ? (the r modifier)
12:26 timotimo what does r do again?
12:26 hoelzro r returns the new string
12:26 zengargoyle plus you could just grep through /var/spool/news ...
12:26 grondilu eiro .subst: /a/, "b"  I think
12:26 hoelzro rather than modifying the target in place
12:26 eiro timotimo, s/a/b/r is like s/a/b/; $_
12:26 eiro grondilu, thx :)
12:26 timotimo ah
12:26 huf more like ($x = $_) =~ s/a/b/; $x
12:27 masak I don't see why we couldn't also have s:r///
12:27 eiro (didn't expect a method here
12:27 masak would be a nice side-port from Perl 5 ;)
12:27 * masak goes ahead and specs :r
12:27 eiro masak, :r is :rachet in perl6
12:27 grondilu well, you can always s:P5:r///
12:27 masak eiro: oh, dang.
12:27 masak yes, so it is.
12:28 grondilu m: $_ = "foo"; say s:P5:r/foo/bar; say $_
12:28 camelia rakudo-moar 11e193: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5QgY2KeMKCâ�¤Malformed replacement part; couldn't find final /â�¤at /tmp/5QgY2KeMKC:1â�¤------> [32m$_ = "foo"; say s:P5:r/foo/bar; say $_[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        po…»
12:28 grondilu m: $_ = "foo"; say s:P5:r/foo/bar/; say $_
12:28 camelia rakudo-moar 11e193: OUTPUT«bar␤bar␤»
12:28 grondilu oh that unexpectidly failed
12:29 eiro s:P5:r is boring to write but still more natural than $_.substr( for me
12:29 * grondilu was expecting barnfoo
12:29 grondilu not substr, subst
12:29 masak eiro: hm. since :r is taken, I don't really know how to spec this.
12:29 masak eiro: someone needs to come up with a nice letter we can use :)
12:30 Ven joined #perl6
12:30 zengargoyle is :c for copy taken?
12:30 masak didn't we use to have :c for continue?
12:30 grondilu it ha sto be one letter, right?
12:30 moritz we still have that
12:30 eiro m: "the winner is " ~ 'a'..'z'.pick
12:30 camelia rakudo-moar 11e193: ( no output )
12:30 zengargoyle :v vivify
12:30 eiro m: say "the winner is " ~ 'a'..'z'.pick
12:30 camelia rakudo-moar 11e193: OUTPUT«"the winner is a".."z"␤»
12:30 masak grondilu: preferably one letter and then an expanded word.
12:30 eiro oops :)
12:30 masak eiro: precedence.
12:31 moritz precedence
12:31 * moritz too slow
12:31 masak moritz: precedence.
12:31 eiro m: say "the winner is " ~ ('a'..'z'.pick)
12:31 camelia rakudo-moar 11e193: OUTPUT«the winner is a b c d e f g h i j k l m n o p q r s t u v w x y z␤»
12:31 masak as in "comes first" :P
12:31 eiro arff ... forget
12:31 masak eiro: fail :P
12:31 masak everybody wins! \o/
12:31 eiro i'll try  i my vi
12:31 moritz m: say "the winner is" ~ ('a'..'z').pick
12:31 camelia rakudo-moar 11e193: OUTPUT«the winner isk␤»
12:32 masak eiro: "I don't want to understand the problem, I just want to fix it!"
12:32 hoelzro k is for kopy!
12:32 masak hoelzro: :D
12:32 * masak could go with :k
12:32 eiro oohhh! i see the precedence pb now! thanks!
12:33 eiro :kopy :) i love the idea
12:33 masak :k as in :keep
12:33 eiro :s for send (as :r is taken)
12:33 eiro :p for pass
12:33 zengargoyle :d for dup
12:34 masak eiro: :p is also taken.
12:34 eiro oh ... right
12:34 eiro dup is a nice idea as it's not in memory
12:35 nwc10 what is the current return value from s/// in perl 6?
12:35 eiro easy to remember
12:35 eiro nwc10, the result of the substitution (True or False)
12:35 masak nwc10: list of matches?
12:35 eiro Bool:D
12:35 zengargoyle $/ ?
12:35 masak eiro: only in bool context.
12:35 masak oh, in Perl 6.
12:35 masak m: say "foo" ~~ /foo/
12:35 camelia rakudo-moar 11e193: OUTPUT«「foo」␤␤»
12:35 masak m: $_ = "foo"; say s/foo/bar/
12:35 camelia rakudo-moar 11e193: OUTPUT«bar␤»
12:36 masak result string.
12:36 * psch points at https://github.com/rakudo/rakudo/pull/295#issuecomment-49851923
12:36 nwc10 in that, it's not clear that r is useful
12:36 masak nwc10: it is if you don't want to change $_
12:36 eiro so why is my code broken ? .oO( and did i make some noise for nothing )
12:36 nwc10 ah yes
12:36 psch to expand on that: spec has been updated to have s/// always return a Match object, the PR implements that
12:36 eiro dup seems to be perfect !
12:37 dalek roast/S26-WHY: ef3e966 | (Rob Hoelz)++ | S26-TODO:
12:37 dalek roast/S26-WHY: More notes
12:37 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/ef3e96610e
12:38 timotimo btyler: wow, i didn't expect you'd actually do it :)
12:45 carlin ha, so "well voluntered" actually works every now and then
13:03 thou joined #perl6
13:21 cooper_ joined #perl6
13:31 pmurias how should I switch my repo nqp-js to the hoelzro++ version rebased on top of current nqp?
13:33 moritz pmurias: you mean, completely replace your current stuff?
13:33 pmurias yes
13:34 pmurias hoelzro rebased my current stuff on top of a current nqp and added some commits to make it work
13:34 moritz pmurias: and is his stuff in the main nqp repo? or in a fork?
13:35 pmurias it's in his repo on github, mine is in my repo
13:35 moritz pmurias: git remote add hoelzro git@github.com:hoelzro/nqp.git
13:35 moritz pmurias: git fetch --all
13:36 moritz pmurias: git reset --hard hoelzro/master; git push --force
13:36 moritz pmurias: (assuming the branch is 'master' and the repo is 'nqp', not 'nqp-js' or some such)
13:42 dalek Heuristic branch merge: pushed 442 commits to nqp-js by pmurias
13:42 atrodo left #perl6
13:45 raiph joined #perl6
13:45 Ven hoelzro++ pmurias++ :)
13:55 pmurias hmm do we care about supporting nqp::pow_I($num, $big) where $num != 1|0 and $big is a number so big that it doesn't fit in a double?
13:56 moritz we might
13:57 moritz though it's a pretty simple simple mapping
13:57 moritz +- Inf
13:57 moritz (only -Inf if $big is odd and $num is negative)
13:57 pmurias is Inf a bignum?
13:57 moritz open question
13:58 pmurias in nqp
13:58 moritz we'd like our integers to be able to represent +-Inf
13:58 moritz in NQP, +-Inf are always "Num" (aka double)
13:58 thou joined #perl6
14:00 pmurias $big <= 5970554685064519000 is the point things currently break on 32bit sytems in nqp
14:01 pmurias * nqp-js
14:01 btyler timotimo: well, I wanted to play with nativecall, and getting something more-or-less working went rather quickly
14:02 btyler unfortunately there's a major race somewhere. some executions work great, others start spitting out undefined values once I index into the json a bit
14:02 moritz pmurias: I wouldn't worry about it until somebody submits a bug report :-)
14:02 psch pmurias: that breakage comes straight from bigint.js though
14:02 pmurias yes
14:02 Ven p6: say(999999999999999999999999999993425234523452345234523452345 / 100000000000000000000000000000000000000000000000000000)
14:03 camelia niecza v24-109-g48a8de3: OUTPUT«10000.000000000002␤»
14:03 camelia ..rakudo-{parrot,jvm,moar} 11e193: OUTPUT«10000␤»
14:03 psch i didn't figure out how libgmp does bigint in the exponent, or how bigint.js maps bigint in the exponent to libgmp though
14:03 Ven ruby gives me 9999.
14:03 hoelzro the branch is indeed nqp-js =/
14:03 hoelzro pmurias: did you get it to work?
14:03 pmurias hoelzro: yes
14:04 hoelzro great!
14:04 pmurias now running 'make test'
14:04 Ven python also gives 9999
14:04 tadzik with or without print?
14:04 Ven print
14:05 pmurias psch: bigint.js converts the exponent first to a js number and then to a unsigned integer of some sort
14:06 pmurias psch: but I think I'll just handle 1 ** ... and 0 ** ... specially for now
14:12 pmurias hoelzro: it fails some tests but I'm looking into that
14:26 hoelzro ok, cool
14:29 timotimo btyler: do the json_array_get and object_get return a JSON or do they return a JSON *?
14:30 dalek rakudo/nqp-dogfood: 397b4e4 | duff++ | tools/build/ (4 files):
14:30 dalek rakudo/nqp-dogfood: convert gen-cat.pl to nqp and use it
14:30 dalek rakudo/nqp-dogfood: review: https://github.com/rakudo/rakudo/commit/397b4e4df5
14:31 PerlJam [Coke]_: Have a look at the nqp-dogfood branch.  I haven't tested it thoroughly but it seems to work.  :)
14:31 btyler timotimo: they all return a JSON *
14:32 timotimo btyler: you may need to have that as returns CArray[JSON] then
14:32 btyler json_dumps is the only method I bound that doesn't return json_t * in jansson land
14:32 timotimo and wrap that c-level sub with a sub that just returns the [0]
14:33 btyler ok. why's that?
14:33 timotimo i'm not 100% sure if it'll help
14:33 btyler (my C chops are weak, looking to learn)
14:33 timotimo well, in C a pointer to something and an array of something is "the same thing"
14:33 btyler right
14:34 timotimo but a pointer to something and a struct of something isn't
14:34 btyler ah, ok
14:34 timotimo i'm not sure if nativecall is able to turn "returns JSON" into "needs a pointer dereference" properly
14:34 timotimo on the other hand:
14:34 btyler I originally had JSON is repr CPointer, but I needed access to the type struct member
14:34 timotimo if you have class JSON is repr CPointer
14:34 timotimo right, but you can do that with nativecast :)
14:34 btyler because jansson implements typeof as a bunch of macros that operate on the struct
14:34 timotimo you'll have a class JSONInternal is repr('CStruct')
14:34 btyler and nativecall can't see macros (I think)
14:35 timotimo that's correct, macros disappear when we only have the .so file
14:35 btyler would the mismatch between struct/pointer explain 'only sometimes' missing data?
14:36 timotimo could be
14:36 timotimo a pointer would be a 64bit int, your CStruct would probably have the $!type aligned to 32 or 64 bit
14:36 timotimo and the refcount is probably 64 bit as well - you are on a 64bit machine, are you not?
14:36 btyler yeah
14:37 btyler well, size_t, which nativecall doesn't have
14:37 treehug88 joined #perl6
14:37 btyler type is an enum member
14:37 timotimo jnthn: can you say something about that? if we have a class Foo is repr('CStruct'), do we need to annotate things that take Foo * in C as CArray[Foo]? or will nativecall magically infer "this needs to be a pointer" when passing and "this needs to be deref'd" when returning?
14:37 molaf joined #perl6
14:38 timotimo FROGGS would know about this, too -^
14:39 btyler hmm, CArray[JSON] and index-zeroing sounds like a recipe for out of bounds reading
14:39 timotimo you think so?
14:39 btyler most of those methods return an int of some kind if they fail
14:40 btyler excuse me, NULL
14:40 btyler but again, C newb :)
14:40 timotimo a NULL will be represented as a CArray type object
14:41 timotimo so you can .defined it
14:41 timotimo m: say Any[0]
14:41 camelia rakudo-moar 11e193: OUTPUT«===SORRY!===␤Type Any cannot accept type arguments␤»
14:41 timotimo m: my $foo; say $foo[0];
14:41 btyler oh ok
14:41 camelia rakudo-moar 11e193: OUTPUT«(Any)␤»
14:41 timotimo my Bool @test; say @test[0];
14:41 timotimo m: my Bool @test; say @test[0];
14:41 camelia rakudo-moar 11e193: OUTPUT«(Bool)␤»
14:42 timotimo if everything works fine, it'll give you a type object of your JSON struct class
14:42 btyler oh, cool
14:43 btyler well, having it be repr(CPointer) seems like a clearer indication of what's going on, so how do I use native cast to deref and access the struct members?
14:43 chenryn joined #perl6
14:43 btyler any good examples floating around github?
14:44 timotimo i have not yet tried NativeCast, but i assume it'd look something like my $as_struct = nativecast($the_thing, MyJSONStructClass); say $as_struct.type
14:44 timotimo nope
14:44 timotimo the signature is $target-type, $source
14:44 timotimo so switch the thing and the struct class
14:46 ribasushi joined #perl6
14:47 timotimo jnthn: the zavolaj TODO says "support callbacks"; can i remove that item from the list? how about "properly support sized types in structs/arrays", i don't know how much that entails
14:48 Woodi afternoon ppls :)
14:48 timotimo hey woodi, how are you today? :)
14:48 Woodi um, warm summer last few days :)
14:49 Woodi ppls started complaing on 2nd day
14:49 Woodi but I like it :)
14:49 timotimo :)
14:50 Woodi so, what's about R* lastly ? on probably was baked last week...
14:50 Woodi *one was...
14:50 timotimo avuserow is working on a R* release this month :)
14:50 Woodi any links ?
14:50 timotimo i think it will be ready this week, but you'd have to ask them personally
14:50 Woodi k, thanx
14:51 Woodi btw. that 800k patch was nice :)
14:51 timotimo definitely. good eye on that bug, i must say
14:55 Woodi btw2., lastly I was reading about grsecurity/Pax (a very small bit) and one of problems with that stuff is that JITted software do not work, need to be "marked" with special script... If we assume traditional *nixes are a bit old and new security stuff *should* be default then maybe JITs should be programmed with some awareness ? </handwaving>
14:58 timotimo that may be simple to do, but it might also be a policy thing whether or not to allow things like the moarvm jit
14:59 timotimo it can be enabled/disabled at configure time (and with an environment variable, but that's not worth much in this context)
15:00 TimToady if you run into that situation, you just turn your jit into a normal compile-time optimizer, maybe with feedback from previous runs :)
15:01 Ven eh, I can't remember the name of the ruby tool that did that.
15:04 hoelzro Ven: did what?
15:04 Ven specialization based off previous program run
15:05 hoelzro oh, that's a new one to me...
15:05 Woodi TimToady: oo, yes, forbide all that TooLateCalculations and just save apprun profile :) something like tweaking SQL queries maybe ?
15:06 timotimo gcc can compile a profiling thingie into your application to aid a later compilation with branch prediction
15:06 Akagi201 joined #perl6
15:07 Woodi data is gathered runtime ?
15:07 timotimo yes
15:08 Woodi for some years I wish to have Perl6 C backend ;)
15:08 Ven you're wishing somebody a lot of pain
15:08 timotimo i read a good article on why a perl c backend would be useless
15:09 Ven link it then! :)
15:09 Woodi yes, pleas :)
15:11 timotimo http://www.perl.com/pub/2001/06/27/ctoperl.html
15:12 Woodi btw, just something hit me... there are cars with turbo which adds some horsepower above some rpm's... but that turbo cars have some user experienced "lag" just before turbo turns on... so there are twin turbo cars, they are much better... so maybe double JIT ? one turning on faster and second later ? :)
15:12 Woodi reading :)
15:12 Ven timotimo: ah, I wasn't thinking about speed. It's just nice to be able to compile something and distribute that.
15:12 Ven Woodi: FWIW, some JS engines have around 3 or 4 "JITs" (or stage-optimizers) :P
15:13 timotimo Woodi: there's jits that will only mildly optimize something that's only mildly warm and then re-optimize with more "power" when it's considered hot
15:13 Woodi damn, patents probably already pending ? :)
15:13 TimToady Damn the patents, full speed ahead!
15:14 timotimo TimToady: unfortunately, "full speed ahead" is patented
15:14 timotimo as is "damn the patents"
15:15 timotimo also, you'll need to stop calling yourself "Larry Wall", there's a patent on that, too
15:15 TimToady what about the comma?
15:15 timotimo comma's fine, but not the colon.
15:17 TimToady hoelzro: on your question, I just meant that there's a newline like in normal pod where a paragraph might contain a newline; that's not intended to prevent normal paragraph reflow
15:17 hoelzro ah ha
15:17 hoelzro ok, that sounds good to me!
15:19 Woodi ok, so reading article from link above and including that prepatented thingies, the only way to have good speed ups is to build custom software...
15:19 timotimo no, you can have jit compilers :)
15:19 Woodi can I have patent on "custom software" pls ? ;)
15:19 Woodi gene
15:20 Woodi ..ral programmers can do "general programming" ;)
15:20 Woodi it's Apple patented square ? :)
15:21 [Coke]_ PerlJam++ # (nqp-dogfood) awesome!
15:28 dalek rakudo-star-daily: fbfd206 | coke++ | log/ (14 files):
15:28 dalek rakudo-star-daily: today (automated commit)
15:28 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/fbfd206777
15:28 dalek perl6-roast-data: b654aca | coke++ | / (5 files):
15:28 dalek perl6-roast-data: today (automated commit)
15:28 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/b654aca8ed
15:29 TimToady p6: say "{.perl}" given 1/2
15:29 [Coke] java: 20 failures; moar: clean; parrot: 1791
15:29 camelia rakudo-parrot 11e193, niecza v24-109-g48a8de3: OUTPUT«0.5␤»
15:29 camelia ..rakudo-{jvm,moar} 11e193: OUTPUT«Nil␤»
15:29 TimToady did anyone file this bug ^^
15:30 TimToady (found by grondilu++)
15:30 timotimo m: say $_ given 1
15:30 camelia rakudo-moar 11e193: OUTPUT«1␤»
15:30 timotimo m: say $_ given "hello"
15:30 camelia rakudo-moar 11e193: OUTPUT«hello␤»
15:30 timotimo m: say $_ given 1/2
15:30 camelia rakudo-moar 11e193: OUTPUT«0.5␤»
15:30 timotimo m: say "{$_}" given 1/2
15:30 camelia rakudo-moar 11e193: OUTPUT«␤»
15:30 timotimo m: say "{$_.perl}" given 1/2
15:30 camelia rakudo-moar 11e193: OUTPUT«Nil␤»
15:30 timotimo yeah, that's strange
15:31 TimToady m: say "{OUTER::<$_>.perl}" given 1/2
15:31 camelia rakudo-moar 11e193: OUTPUT«Nil␤»
15:31 timotimo m: say "$_.perl()" given 1/2
15:31 camelia rakudo-moar 11e193: OUTPUT«0.5␤»
15:32 raiph joined #perl6
15:32 timotimo the code we generate for that is quite terrible %)
15:34 TimToady m: given 1/2 { {.perl.say} }
15:34 camelia rakudo-moar 11e193: OUTPUT«0.5␤»
15:34 timotimo in the qast, we call the block that contains $_.perl with p6capturelex and refer to the $_ via getlexouter("$_")
15:34 timotimo no clue if that's correct or not
15:36 TimToady 私も…
15:37 [Coke] ... I plugged that into google translate, which was still set on translating into spanish; thankfully it was preschool spanish. :)
15:42 carlin ahau ano hoki
15:43 ventica joined #perl6
15:44 TimToady Maori, eh?
15:52 carlin Te Reo is part of the NZ school curriculum, but I barely remember any of it. Remember more of the German I learned for a year
15:54 slavik joined #perl6
15:56 chenryn joined #perl6
16:03 iarna joined #perl6
16:13 TimToady perhaps, instead of cluttering options space, we could just mixin a .result attribute to the Match returned by s///
16:14 TimToady not sure what the performance hit would be...
16:14 TimToady but might be worth it for cleanliness
16:18 TimToady also, decouples the fetch from the s///, like this: when s/// -> $s { say $s.result }
16:19 TimToady or my $s = $foo ~~ s///; say $s.result;
16:21 TimToady feel free to bikeshed something shorter than .result
16:21 TimToady .got maybe
16:21 PerlJam What does .result return exactly?
16:22 PerlJam (and where is the beginning of this discussion?)
16:22 TimToady .r if you want to hark to p5's s///r
16:22 PerlJam oh, so $foo didn't get modified in your example?
16:23 TimToady oh, good question
16:23 TimToady hmm
16:24 TimToady yeah, that's a problem
16:24 * TimToady goes to get more (obviously needed) coffee
16:25 pmurias don't we have none destructive substitution with .subst? why do we need /r?
16:26 iarna joined #perl6
16:26 pmurias *non-destructive
16:27 PerlJam indeed.
16:28 TimToady well, .subst is kinda ugly on replacements using $0 etc.
16:30 ventica m: [*] ^7
16:30 camelia rakudo-moar 11e193: ( no output )
16:30 ventica m: [*] 1..7
16:30 camelia rakudo-moar 11e193: ( no output )
16:30 TimToady say
16:30 ventica derp
16:30 ventica m: say [*] ^7
16:30 camelia rakudo-moar 11e193: OUTPUT«0␤»
16:30 ventica m: say [*] 1..7
16:30 camelia rakudo-moar 11e193: OUTPUT«5040␤»
16:30 ventica why?
16:31 TimToady 0 *
16:31 ventica ^7 is shorthand for 1..7 no?
16:31 PerlJam m: say ^7
16:31 camelia rakudo-moar 11e193: OUTPUT«0..^7␤»
16:31 ventica oh
16:31 ventica m: say 0 [*] ^7
16:31 camelia rakudo-moar 11e193: OUTPUT«0␤»
16:31 ventica hrm
16:31 ventica oh
16:31 ventica haha
16:31 ventica righ
16:31 * ventica crawls back under rock
16:31 * grondilu is surprise 0 [*] ^7 is valid syntax
16:32 * PerlJam too
16:32 grondilu *d
16:32 btyler timotimo: I added the struct representation and access it via nativecast (so cool!) but sadly the race stuff is still there
16:32 grondilu std: 0 [*] ^5
16:32 TimToady m: say 1 [[[[[+]]]]] 1
16:32 camelia std 0f2049c: OUTPUT«Potential difficulties:â�¤  Useless use of [] around infix op at /tmp/kM82UNhlIz line 1:â�¤------> [32m0 [33mâ��[31m[*] ^5[0mâ�¤ok 00:01 123mâ�¤Â»
16:32 camelia rakudo-moar 11e193: OUTPUT«2␤»
16:32 btyler the weirdest thing is that it races between accesses during the same program run
16:33 grondilu std: 0 * ^5
16:33 camelia std 0f2049c: OUTPUT«ok 00:01 123m␤»
16:33 grondilu m: say 0 * ^5
16:33 btyler ie my $foo = $json.get(0).get("tags").get(0); say $foo for 1 .. 15;
16:33 camelia rakudo-moar 11e193: OUTPUT«0␤»
16:33 btyler it's uninitialized a few times early on
16:33 btyler then the data suddenly appears
16:33 grondilu m: say 0 * 1..2
16:33 camelia rakudo-moar 11e193: OUTPUT«0..2␤»
16:33 TimToady I don't know why you think that's so mysterious, scalar ^5 is just 5
16:33 grondilu oh
16:33 grondilu indeed
16:33 TimToady m: say + ^5
16:33 camelia rakudo-moar 11e193: OUTPUT«5␤»
16:34 TimToady m: $_ = 41; $_ [[[[[+]]]]]= 1; .say
16:34 camelia rakudo-moar 11e193: OUTPUT«42␤»
16:34 ventica O.o
16:35 TimToady S03:4945
16:35 synopsebot Link: http://perlcabal.org/syn/S03.html#line_4945
16:37 PerlJam ah
16:37 TimToady so by definition, infix + can be replaced by [+], producing another infix, and since that's an infix, can be replaced by [[+]]
16:37 TimToady note it's very carefully stated to be in that direction
16:37 TimToady [+] is not always an ordinary infix
16:37 TimToady a reduction, for instance, or in the &[+] construct
16:37 TimToady neither of those are infixes
16:38 timotimo btyler: did you add lots and lots of debug output? :)
16:38 TimToady but the [&foo] construct is an infix, so you can reduce with [[&foo]]
16:39 fhelmberger joined #perl6
16:39 TimToady m: say [[&atan2]] 1,1
16:39 camelia rakudo-moar 11e193: OUTPUT«0.785398163397448␤»
16:39 btyler timotimo: I haven't started adding any to jansson itself yet, that seems like the next step
16:40 timotimo ah, ok
16:40 TimToady m: say [[[[&atan2]]]] 1,1
16:40 camelia rakudo-moar 11e193: OUTPUT«0.785398163397448␤»
16:40 TimToady but not:
16:40 * timotimo installs jansson
16:40 TimToady m: say [&atan2] 1,1
16:40 camelia rakudo-moar 11e193: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/wj1TXGrpeHâ�¤Two terms in a rowâ�¤at /tmp/wj1TXGrpeH:1â�¤------> [32msay [&atan2] [33mâ��[31m1,1[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infi…»
16:41 TimToady m: say [&atan2].WHAT
16:41 camelia rakudo-moar 11e193: OUTPUT«(Array)␤»
16:41 TimToady m: say [*].WHAT
16:41 camelia rakudo-moar 11e193: OUTPUT«(Int)␤»
16:43 AndChat-188244 joined #perl6
16:46 dmol joined #perl6
16:47 timotimo btyler: could you push your stuff so i can test it, too?
16:47 btyler timotimo: yep, just a minute ago
16:47 btyler https://github.com/kanatohodets/p6-json-jansson
16:48 btyler starting to printf-ify jansson
16:48 btyler using the most recent jansson release tag (v2.6)
16:48 timotimo also, what's the flag you pass to json_loads?
16:49 btyler JSON_DECODE_ANY: parse plain values, not only JSON objects
16:49 btyler was mostly for testing, could probably remove it now
16:49 timotimo OK
16:49 btyler https://jansson.readthedocs.org/en/2.6/apiref.html great docs
16:50 timotimo that outputs "quis" 15 times for me
16:50 btyler every time?
16:50 denis_boyun_ joined #perl6
16:50 btyler hmmm
16:51 btyler I almost always get at least one "use of uninitialized value of type Str in string context ..."
16:51 btyler usually >1
16:51 timotimo huh
16:51 timotimo yes, i get that every time, too :\
16:51 btyler well, at least it isn't a platform related issue :)
16:51 timotimo have to go afk for a bit
16:51 btyler ok, I'll keep poking
16:53 btyler oh jeez, it's even crazier: I bumped up the count and saw "quis" followed by uninitialized followed by more quis
17:02 FROGGS joined #perl6
17:02 Rotwang joined #perl6
17:06 FROGGS timotimo: I think the answer is: NativeCall will know
17:11 timotimo FROGGS: it would be fantastic if you could help btyler out while i commute around; https://github.com/kanatohodets/p6-json-jansson
17:12 FROGGS btyler: I can just clone and will run into the said issue?
17:13 btyler FROGGS: yep
17:13 btyler well, and install libjansson
17:13 btyler https://github.com/akheron/jansson
17:13 timotimo yeah, perl6 examples/jansson.p6
17:13 dalek rakudo/nom: 509b1a4 | duff++ | src/core/Temporal.pm:
17:13 dalek rakudo/nom: RT #121990 DateTime/Date smartmatching
17:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/509b1a4e9d
17:13 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=121990
17:14 btyler oh, hmm, might have been missing a flag to json_dumps
17:14 btyler splattered fprintfs all over jansson's innards
17:15 btyler yep! I was missing the ENCODE_ANY flag to json_dumps
17:15 btyler deeply weird that it ever succeeded
17:17 FROGGS ewww, do I need sphinx?
17:18 timotimo of course not
17:18 btyler I think that's just if you want to generate the docs yourself
17:18 btyler here they are: https://jansson.readthedocs.org/en/2.6/apiref.html
17:18 btyler anyways, I just pushed and it seems to be happy now
17:19 btyler I don't understand why it ever allowed spitting out single values when that flag was off
17:19 btyler oh! actually
17:19 btyler I didn't even specify that flag
17:19 btyler so it was uninitialized
17:19 timotimo yeah
17:19 btyler doh
17:19 timotimo you gave it a b0rked stack :)
17:19 timotimo (maybe)
17:19 btyler awesome
17:19 btyler that makes sense
17:20 timotimo oh, it probably expected to have the argument passed via a register
17:20 timotimo in which case ... yeah ... :)
17:20 btyler well, timotimo, once I hook this up to a p6 data structure, it ought to be fast enough for whatever you had in mind
17:20 btyler parses 'big.json' (about 10 megabytes) in under 2 seconds on my machine
17:20 timotimo neato
17:21 timotimo i hope our json::tiny will get at least somewhat close to that speed
17:21 btyler of course
17:22 btyler jeez, NativeCall kind of blows my mind. hooking that up was so easy
17:23 timotimo yeah, nativecall's interface is pretty darn awesome
17:24 FROGGS as if it was properly designed :o)
17:24 FROGGS ha carlosdelrey! we have awesome things!
17:25 btyler time to make bindings to *all* the libraries
17:26 timotimo %)
17:26 timotimo does nativecall already know about Buf?
17:33 vendethiel joined #perl6
17:35 dalek roast: d5bf9b7 | duff++ | S32-temporal/DateTime.t:
17:35 dalek roast: Add a couple of tests for RT 121990
17:35 dalek roast: review: https://github.com/perl6/roast/commit/d5bf9b7f44
17:36 avuserow btyler++ # JSON::Jansson
17:37 * avuserow found nativecall really awesome for what it supported, but quickly ran into unsupported areas
17:37 btyler avuserow: not quite there yet in terms of usability (you just index into the json blob with .get(key)), but hopefully it will be soon
17:37 FROGGS timotimo: I don't think so... it knows about null terminated strings and CArrays of certain size... Buf needs a length, and that is the missing bit
17:39 avuserow btyler: sure, but you're getting started and trying out nativecall, which is worthwhile already IMO
17:44 [Sno] joined #perl6
17:45 Jimmy2 joined #perl6
17:46 gfldex joined #perl6
18:03 eiro anyone used to nativecall can help? https://github.com/eiro/p6-lab/blob/master/girepo.p6
18:04 eiro i commmented the source with the stderr and why i'm confused
18:04 eiro (and yes: i want to implement a complete gtk binding)
18:05 FROGGS eiro: let's see
18:06 FROGGS eiro: don't make it a method on a class
18:06 eiro just a sub ?
18:06 FROGGS yes
18:06 eiro ok. trying
18:07 FROGGS when you call a method on a class the class (or the class' instance) will be passed as the first argument, similar to perl 5
18:07 timotimo i'm glad jansson also offers an iterator thingie
18:07 FROGGS that's why you get that message that (GIRepository) was passed
18:07 btyler timotimo: yep, just got that going :)
18:07 PerlJam Well ... the method should work, he just shouldn't have passed an arg to the sub that's not expecting any.
18:08 FROGGS btyler: somehow it can't find the libjansson.so even when I made a symlink to /usr/lib/libjansson.so
18:08 PerlJam eiro: my take ... you declared g_irepository_get_loaded_namespaces to take no parameters, yet you passed one when you called it.
18:09 FROGGS ohh
18:09 eiro FROGGS, that's why i used (self) as argument. it was logic for me that gobject_call became gobject.call
18:09 PerlJam Though the error message is slightly LTA
18:09 FROGGS eiro: PerlJam is right
18:09 FROGGS I didn't read the source right
18:09 timotimo btyler: sweet!
18:10 eiro googling "LTA", please wait
18:10 btyler "less than awesome"
18:10 FROGGS less than awesome
18:10 FROGGS when you get an error message that says something completely different that what you made wrong... like when internal informations are shows that have not much todo with your code
18:11 eiro would i look stupid if i admit i don't have a clue about the PerlJam's line meaning ?
18:11 PerlJam eiro: who cares?!?  :)
18:11 btyler no worries, I spent a bunch of time similarly confused with NativeCall :)
18:11 btyler just yesterday
18:11 eiro :)
18:11 FROGGS eiro: sub g_irepository_get_loaded_namespaces () takes no arguments, so don't pass self to it
18:11 eiro oohhh! right
18:12 PerlJam being confused by NativeCall is a rite of passage for those that would use it to great effect  :)
18:12 eiro it works! damn
18:12 FROGGS nice :o)
18:13 eiro thank you so much guys!
18:13 FROGGS PerlJam: but to be fair it is easier to get confused with XS :o)
18:13 eiro right: i was so impressed by XS code i never had the courage to dive in it
18:14 btyler ^ same
18:14 eiro nativecall is so engaging i felt dumb not to try
18:14 PerlJam FROGGS: I dunno ... XS has much more documentation around it these days as compared with NativeCall.
18:14 Ven joined #perl6
18:14 FROGGS it is "just" a very mature C and macro mixup
18:15 eiro but now i have to read the XS code to understand what's the next steps of my program :)
18:15 FROGGS PerlJam: yes, but also you need like 400 pages to describe XS where you only need five to describe NativeCall
18:15 FROGGS :o)
18:15 PerlJam true.
18:15 TimToady part of the XS problem is that it essentially reveals all the internals of P5 as the api
18:15 eiro it seems FROGGS is comparing perl and python
18:16 telex joined #perl6
18:16 FROGGS eiro: no, I don't know any python
18:16 FROGGS I am talking about these things: http://perldoc.perl.org/perlguts.html#Assigning-Magic
18:17 eiro i was joking about the number of lines of codes :)
18:17 PerlJam FROGGS: I think he meant that, in a similar manner, it takes 500 pages to explain Perl and only 5 to explain Python :)
18:17 FROGGS ahh
18:18 FROGGS well, I have to believe you guys :o)
18:18 eiro FROGGS, which one of us ? because we have 2 opposite perspective sightly
18:18 raiph joined #perl6
18:18 FROGGS TimToady: and rakudo's extops are one step into having XS again :P
18:19 FROGGS eiro: I just believe everything about Python from now on *g*
18:19 eiro :)
18:20 FROGGS I just know Python from the RosettaCode examples.... and mostly these are a WAT to me
18:20 eiro WAT?
18:20 TimToady well, the pythonistas are obvlivious to the fact that their REPL is not a good thing to show off on RC
18:20 TimToady eiro: you need to see S99 for these things
18:20 PerlJam someone should teach one of the bots to give out definitions
18:21 eiro like the awesome talk about javascript and ruby awesomeness ?
18:21 TimToady http://perlcabal.org/syn/S99.html
18:21 TimToady but yeah, the awesome talk about WAT
18:22 eiro https://www.youtube.com/watch?v=Othc45WPBhA
18:22 eiro i would like to be a so entertaining speaker!
18:22 TimToady https://www.destroyallsoftware.com/talks/wat  <-- that one
18:22 eiro yep
18:22 FROGGS ohh, then I'd choose to be like rjbs :o)
18:24 eiro TimToady, thanks for the link: starting reading.
18:24 eiro what RC is?
18:24 Alula_ joined #perl6
18:24 TimToady RosettaCode
18:24 FROGGS .org
18:24 eiro ooohhh ok
18:25 eiro we need the #perlfr bot here: it helps a lot for defititions
18:25 TimToady though I see the glossary has Request Context fo rthat
18:25 eiro release candidate here
18:28 dalek specs: 6f53541 | TimToady++ | S99-glossary.pod:
18:28 dalek specs: add RC === RosettaCode
18:28 dalek specs: review: https://github.com/perl6/specs/commit/6f535410be
18:28 TimToady ooh, that too
18:29 [Coke] jnthn: did you see I posted a one liner that shows at least part of the parrot breakage?
18:30 dalek specs: 4634ae4 | TimToady++ | S99-glossary.pod:
18:30 dalek specs: RC = Release Candidate
18:30 dalek specs: review: https://github.com/perl6/specs/commit/4634ae4274
18:31 MilkmanDan joined #perl6
18:32 cognominal joined #perl6
18:35 yogan joined #perl6
18:45 cognominal joined #perl6
18:45 japhb_ Are there any Perl 6
18:46 japhb_ 'ers that will be in the Dublin area mid-September?
18:46 FROGGS not me
18:46 japhb_ (I'll be there the week of Sept 15-19, and wondering if I should stay around for a meetup ...)
18:46 * jnthn probably won't even be in Europe then
18:46 japhb_ Don't tell me you'll be in the United States ....
18:47 cooper- joined #perl6
18:48 jnthn No :)
18:49 japhb_ timotimo, FROGGS: You're lucky I happen to have seen a highlight here.  You both said things in my direction recently, but since I don't backlog #perl6, I would have missed them (yoleaux FTW ... now if we just had it in #moarvm).
18:49 japhb_ In any case ...
18:50 japhb_ timotimo: Yes, we can change the work calculation for parse-json to incorporate the file length.  For doing lots of different json files, I'd just do all of them and sum, as a first approximation.  Otherwise ETOOMUCHDATA
18:51 japhb_ And yes, a match-json (your parse-json-no-actions) test sounds like a good idea.  Care to make it?  :-)
18:52 japhb_ The >>.foo versus .map: *.foo comparison sounds interesting
18:52 woolfy japhb: I know that Tim Bunce lives in county Limerick, which hardly is "the Dublin area".
18:52 dalek nqp: 2a9c45d | jnthn++ | src/ (2 files):
18:52 dalek nqp: Avoid a closure per NFA evaluation.
18:52 dalek nqp:
18:52 dalek nqp: We achieve this by a re-think of how we work with the NFA cache. Needs
18:52 dalek nqp: a patch to the Rakudo MOP also for its regexes/grammars to work with
18:52 dalek nqp: this change. For CORE.setting this saves a dozen GCs from the code
18:52 dalek nqp: objects produced alone.
18:52 virtualsue joined #perl6
18:52 dalek nqp: review: https://github.com/perl6/nqp/commit/2a9c45d74c
18:52 japhb_ It would want my long-term idea of being able to overlay multiple plots (to compare different tests)
18:53 japhb_ woolfy: Ah, interesting.
18:54 woolfy japhb: lizmat and I will be just back from the Swiss Perl Workshop (5&6 Sept) and we might go to YAPC::brasil (19&20 Sept).  We did not give going to Dublin area much thought yet.  Any reason we should?
18:55 woolfy (Tim is of course not really a Perl  6-er)
18:56 dalek rakudo/nom: c9ad800 | jnthn++ | src/Perl6/Metamodel/MethodContainer.nqp:
18:56 dalek rakudo/nom: Support extended NFA cache API.
18:56 dalek rakudo/nom:
18:56 dalek rakudo/nom: This supports Cursor optimizations recently made in NQP.
18:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c9ad800567
18:56 cooper_ joined #perl6
18:56 japhb_ woolfy: No, nothing in particular.  Just if there was a hive of 6'ers there, I'd visit it.
18:56 japhb_ And yeah, knew Tim was not a heavy 6er
18:57 eiro what is an enum for NativeCall ?
18:57 jnthn S17-supply/batch.t (I think) is insanely slow.
18:58 jnthn uniq.t too
18:58 woolfy japhb: lizmat and I are always in for a visit to Ireland, specifically county Clare and surroundings, so now I am disappointed that you don't give me a special reason...
18:58 PerlJam woolfy: to see japhb!  Maybe in a pub.  :)
18:58 japhb_ timotimo: Ah, reading on, I can see that you *did* create a new JSON parsing test, thank you.  From your graph, it looks like it does more to improve rakudo-moar than nqp-moar, relatively speaking.
18:58 TimToady hmm, compiling Test.pm: Cannot find method 'cache_get'
18:59 rurban joined #perl6
18:59 japhb_ It'll be my first time in Ireland, actually.
18:59 jnthn Guess who doesn't ready commit messages :P
18:59 jnthn *read
18:59 cognome joined #perl6
18:59 cognominal__ joined #perl6
18:59 jnthn TimToady: Just git pull; the Rakudo patch the NQP one needed is in now too
19:00 cognominal joined #perl6
19:00 japhb_ FROGGS: Ah, yes, being able to have better control of the scaling than just linear or doubling seems useful.  I've particular thought that it might be nice to handle n**2 and n**3 algorithm scaling sanely.
19:01 FROGGS +1
19:01 FROGGS :o)
19:01 rurban joined #perl6
19:01 TimToady jnthn: wasn't clear from that at what point it applied inside rakudo
19:01 SevenWolf joined #perl6
19:02 Ven joined #perl6
19:02 TimToady should it be faster on compiing rakudo's CORE.setting?  doesn't seem to be offhand
19:04 jnthn Here it was around 1.5s faster for me.
19:04 trick joined #perl6
19:11 vendethiel m: say so (5 & 7).is-prime
19:11 camelia rakudo-moar 509b1a: OUTPUT«True␤»
19:12 laz3r1c0m joined #perl6
19:12 laz3r1c0m Hola, mis SaludOS
19:12 laz3r1c0m tenia una pregunta, estoy siguiendo un curso y me quedo estancado en las referencias
19:13 laz3r1c0m no entiendo del todo bien el concepto de las referencias
19:13 laz3r1c0m si una referencia hace mencion al lugar de memoria de otro valor, en que se diferencia de una variable, al fin de todo la referencia contiene el valor de memoria
19:13 laz3r1c0m de la otra variable
19:14 laz3r1c0m pero no entiendo el uso que se le da a la misma
19:14 FROGGS laz3r1c0m: I might be able to help if you wrote in english
19:15 cognominal joined #perl6
19:15 laz3r1c0m oh sorry
19:15 laz3r1c0m okay i will try it
19:15 FROGGS I could translate a bit using google translate
19:15 laz3r1c0m I was studing perl and i cant understand very well the references part
19:16 FROGGS laz3r1c0m: is that Perl 5 you are talking about or Perl 6?
19:16 vendethiel (that's perl 5, not perl 6)
19:16 pecastro joined #perl6
19:16 FROGGS that matters a lot and this here is a Perl 6 specific channel
19:16 laz3r1c0m Look i think like this: " If a reference is a memory direction of a variable, why i should use a direction of memory instead of a direct value "
19:17 FROGGS laz3r1c0m: are you talking about Perl 5 or 6?
19:17 laz3r1c0m sorry my ignorance, i think
19:17 laz3r1c0m i still talking about perl 5
19:17 eiro any "use warnings qw( FATAL )" in perl6 ?
19:17 FROGGS for Perl 5 please go to irc.perl.org #perl-help
19:18 laz3r1c0m Thank you FROGGS!
19:18 FROGGS laz3r1c0m: sorry I can't help :/
19:18 vendethiel well, you're free to learn about Perl 6 in the process, too :)
19:18 eiro definitly :)
19:18 FROGGS eiro: m: use fatal; say "{Any}"; # dunno what is fatal with this pragma
19:18 laz3r1c0m No matter, thanks for give me the right side to ask : )
19:18 FROGGS err
19:18 FROGGS m: use fatal; say "{Any}"
19:18 camelia rakudo-moar 509b1a: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/appNSbAmCe:1␤␤␤»
19:19 FROGGS m: use fatal; say "{Any}"; say "alive"
19:19 camelia rakudo-moar 509b1a: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/en5bm2oJ9a:1␤␤␤alive␤»
19:19 laz3r1c0m left #perl6
19:19 eiro exactly what i need! thanks
19:19 vendethiel oh.
19:19 vendethiel m: try { say "{Any}" CATCH { default { say "got it" } }; say "alive" };
19:19 camelia rakudo-moar 509b1a: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0RacuOxtuYâ�¤Two terms in a rowâ�¤at /tmp/0RacuOxtuY:1â�¤------> [32mtry { say "{Any}" [33mâ��[31mCATCH { default { say "got it" } }; say [0mâ�¤    expecting any of:â�¤        postfixâ�¤        â€¦Â»
19:20 vendethiel m: try { say "{Any}"; CATCH { default { say "got it" } }; say "alive" } # try implies use fatal
19:20 camelia rakudo-moar 509b1a: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/rCF3Sfzsgi:1␤␤␤alive␤»
19:20 vendethiel uh?
19:20 FROGGS ?
19:20 hoelzro did anyone else see that R* "1.0" post on proggit?
19:20 vendethiel I thought `try` implied `use fatal`
19:20 eiro ok. i try with the debuger
19:23 FROGGS hoelzro: I did
19:24 eiro and found the error: i don't know how to test/set a NULL repr('CStruct')
19:25 hoelzro FROGGS: I think it's someone trolling =/
19:25 hoelzro mainly because it's talking about 1.0 and it's pointing to a 4-year old post =(
19:25 FROGGS eiro: OpaquePointer.new should give you a NULL pointer, and then you can cast it to that struct
19:25 btyler hoelzro: carlosdelray is educated_foo's troll account, he's been particularly active lately
19:25 hoelzro ah ha
19:25 btyler see "rakudo jvm put out to pasture" in /r/perl
19:25 FROGGS eiro: though, casting *to* the struct should happily explode
19:26 btyler just silly stuff
19:26 FROGGS hoelzro: I know he's just trolling, but I can still reply with useful informations for other readers
19:26 hoelzro that's true
19:27 eiro FROGGS, i'll defer this problem by not handling errors for the moment :) i'm so impatient to have a gtk container loaded ...
19:28 FROGGS *g*
19:28 FROGGS that's a good attitude
19:30 cognominal joined #perl6
19:35 cognome joined #perl6
19:35 dwarring joined #perl6
19:40 rurban joined #perl6
19:41 ChoHag What would I need to do (install and follow the development of (and anything else?)) to switch to building rakudo without the --gen-* flags?
19:42 ChoHag And btw threading in moar seems to work despite the code I'm throwing at it.
19:42 hoelzro ChoHag: you'll need a VM (such as Parrot or Moar) and NQP
19:45 cognominal joined #perl6
19:51 kurahaupo joined #perl6
19:57 cognominal__ does Perl 6 expose an abstraction similar to mktemp(3) or tmpfile(3)?
19:58 cooper_ joined #perl6
19:59 jnthn I think I recall IO::Spec in CORE having something along those lines
19:59 hoelzro there's tmpdir
20:00 hoelzro but interestingly enough, no mktemp =/
20:00 cognominal joined #perl6
20:00 cognominal__ I see a $*TMPDIR in S16
20:01 nbrown joined #perl6
20:01 rurban joined #perl6
20:01 geekosaur mktemp(3) is considered insecure and obsolete these days
20:02 PerlJam cognominal__: https://github.com/perlpilot/p6-File-Temp/
20:03 cognominal__ thx
20:04 PerlJam (panda is your friend too... panda install File::Temp :)
20:05 cognominal__ m: say $*TMPDIR
20:05 camelia rakudo-moar c9ad80: OUTPUT«IO::Path</tmp>␤»
20:06 cognominal__ Perljam, yes, with moar, it is not unbearably slow anymore.
20:06 PerlJam indeed, moar++
20:10 cognominal__ moar++, jnthn++  # chromatic whines on reddit, but there is a time for doing architectural work and a time for fixing bugs. Anyway performancewise, jnthn's work is already paying off and I hope even more so in a few months.
20:11 vendethiel well, spending ten years on some project to see it "go sleeping" might be frustrating, uh.
20:11 vendethiel the journey is often more interesting; though
20:13 cognominal__ jnthn was the prince who waked up the sleeping beauty  :)
20:13 TimToady well, unresolved technical debt sometimes produces unresolvable cultural debt
20:17 cognominal joined #perl6
20:20 vendethiel it definitely does -- who in their right mind would maintain *that* ?
20:20 vendethiel ;-)
20:20 TimToady well, nobody in their right mind would maintain *this* either, but we'll leave that be :)
20:21 PerlJam chromatic's problem IMHO, is really one of synchronicity.  He and Perl6 fell out of sync and from his perspective, it's all "our fault"  (at least that's how it always seems when he comments about p6 these days)
20:23 TimToady well, I'm not interested in burning anyone's bridges for them, they can do that themownselves
20:23 pmurias joined #perl6
20:24 TimToady Damaged soldiers should not be considered enemy combatants.
20:25 PerlJam chromatic: If you're still watching us from afar, o/  *hug*  :-)
20:26 pmurias he does have some valid points, but he is likely bitter from doing a lot of boring work for nothing
20:27 * lizmat is catching up on backlog of ~ 8 days
20:27 cognominal__ well, my comment was probably inappropriate.
20:28 lizmat [Coke]: wrt to throws_like: are you implying that if any of the subtests is correct, the "todo" will be marked as passed ? (even if other subtests fail?)
20:29 lizmat m: say "Life, the Universe and Everything".WHY   # just checking
20:29 camelia rakudo-moar c9ad80: OUTPUT«42␤»
20:30 iarna joined #perl6
20:30 TimToady m: say "Life, the Universe, and Everything".WHY
20:30 camelia rakudo-moar c9ad80: OUTPUT«(Any)␤»
20:32 lizmat TimToady: would that be an English / US grammar distinction?
20:32 lizmat or is that comma needed always ?
20:32 TimToady no, that would be correct vs incorrect :)
20:32 cognominal joined #perl6
20:32 lue If you're are interested in clarity of written statements, the oxford comma is always correct :)
20:32 TimToady it's a subject of much debate, but I much prefer the form with the comma because it's less ambiguous, and that's where you put a pause when speaking
20:32 lue *you are
20:33 denis_boyun_ joined #perl6
20:33 TimToady so it's linguistically correct too
20:33 jnthn And sometimes it can change the meaning of things quite dramatically :D
20:33 lizmat in Dutch, having a comma before an "and" is considered incorrect
20:33 lue TimToady: same here. There's a song title that confused me for a while until I realized it was missing that final comma, for instance :)
20:33 lizmat that much I remember from Dutch class in high school, at least  :-)
20:33 * PerlJam idly wonders if that easter egg will make it to the changelog since it's clearly the subject of several commits ;)
20:34 TimToady well, maybe the Dutch teachers were also wrong :)
20:34 PerlJam .oO( What do the Dutch know about English anyway?  ;)
20:34 TimToady there've certainly been enough proscriptive/prescriptive English teachers
20:34 lue Dutch is just a strange mixture of English and German anyway :P
20:34 lizmat PerlJam: I mean in Dutch, a comma before an "en" (which is the Dutch equivalent of "and")
20:34 * TimToady also is firmly in favor of logical quoting
20:35 TimToady the typesetters union notwithstanding
20:36 jnthn The thing that burned the Oxford comma rule into my brain was the "We invited the strippers, JFK and Stalin" one :) I'll leave those of you curious enough to search for the illustration that made it unforgettable. :P
20:37 lue TimToady: "I am saying a full sentence." he said. instead of "I am saying a full sentence," he said.  ? I prefer not mucking with the punctuation myself (at least put the changes in square brackets, like when you change words in the text :P)
20:37 vendethiel Eh. In france, every teacher will tell you not to put accents on caps. They're all wrong :(
20:37 TimToady and the proof-texts for the opposite view tend to be sentence fragments
20:37 vendethiel .oO( so much for our lil' keyboards )
20:38 lizmat http://www.verbicidemagazine.com/wp-content/uploads/2011/09/Oxford-Comma.jpg gives a good visual cue
20:38 * lizmat has that now burned in her brain as well  :-)
20:39 lizmat however, the title of the book was without comma: http://en.wikipedia.org/wiki/Life,_the_Universe_and_Everything
20:39 timotimo this may be a dumb question ... but how do i ask a socket if the other side has disconnected?
20:39 TimToady those were days of dark oppression in many ways
20:40 lue lizmat: Well, Adams did go to Cambridge... :)
20:40 timotimo there is no .eof for sockets at least ...
20:40 virtualsue joined #perl6
20:41 timotimo apparently that just means that .get will give me something undefined ..
20:41 TimToady We invited Fred, a bartender, and a clown.  <-- usual sort of argument for leaving the comma out
20:42 TimToady but this is more properly resolved with parens, We invited Fred (a bartender) and a clown
20:42 TimToady We invited Fred (a bartender and a clown)
20:42 TimToady and leaving out the comman does not preclude the last interpretation in any case
20:42 tadzik like in that joke with 3 guys buried in the same grave
20:44 lue You could use em dashes too, if you have a strange aversion to parens.
20:44 dalek rakudo/nom: 6663be6 | (Elizabeth Mattijsen)++ | src/core/Str.pm:
20:44 dalek rakudo/nom: Oxford Commafication
20:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6663be6749
20:44 vendethiel TimToady: cases: 1. 3 people 2. Fred is a bartender. 3. Fred is a group of two people. 4. Fred is only one talented guy
20:44 TimToady anyway, we use parens (and sometimes dashes) frequently in modern written English for appostives
20:44 vendethiel are there more ?
20:44 TimToady so there's no excuse for using commas when it's ambiguous
20:45 carlin m: say "Answer to the Ultimate Question of Life, the Universe, and Everything".WHAT
20:45 camelia rakudo-moar c9ad80: OUTPUT«(Str)␤»
20:45 vendethiel m: say 42.WHY
20:45 camelia rakudo-moar c9ad80: OUTPUT«(Any)␤»
20:46 Ven joined #perl6
20:47 cognominal joined #perl6
20:48 jnthn arrgh
20:48 * lue would enjoy the error messages and warnings that would come out of a Slang::English or whatever :)  "Ambiguous meaning in comma list without oxford comma; please insert an oxford comma, or separate appositives with parens or dashes, or..."
20:48 * jnthn finds the bug that was sinking is sink improvemnts...
20:48 lizmat .oO( is it talk like a pirate day already? )
20:48 timotimo turns out JSON::Tiny parses the documents i need to parse in 0.1 seconds and i have 3 seconds to calculate and formulate a response
20:49 timotimo jnthn: yay, fixing sink!
20:49 TimToady Sink me!
20:49 jnthn Well, it's not fixing it
20:50 lizmat .oO( what where you sinking? )
20:50 TimToady or was the Scarlet Pimpernel saying "Sync me!"
20:50 jnthn It's dealing with the fact that every sinkable statement constructed 12+ QAST nodes which generated a bunch of instructions
20:50 TimToady heh, only one instruction in P5 :)
20:51 jnthn And it's such an incredibly common thing that improving it has shaved me close to another second off setting compilation time.
20:52 jnthn TimToady: Well, here it's checking if it's concrete, and then if it's got a sink method
20:53 jnthn I'm guessing by one instruction you mean one Perl 5 op, rather than one CPU instruction?
20:54 TimToady sure, but all it does is record itself as the current statement, in case we need the line number
20:54 TimToady well, and call FREETMPS
20:54 TimToady which is the equivalent of sink in P5
20:54 ariden__ joined #perl6
20:55 TimToady at least, that's all it did the last time I looked at it
20:55 TimToady which was only most of two decades ago :)
20:56 * Ven starts fighting the regex war
20:56 jnthn Darn, a few new spectest fails.
20:56 [Coke] lizmat: you have subtests. one of the fails. the whole test fails. you mark the whole test TODO, but because one of the subtests passed, the whole test is marked TODO PASSED. yes.
20:56 lizmat that shouldn't happen, that's a bug
20:58 [Coke] do we have tests of how subtests should work? ;)
20:58 [Coke] I am basing this off an attempt to fudge a file a few weeks ago.
20:58 [Coke] ...er, maybe a week ago, if it's when the wife was in hospital. (she's fine)
20:59 lizmat well, I read that earlier today, when backlogging
20:59 [Coke] I can probably come up with a test case if that'd help.
21:00 dalek nqp-js: 01781f3 | (Pawel Murias)++ | tools/build/ (2 files):
21:00 dalek nqp-js: "make js-clean" actually does some cleanup
21:00 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/01781f3423
21:00 dalek nqp-js: 5d0e94c | (Pawel Murias)++ | Configure.pl:
21:00 dalek nqp-js: Enable --no-clean option in Configure.pl.
21:00 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/5d0e94c606
21:00 lizmat fwiw, I'm seeing parse times of settings go down below 38 seconds now, jnthn++
21:00 lizmat [Coke]: testing now myself, don't worry
21:00 [Coke] lizmat++ thanks!
21:02 cognominal joined #perl6
21:05 kivutar joined #perl6
21:06 lizmat [Coke]: cannot reproduce in a simple case: https://gist.github.com/lizmat/c12ccd3b9812f49188b1
21:08 kurahaupo_mobile joined #perl6
21:09 lizmat m: use Test; throws_like( { ... }, Exception }  # seems the yadayadayada is not caught
21:09 camelia rakudo-moar c9ad80: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/A4u2iX2m7gâ�¤Unable to parse expression in argument list; couldn't find final ')' â�¤at /tmp/A4u2iX2m7g:1â�¤------> [32me Test; throws_like( { ... }, Exception [33mâ��[31m}  # seems the yadayaday…»
21:09 timotimo m: class Test { has Int ($.red, $.green) }; Test.new(:red(1), $green("hello")).say;
21:09 lizmat m: use Test; throws_like( { ... }, Exception )  # seems the yadayadayada is not caught
21:09 camelia rakudo-moar c9ad80: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1JR2g40P8Yâ�¤Variable '$green' is not declaredâ�¤at /tmp/1JR2g40P8Y:1â�¤------> [32men) }; Test.new(:red(1), $green("hello")[33mâ��[31m).say;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
21:09 camelia rakudo-moar c9ad80: OUTPUT«    1..2␤Unhandled exception: Stub code executed␤   at <unknown>:1  (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:12912  (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE…»
21:09 timotimo m: class Test { has Int ($.red, $.green) }; Test.new(:red(1), :green("hello")).say;
21:09 camelia rakudo-moar c9ad80: OUTPUT«Type check failed in assignment to '$!green'; expected 'Int' but got 'Str'␤  in block  at src/gen/m-CORE.setting:859␤  in method BUILDALL at src/gen/m-CORE.setting:842␤  in method bless at src/gen/m-CORE.setting:831␤  in method new at src/gen/m-COR…»
21:09 timotimo ah, cool
21:13 lizmat weirder: looks like the yadayadayada is executed *before* throws_like is called
21:14 hoelzro lizmat: how are you determining that?
21:14 lizmat stack trace with --ll-exception
21:16 hoelzro ah ha
21:17 cognominal joined #perl6
21:18 danfinch joined #perl6
21:21 lizmat hmmm... a "say" in throws_like *is* executed...
21:21 lizmat weird
21:21 hoelzro I'm wondering if this has something to do with the changes I made to lib/Test.pm, lizmat
21:22 lizmat the throws_like regression ?
21:22 lizmat or the {...} not being caught ?
21:22 hoelzro the latter
21:22 hoelzro I mean, it could be both, or neither
21:23 cognominal joined #perl6
21:25 dalek rakudo/nom: 7cac3a1 | duff++ | docs/ChangeLog:
21:25 dalek rakudo/nom: mention a couple of minor changes in ChangeLog
21:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7cac3a15d9
21:26 xylixy joined #perl6
21:29 lizmat I guess we *do* need tests for Test.pm
21:29 lizmat but where would they live?
21:29 lizmat not in roast, I would think?
21:29 lizmat as they have nothing to do with Perl 6 ?
21:30 lizmat m: use Test; throws_like( { die }, Exception )
21:30 camelia rakudo-moar 6663be: OUTPUT«    1..2␤    ok 1 - code dies␤    ok 2 - right exception type (Exception)␤ok 1 - did we throws_like Exception?␤»
21:31 lizmat m: use Test; throws_like( { ... }, Exception )
21:31 camelia rakudo-moar 6663be: OUTPUT«    1..2␤Unhandled exception: Stub code executed␤   at <unknown>:1  (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:12912  (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE…»
21:31 lizmat r: use Test; throws_like( { ... }, Exception )
21:31 camelia rakudo-jvm 6663be: OUTPUT«(timeout)»
21:31 camelia ..rakudo-parrot 6663be: OUTPUT«use of uninitialized value of type Nil in numeric context  in sub throws_like at lib/Test.pm:260␤␤    1..2␤Stub code executed␤current instr.: 'throw' pc 430184 (src/gen/p-CORE.setting.pir:179137) (gen/parrot/CORE.setting:11365)␤called from Sub …»
21:31 camelia ..rakudo-moar 6663be: OUTPUT«    1..2␤Unhandled exception: Stub code executed␤   at <unknown>:1  (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:12912  (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE…»
21:32 hoelzro lizmat: is anything under lib/ tested?
21:32 lizmat don't think so
21:32 hoelzro =/
21:32 hoelzro well, there goes our shot for precedence
21:32 PerlJam lizmat: they can live in rakudo/t somewhere.   like t/rakudo/01-sanity
21:32 hoelzro maybe t/rakudo/libs or something
21:33 PerlJam that'll work too
21:34 lizmat perhaps.. but the spectest.data file only knows about files from t/spec downwards
21:34 PerlJam actually, looks like there are some tests for Test.pm in t/02-sanity/99-test-basic.t
21:34 lizmat ah, intriguiing
21:34 PerlJam er, 01-sanity
21:37 hoelzro that could prove helpful
21:38 hoelzro I'm not done with Test.pm, so I can try to make those tests better as I go along
21:38 cognominal joined #perl6
21:38 lizmat what are you doing to Test.pm (must miss some vital backlog still)
21:39 hoelzro lizmat: making it write to STDOUT/STDERR properly
21:39 lizmat ah, ok
21:39 hoelzro you know how Perl 5 will helpfully print diag() and failures to STDERR?
21:39 lizmat you were also thinking of expanding Test.pm
21:39 hoelzro that's one thing I did
21:39 lizmat hoelzro++
21:39 PerlJam hoelzro++ indeed.
21:40 hoelzro I also made sure that it doesn't write to STDOUT/STDERR directly, but to clones
21:40 hoelzro so tests can mess with $*OUT and $*ERR without breaking tests
21:40 hoelzro there are a few other things as well
21:40 hoelzro oh!
21:40 hoelzro Test.pm exits with the # of failures now
21:41 hoelzro oh, and test failures report which file/line they happened on
21:41 PerlJam hoelzro: are you gonna make Test::Builder too?   :)
21:41 hoelzro I was thinking about it
21:42 PerlJam I've thought about it at least twice, but never got beyond that.
21:42 hoelzro all of my recent Rakudo work has been due to frustrations while developing a module for Perl 6 =P
21:42 hoelzro so we'll see how much steam I have left after S26 and test-betterer
21:42 lizmat please note that Test::Builder in Perl 5 is going through a refactor now, if I remember correctly from OSCON (or was it YAPC::NA?)
21:42 hoelzro I heard
21:43 hoelzro I want to add test levels to Test.pm, but I'm not sure what a 6-y interface would look like
21:43 hoelzro I'm also convinced that todo/skip can be nicer to work with, but I think that's for a different library
21:43 hoelzro seeing as roast and other tests would probably have to be changed =/
21:43 PerlJam nicer how?
21:44 dalek nqp: cbb30f7 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
21:44 dalek nqp: Make a few things as not inlinable.
21:44 dalek nqp: review: https://github.com/perl6/nqp/commit/cbb30f7ca7
21:44 hoelzro well, the whole skip 'reason', $num_tests; + comments feels wonky to me
21:44 hoelzro I feel like we can do better in Perl 6
21:46 hoelzro I also want docs =)
21:49 PerlJam SKIP blocks and subtests would be better.
21:50 hoelzro I guess there could be two skip impl's
21:50 hoelzro skip(Str $reason, Int $count)
21:51 hoelzro and skip(&block, Str :$reason)
21:53 PerlJam hoelzro: Is there a roadmap for your S26 work somewhere so that I can see if I can contribute?
21:54 hoelzro yes, there is!
21:54 hoelzro https://github.com/perl6/roast/blob/S26-WHY/S26-TODO
21:54 virtualsue joined #perl6
21:55 hoelzro let me know if you have any questions
21:55 PerlJam I'll look at it later tonight and ping you if I have questions :)
21:55 akaseki joined #perl6
21:55 hoelzro cool =)
21:55 hoelzro btw, it slows down parsing pretty badly atm
21:56 hoelzro but don't get discouraged =)
21:59 aoseki joined #perl6
22:03 nbrown joined #perl6
22:09 dalek tablets: ea553e4 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
22:09 dalek tablets: cleanup mostly at glossary section A
22:09 dalek tablets: review: https://github.com/perl6/tablets/commit/ea553e4be7
22:09 jnthn Grr
22:09 jnthn Well, I can't build Parrot NQP at the moment. :(
22:10 jnthn Bunch of errors like this:
22:10 jnthn stable.obj : error LNK2001: unresolved external symbol __imp_mem_sys_free
22:10 jnthn stable.obj : error LNK2001: unresolved external symbol __imp_mem_sys_allocate_zeroed
22:10 jnthn src\vm\parrot\pmc\nqp_group.dll : fatal error LNK1120: 48 unresolved externals
22:11 kivutar joined #perl6
22:16 akaseki joined #perl6
22:22 cognominal joined #perl6
22:24 * lizmat gets some sleep&
22:24 * masak too
22:24 AndChat-188244 joined #perl6
22:24 masak 'night, #perl6
22:25 jnthn 'night masak, lizmat
22:31 Psyche^_ joined #perl6
22:38 dalek rakudo/nom: a398910 | jnthn++ | src/ (4 files):
22:38 dalek rakudo/nom: Better handling of sink.
22:38 dalek rakudo/nom:
22:38 dalek rakudo/nom: On MoarVM, this leads to a smaller QAST trees and much better code
22:38 dalek rakudo/nom: generation. On JVM and Parrot, we get the first advantage, and we
22:38 dalek rakudo/nom: could improve their code-gen in the future too. Note the Parrot bit
22:38 dalek rakudo/nom: of this is untested due to being unable to build NQP Parrot on Win32
22:38 dalek rakudo/nom: at present; the JVM patch worked right off, though, and there's very
22:38 dalek rakudo/nom: little reason fro the Parrot one not to. Testing welcome.
22:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a398910b4a
22:39 dalek nqp: 66af960 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
22:39 dalek nqp: Align :!inlinable on Moar with JVM markings.
22:39 dalek nqp: review: https://github.com/perl6/nqp/commit/66af960e32
22:39 dalek nqp: f812606 | jnthn++ | tools/build/MOAR_REVISION:
22:39 dalek nqp: Bump to latest MoarVM for improvements.
22:39 dalek nqp: review: https://github.com/perl6/nqp/commit/f812606c31
22:40 dalek rakudo/nom: ae2ffe8 | jnthn++ | tools/build/NQP_REVISION:
22:40 dalek rakudo/nom: Bump NQP revision for assorted improvements.
22:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ae2ffe8f25
22:45 rurban joined #perl6
22:58 raiph joined #perl6
22:59 TimToady starting a p-spectest; how clean should it be?
23:01 jnthn Well, [Coke]++ reported we have junction issues. I wanted to looka t it but I couldn't build an nqp-p, despite some digging. :(
23:02 jnthn (Was link error with the PMCs...)
23:03 TimToady p-parse went down about 5 seconds since last time I did it
23:03 ventica joined #perl6
23:04 TimToady 99 to 94 seconds, basically
23:05 chenryn joined #perl6
23:06 jnthn Nice :)
23:09 timotimo neato
23:22 timotimo the median of parse times is 0.29 seconds, which isn't terrible, but i wouldn't mind a factor of 10 improvement for parsing :)
23:27 timotimo nativecall seems unhappy about nom/master/master at the moment :(
23:27 itz_ joined #perl6
23:32 TimToady p-spectest results: https://gist.github.com/anonymous/192725c26e0d4a3b11b2
23:32 TimToady not very pretty
23:33 [Coke] jnthn: couldn't build parrot, or couldn't build nqp-p ?
23:37 jnthn [Coke]: nqp-p
23:37 jnthn [Coke]: Specifically, a C link error on the dynpmcs
23:38 TimToady that's nom/master/master btw
23:41 [Coke] jnthn: were you using default versions or HEAD?
23:41 jnthn [Coke]: PARROT_REVISION; did --gen-parrot
23:41 [Coke] roger. testing on os x...
23:46 jnthn Yeah. It was about DLL import stuff so I fear it's Windows specific.
23:47 [Coke] bother.
23:47 [Coke] maybe some symbols that used to be exported that weren't?
23:49 jnthn I guessed that and went to look
23:49 jnthn But PARROT_EXPORT or so was on them.
23:50 [Coke] ... weird.
23:50 [Coke] installed parrot conflicting?
23:50 [Coke] (sorry, just thinking out loud, basically)
23:53 jnthn Unlikely; the link line wasn't referecning an old thing, at least...

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

Perl 6 | Reference Documentation | Rakudo