Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-06-07

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:00 kboga left #perl6
00:24 frettled joined #perl6
00:32 xinming_ joined #perl6
00:36 libertyprime joined #perl6
00:40 libertyprime joined #perl6
00:40 tokuhiro_ joined #perl6
00:47 libertyprime joined #perl6
00:49 fgomez joined #perl6
00:53 libertyprime joined #perl6
01:01 scott_ joined #perl6
01:04 libertyprime joined #perl6
01:10 libertyprime joined #perl6
01:11 libertyprime joined #perl6
01:17 libertyprime joined #perl6
01:19 sorear What's the no object at index stuff that everyone using Rakudo seems to have run into?
01:43 libertyprime joined #perl6
01:50 benabik joined #perl6
01:52 libertyprime joined #perl6
01:53 _jaldhar joined #perl6
01:56 itz joined #perl6
02:02 diakopter sorear: quiet evening I guess
02:05 leprevost joined #perl6
02:05 sorear diakopter: here, sure
02:21 fgomez joined #perl6
02:30 diakopter .u 2380
02:30 phenny U+2380 INSERTION SYMBOL (⎀)
02:31 colomon n: say "≺".ord
02:31 p6eval niecza v18-2-gea3d97a: OUTPUT«8826␤»
02:31 colomon n: say "≺".ord.hex
02:31 p6eval niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: Unable to resolve method hex in type Int␤  at /tmp/krg6Df4E75 line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3911 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3912 (module-CORE @ 558) ␤  at /home/p6e…
02:32 colomon n: say "≺".ord.fmt("%X")
02:32 p6eval niecza v18-2-gea3d97a: OUTPUT«227A␤»
02:32 diakopter .u 23CF
02:32 phenny U+23CF EJECT SYMBOL (⏏)
02:33 diakopter .u 263B o_O
02:33 phenny diakopter: U+0032 U+0036 U+0033 U+0042 U+0020 U+006F U+005F U+004F
02:33 diakopter .u 263B
02:33 phenny U+263B BLACK SMILING FACE (☻)
02:36 diakopter .u 26A7
02:36 phenny U+26A7 MALE WITH STROKE AND MALE AND FEMALE SIGN (⚧)
02:46 diakopter .u 1F72E
02:46 phenny diakopter: Sorry, no results for '1F72E'.
02:46 diakopter o_O
02:46 diakopter .u antimony
02:46 phenny diakopter: Sorry, no results for 'antimony'.
02:47 diakopter maybe a later unicode db than phenny has
02:49 diakopter .u YPOGEGRAMMENI
02:49 phenny U+037A GREEK YPOGEGRAMMENI (ͺ)
02:51 kurahaupo joined #perl6
02:51 kurahaupo left #perl6
02:55 cbk joined #perl6
02:56 cbk joined #perl6
02:56 diakopter phenny: : ask TimToady what does NFG do with combining characters
02:57 sorear diakopter: you mean naked combiners?
02:57 diakopter what's that mean
02:58 sorear just a combiner, nothing before it
02:58 diakopter oh, so a combiner is meant to combine with the preceding char?
02:58 sorear yes
02:58 diakopter in NFG does that get a synthetic codepoint
02:58 sorear and NFG treats them as a unit
02:59 diakopter ok
02:59 diakopter I noticed niecza has unidata. does it do NFG?
02:59 sorear no
03:00 sorear too many questions about how it works
03:00 diakopter what does it use unitdata for
03:00 diakopter unidata
03:01 thou joined #perl6
03:01 sorear <:Script<Hiragana>>
03:25 alvis joined #perl6
04:05 tyatpi joined #perl6
04:25 adu joined #perl6
04:41 crab2313 joined #perl6
04:44 dakkar joined #perl6
04:57 twinshadow joined #perl6
05:12 birdwindupbird joined #perl6
05:33 mucker joined #perl6
05:36 kaleem joined #perl6
05:58 moritz good morning everybody
06:04 adu morning :)
06:08 am0c joined #perl6
06:14 moritz jnthn: I get maximum recursion depth exceeded when trying to compile rakudo's setting on altnfa
06:19 moritz some stringy bootstrap issue called from BUILDALL
06:21 sorear o/ moritz
06:22 moritz \o sorear
06:33 daemon joined #perl6
06:47 jnthn moritz: wtf
06:47 phenny jnthn: 06 Jun 23:33Z <kboga> tell jnthn The altnfa test output you requested (nqp test & rakudo spectest) with ICU: https://gist.github.com/2885393
06:47 jnthn kboga++ and I managed to build it fine.
06:47 jnthn Did you have altnfa branch of NQP also?]
06:51 moritz jnthn: I only had the nqp altnfa branch; didn't notice there was on in rakudo too :/
06:51 jnthn oh :)
06:51 jnthn phew
06:51 * jnthn was worried we were gonna have to track down a reallyh weird platform bug...
06:54 moritz +        'v' <?before \d+> {} <vnum>+ % '.' ('+')?
06:54 moritz doesn't LTM end after <?before> anyway?
06:55 jnthn ah, yes
06:55 jnthn I just moved the {} :)
06:55 jnthn But it could go away.
06:55 jnthn Nice catch.
06:56 moritz testing again with altnfa rakudo branch
06:56 kaleem joined #perl6
07:02 moritz ok, it built
07:05 tadzik built here too, but can't test it, gotta go to $work now
07:07 jnthn moritz: OK. Would be good to know if the S32-exceptions failure is just due to not having some commits from nom
07:09 jnthn Feel free to investigate/tweak whatever in there really though...I won't get another chance to hack on it until this evening.
07:10 jnthn I'm hopeful it can be merged by the weekend, and I can use weekend tuits on precomp bits
07:13 moritz yes, S32-exceptions passes on altnfa+newest nom
07:15 moritz so, three single tests and one test file fail, two passing TODOs
07:15 brrt joined #perl6
07:17 jnthn moritz: gist?
07:19 moritz jnthn: http://perlpunks.de/paste/show/4fd05608.5ba.25b
07:22 * jnthn wonders what the rx.t one is about
07:24 jnthn The Pod ones could be hard to tracfk down given that the Pod tests fail in many ways on Windows due to line ending issues
07:25 jnthn Anyway, small number of failures is encouraging.
07:25 moritz r: say so 'bazaar' ~~ /:ratchet a* /'
07:25 p6eval rakudo e75a0a: OUTPUT«===SORRY!===␤Confused␤at /tmp/0Ng2iQtOUl:1␤»
07:26 moritz r: say so 'bazaar' ~~ /:ratchet a* /
07:26 p6eval rakudo e75a0a: OUTPUT«True␤»
07:26 moritz r: say so 'bazaar' ~~ /:ratchet a* a /
07:26 p6eval rakudo e75a0a: OUTPUT«False␤»
07:27 * moritz counted the tests manually to see what test 19 is, so might be off
07:29 jnthn Oddness, if that is the one...
07:33 Sweet_Lady joined #perl6
07:34 Sweet_Lady :)
07:36 moritz jnthn: fwiw reordering the pod rules to have deleted_raw before delimited means we don't parsefail S26-documentation/05-comment.t
07:36 moritz jnthn: but it's still misparsed (for example creates Pod::Block instead of Pod::Comment)
07:39 moritz r: say so 'xyzabcde' ~~ /( ab | abc ): de/
07:39 p6eval rakudo e75a0a: OUTPUT«False␤»
07:39 moritz no wonder that altnfa gives a different result there :-)
07:40 moritz because it doesn't need to backtrack to match 'abc' right away
07:40 moritz so, test bug in rx.t, not rakudobug
07:41 pjcj joined #perl6
07:42 dalek roast: 91498c8 | moritz++ | S05-mass/rx.t:
07:42 dalek roast: [rx.t] fix test that assumed non-LTM
07:42 dalek roast: review: https://github.com/perl6/roast/commit/91498c8fc8
07:42 estrai joined #perl6
07:43 dalek rakudo/altnfa: 4ebbdbd | moritz++ | lib/Test.pm:
07:43 dalek rakudo/altnfa: [Test] fix diag in failed isa_ok
07:43 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/4ebbdbd0ef
07:43 dalek rakudo/altnfa: 4545eb9 | moritz++ | src/Perl6/Grammar.pm:
07:43 dalek rakudo/altnfa: reorder pod parsing rules
07:43 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/4545eb9786
07:44 moritz I think the real problem is that that those pod rules aren't written for LTM
07:46 moritz might not be too hard to fix
07:46 moritz tadzik++ followed masak++'s advice to not use | in a compiler that doesn't do LTM
07:46 moritz switching some of the || to | might help
07:46 * moritz experiments with it
08:04 dalek rakudo/altnfa: 9194077 | moritz++ | src/Perl6/Grammar.pm:
08:04 dalek rakudo/altnfa: try to make Pod parsing a bit more LTM friendly
08:04 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/91940776d9
08:04 moritz http://perlpunks.de/paste/show/4fd0609b.5bd.33d current status
08:07 tadzik gosh, what a crazy day
08:10 moritz tadzik: hm, what's up?
08:12 tadzik went to the office today
08:12 tadzik apparently, the fact that it's a national holiday means that nobody's there, and the first person coming will trigger an alarm
08:13 tadzik which results in suprising events
08:14 moritz did the police come?
08:15 tadzik fortunately, no
08:15 tadzik I went downstairs to surrender myself to the security and called my boss and everything was fine
08:16 tadzik but I'n still a bit shakey
08:18 dalek rakudo/altnfa: a85033e | moritz++ | src/Perl6/Grammar.pm:
08:18 dalek rakudo/altnfa: fix "=for comment" parsing
08:18 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/a85033ebcd
08:20 tadzik so, what's with || and |?
08:22 moritz tadzik: basically the pod-parsing code you wrote is only compatible with rakudo-as-it-was-then, not with per-spec LTM rules
08:22 moritz || ends LTM
08:23 moritz so for example you had rules like
08:23 moritz '=' <?before END> <identifier>
08:23 moritz and
08:23 moritz '=' [ 'code' || 'comment' ]
08:23 moritz erm, <!before END>, sorry
08:24 moritz and when matched again =comment, both have an LTM prefix of just '='
08:24 moritz because both look-aheads and || end LTM
08:25 moritz so  =comment  parses the next line as pod, not as a comment (with proper LTM, and taking the first match)
08:25 moritz fortunately it seems that most or all of that is easy to fix
08:26 moritz I'm just worried about stuff that doesn't have (much) test coverage
08:26 moritz like =for END
08:27 moritz I have all the pod tests passing locally
08:27 dalek rakudo/altnfa: a1dde83 | moritz++ | src/Perl6/Grammar.pm:
08:27 dalek rakudo/altnfa: LTMify pod_block:sym<abbreviated_raw>
08:27 dalek rakudo/altnfa:
08:27 dalek rakudo/altnfa: fixes the remaining failures in S26-documentation/05-comment.t
08:27 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/a1dde83b46
08:27 moritz now waiting for a full spectest to finish
08:27 tadzik I see
08:31 tadzik I'll be home in a sec and will look through this
08:35 alvis` joined #perl6
08:45 snearch joined #perl6
08:46 snearch joined #perl6
08:47 snearch joined #perl6
08:48 snearch joined #perl6
08:49 moritz tadzik: fwiw ./perl6 --doc S26-documentation.pod produces some uninitialization warnings
08:49 tadzik I'll look into that
08:49 moritz tadzik: and after the "Formatting codes" headline, "Config<-5693295032812305051>"
08:49 tadzik eek
08:49 tadzik gimme a sec to rebuild
08:49 moritz (that's altnfa branch, fwiw)
08:50 tadzik right
08:50 snearch joined #perl6
08:51 moritz hm, I get the uninitialized value warnings even in nom
08:51 moritz and the Config<...> thing too
08:51 tadzik oh
08:52 tadzik I'll look into that anyway
08:52 tadzik and rerun emmentaler meanwhile
08:55 tadzik I guess Pod::To::anything shouldn't stringify Config blocks in any case
08:59 moritz jnthn: all tests pass for nom-merged-into altnfa
09:01 moritz three test failures in t/qregex/01-qregex.t though
09:04 moritz the first two might be ssimply wrong with current LTM semantics
09:12 cosimo joined #perl6
09:13 dalek rakudo/altnfa: 1683397 | tadzik++ | lib/Pod/To/Text.pm:
09:13 dalek rakudo/altnfa: [Pod::To::Text] Avoid stringifying Pod::Config blocks
09:13 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/168339771d
09:14 tadzik should've been on nom probably, but that'll be the same soon anyway, I think
09:14 tadzik I see nothing suspicious about S26 now
09:15 moritz still get warnings in the conversion process
09:15 moritz use of uninitialized value of type Any in string context  in sub table2text at lib/Pod/To/Text.pm:64
09:16 tadzik oh yeah, I have those too. Investigating
09:16 moritz my $ret = $pod.config<caption> ~ "\n" // '';
09:16 moritz should probably just be
09:16 tadzik hmm
09:16 moritz my $ret = ($pod.config<caption> // '') ~ "\n";
09:16 tadzik you may want to omit \n if there's no caption
09:17 tadzik so I'll just settle for an if I think
09:18 moritz my $ret = '';
09:18 moritz $ret ~=  $pod.config<caption> ~ "\n"  if defined $pod.config<caption>;
09:18 moritz better?
09:19 tadzik I wrote it with an if upfront, and now checking if it's better :)
09:19 tadzik parsing takes about 30 seconds here
09:20 tadzik yep, it's clean now
09:20 tadzik and I have some spectest failures
09:20 moritz tadzik: I'll leave it to you then
09:20 tadzik https://gist.github.com/2887818
09:20 tadzik okay
09:21 dalek rakudo/altnfa: 18d51ba | tadzik++ | lib/Pod/To/Text.pm:
09:21 dalek rakudo/altnfa: [Pod::To::Text] Avoid uninitialized variable warnings
09:21 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/18d51bacee
09:21 moritz tadzik: does the filestat thing pass for you on nom?
09:22 moritz S32-exceptions/misc.t goes away when nom is merged in
09:22 dalek panda: 269d68c | tadzik++ | ext/JSON/Tiny/Grammar.pm:
09:22 dalek panda: Update JSON in ext
09:22 dalek panda: review: https://github.com/tadzik/panda/commit/269d68c115
09:22 dalek panda: cca4739 | tadzik++ | lib/Panda/Builder.pm:
09:22 dalek panda: Improve module compilation ordering, add some debugging output
09:22 dalek panda: review: https://github.com/tadzik/panda/commit/cca47390b5
09:22 tadzik moritz: it passes sometimes
09:22 tadzik oh, that one was unpushed too? Gah
09:24 kresike joined #perl6
09:24 kresike hello all you happy perl6 people
09:25 brrt hello kresike
09:25 moritz \o kresike, brrt
09:25 kresike hello moritz, brrt o/
09:32 mucker joined #perl6
09:37 brrt1 joined #perl6
09:58 tadzik 52 modules ok, 49 not ok (101 total)
09:58 tadzik on altnfa
09:58 tadzik that's better than on nom, or at laest better than last results
10:00 tadzik oh, it's just that this time URI compiled well
10:00 tadzik so it's a green light from emmentaler as well
10:01 Chillance joined #perl6
10:05 moritz tadzik: will you reply to Marc on p6u?
10:05 tadzik I will
10:06 tadzik I should get myself a Star I guess
10:06 tadzik star: use Bailador; say 1
10:07 p6eval star 2012.05: OUTPUT«1␤»
10:07 tadzik hmm, it did work at some point in time
10:07 tadzik oh, that's not star in the email
10:07 PacoAir joined #perl6
10:08 tadzik Star should have the newest bailador already installed
10:08 tadzik eiro: ping
10:08 eiro tadzik, pong
10:08 tadzik eiro: regarding your p6u email and https://gist.github.com/2873177
10:09 tadzik eiro: Star should be shipping the newest Bailador, did you check if it Just Works?
10:09 tadzik the only thing that comes to my mind is that Rakudo may pick the already-installed bailador over the one it's currently compiling
10:09 eiro no ...
10:09 tadzik star: use Bailador; say 1
10:10 p6eval star 2012.05: OUTPUT«1␤»
10:10 eiro > perl6 -MBailador -e1
10:10 eiro ===SORRY!===
10:10 eiro No object at index 84
10:10 eiro :) is it a valid test ? :)
10:10 tadzik what if you cleanup ~/.perl6 before?
10:10 tadzik yes, it is :)
10:10 eiro rm -rf ~/.perl6 ~/.panda ?
10:10 tadzik or just ~/.perl6
10:11 eiro ok
10:11 eiro > rm -rf ~/.perl6
10:11 eiro [12:11] mc@sigb-commun-test:/home/mc
10:11 eiro > perl6 -MBailador -e1
10:11 eiro ===SORRY!===
10:11 eiro Error while importing from '0': no EXPORT sub, but you provided positional argument in the 'use' statement
10:11 tadzik whoa
10:11 tadzik moritz: ?
10:12 tadzik eiro: how about 'perl6 -e "use Bailador; 1"'?
10:12 mtk joined #perl6
10:12 eiro no more error :)
10:12 tadzik *relief* ;)
10:12 eiro so -M flag doesn't work :)
10:12 tadzik It would be depressing if we shipped broken Bailador
10:13 wolverian joined #perl6
10:13 tadzik maybe it didn't work in Star, I think it does now
10:13 tadzik istr moritz++ fixing it
10:13 eiro sure! that's why i check those kind of things *before* fpw :)
10:13 tadzik so the problem we have to resolve is installing new Bailador over already installed one, somewhat
10:14 moritz I fixed it the day after the star release :/
10:19 GlitchMr joined #perl6
10:20 eiro arf ... and there is no more star before fpw
10:21 UncleFester6 joined #perl6
10:21 eiro any kludge ?
10:21 moritz well, just don't use -M
10:21 eiro ( like a violent find |xags rm on Bailador's dir ? )
10:21 UncleFester6 tadzik: ping
10:21 moritz ah wait, we're talking about different things now, I fear
10:22 eiro moritz, i was talking about installing a new version of bailador
10:22 eiro someone can tell me what's wrong ?
10:22 eiro moritz, yep :)
10:22 tadzik UncleFester6: pong
10:22 eiro i was on the tadzik assertion "so the problem we have to resolve is installing new Bailador over already installed one, somewhat"
10:23 moritz eiro: well, you can always install a rakudo from git and install pand yourself
10:23 moritz and before rm -rf ~/.perl6/lib ~/.panda/src
10:23 eiro *i* can ... my goal is to ship perl6 as a real langage at next fpw
10:23 eiro so i want something simple
10:23 moritz well, you could also make a new star release
10:23 eiro what about:
10:24 tadzik well, we can always build an alternative star or an alternative rakudo distribution
10:24 tadzik bailakudo, or something ;P
10:24 tadzik even if it was a simple script that installs rakudo, bootstraps panda, installs bailador
10:24 UncleFester6 I ran ufo against panda, reproduced the 'no object' error, and came up with a workaround that may give insight into fixing the problem.
10:24 tadzik then recompiles modules after updating rakudo
10:24 tadzik UncleFester6: oh, great, please tell
10:25 UncleFester6 After running make on the ufo makefile for panda, I ran "panda install Acme::Meow" and got the "no object" error.
10:26 tadzik so panda installed correctly, but doesn't work?
10:26 UncleFester6 Then I ran the following little script and it went away: find blib/lib -name '*.pir' -exec touch {} \;
10:27 tadzik yeah
10:27 tadzik then you have no precompilation, and it's exactly precompilation that causes the problems
10:27 tadzik at some point in time panda was not precompiling modules, for it caused more problems than it was worth
10:27 UncleFester6 why do you say I have not pre-compilation?
10:28 tadzik oh, -exec touch
10:28 tadzik I'm running -delete with find far too often
10:28 tadzik so it's about .pirs being older than .pms
10:28 tadzik that's interesting
10:28 eiro ok ... is there a tag which is "something non broken after last star" in rakudo ?
10:28 tadzik I'll try to reproduce that with URI
10:28 tadzik eiro: the nom HEAD is usually something non-broken
10:28 eiro (is master stable enougth ? )
10:29 tadzik there's no master
10:29 tadzik we're all equal
10:29 eiro ok
10:29 eiro haha
10:29 tadzik ;)
10:30 tadzik UncleFester6: ooh. I can reproduce that
10:30 UncleFester6 I think the ufo makefile is creating .pm and .pir with too close timestamps causing confusion ...
10:30 tadzik UncleFester6: good catch
10:30 tadzik definitely
10:31 tadzik so copying to blib is the problem
10:31 tadzik or rakudo's using > rather than >= somewhere
10:31 tadzik nope, it's >= everywhere
10:31 tadzik I'll check the timings
10:32 benabik if it's copying alphabetically it's doing pir before pm.
10:32 tadzik it's mostly random-ish I guess
10:33 tadzik look: https://gist.github.com/2888096
10:33 tadzik oh wait, there're no pirs there
10:33 tadzik ooooh
10:33 tadzik it's first compililing pirs *into blib*
10:33 tadzik and then copying pms *into blib*
10:33 tadzik no wonder they're newer
10:33 tadzik but sometimes just old enough for it to still work
10:34 eiro got to go ... but we have to find a solution before fpw
10:34 tadzik agreed
10:35 tadzik UncleFester6: okay, I think I can easily fix that for panda, but I lack makefile-fu to fix that for ufo
10:36 UncleFester6 That's all I have for now ... good luck ...
10:36 UncleFester6 left #perl6
10:37 tadzik yeah, that nails it: https://gist.github.com/2888110
10:38 tadzik toplevel .pir is new enough, but its children aren't
10:38 tadzik so, from ModuleLoader point of view, we have new enough URI when loading it, but too old dependencies, so it breaks horribly
10:38 moritz well, the ufo repo has a TODO file
10:39 moritz somebody "just" needs to rewrite the emitting part
10:39 tadzik I think I have it
10:40 tadzik https://gist.github.com/2888119 should fix it
10:40 tadzik it's now copying pms first, then compiling pirs
10:41 moritz it's a good first step
10:42 tadzik that solves the second TODO part
10:43 tadzik okay, that fixed everything for me
10:44 moritz push!
10:44 not_gerd joined #perl6
10:44 tadzik nnnnnnggg
10:44 * not_gerd jumps into the discussion
10:45 not_gerd I think a better fix is to replace cp with cp -p in https://github.com/masak/ufo/blob/master/bin/ufo
10:45 tadzik pushed
10:45 tadzik dalek must've not noticed
10:47 moritz not_gerd: a better fix is to declare proper dependencies between the modules, and compile and copy them in order
10:47 moritz that would also fix recompilation when one module is touched
10:47 not_gerd sure, but that's more effort
10:47 moritz and parallel make
10:51 not_gerd I think I'ne *never* used a double colon make rule
10:53 Chillance joined #perl6
10:55 tadzik hmm. Now ufo copies to blib in the right order, but what about install?
10:55 not_gerd tadzik: there's also install -p ;)
10:55 tadzik ok, that one is fine
10:56 tadzik :)
10:56 tadzik true
10:56 not_gerd I think I know how to fix it properly, btw - but I'll first find something to eat...
10:57 * tadzik wonders if panda should install anything else than .pirs
10:59 tadzik and ufo, for that matter
10:59 tadzik not as a solution to the problem
10:59 moritz well, in the future rakudo might want to manage precompilation itself
11:08 dalek roast: db39919 | (Solomon Foster)++ | S03-operators/bag.t:
11:08 dalek roast: Add tests for msubset and msuperset.
11:08 dalek roast: review: https://github.com/perl6/roast/commit/db399199b4
11:12 estrai tadzik: btw, are planning to add --ignore-test-failures or anything similar?
11:12 icwiener joined #perl6
11:12 tadzik estrai: I think --notests is something on github issues
11:12 tadzik what's your use case?
11:13 tadzik oh, I think it's even implemented
11:13 tadzik see https://github.com/tadzik/panda/commit/1b86a1171d37e4
11:13 estrai was a while ago but it was HTTP::Client that had failing tests
11:13 tadzik --notests should work
11:13 estrai oh, lovely, thanks
11:14 am0c joined #perl6
11:15 dalek panda: 30a73ca | tadzik++ | lib/Panda/Installer.pm:
11:15 dalek panda: Install .pms before .pirs, add some debugging output as well
11:15 dalek panda: review: https://github.com/tadzik/panda/commit/30a73cae58
11:19 slavik1 joined #perl6
11:24 JimmyZ joined #perl6
11:31 [hds] joined #perl6
11:32 am0c joined #perl6
11:32 lumi_ Wouldn't it be simpler to make $(BLIB)/%.pir :: $(BLIB)/%.pm ?
11:33 colomon ping moritz
11:34 not_gerd lumi_: you need to discern between %.pm and %.pm6
11:34 not_gerd I'm on it ;)
11:34 * colomon is trying to figure out what the RT 69178 code in repeat.t actually means...
11:37 lumi_ not_gerd: OK :) My make-fu is pretty weak
11:37 lumi_ not_gerd: Are you trying to do the dependencies as well?
11:40 not_gerd lumi_: yes, I'm claning up the whole thing (:= instead of =, : instead of ::, proper dependencies,...)
11:40 not_gerd ^cleaning
11:41 GlitchMr How can I insert Unicode character by name in Perl 6?
11:42 kboga joined #perl6
11:42 kboga hi #perl6
11:47 mucker joined #perl6
11:48 lumi_ GlitchMr: "\c[name]" ?
11:52 cosimo joined #perl6
11:54 GlitchMr Also, is it possible to have something like s/a/b/r in Perl 6?
11:55 GlitchMr So instead of replacing variable, substitution is returned?
11:55 icwiener joined #perl6
11:56 felher n: my $x = "aa"; say $x.subst(/./, "blar"); say $x;
11:56 p6eval niecza v18-2-gea3d97a: OUTPUT«blara␤aa␤»
11:57 felher @ GlitchMr
11:57 felher I have no idea if there is a s/x/y form for that :)
12:02 dalek niecza: 556574c | (Solomon Foster)++ | lib/CORE.setting:
12:02 dalek niecza: Add msubset and msuperset operators, clean up a glitch in infix:<(&)>.
12:02 dalek niecza: review: https://github.com/sorear/niecza/commit/556574c804
12:04 GlitchMr http://paste.uk.to/f3f21d03
12:04 GlitchMr Is there any way to avoid this niecza warning?
12:04 GlitchMr (I guess I'm doing something improperly or somethinG)
12:05 GlitchMr (ok, dealt with it by removing multi)
12:14 not_gerd what's a good test case for ufo?
12:14 tadzik URI for example
12:15 thou joined #perl6
12:18 tokuhiro_ joined #perl6
12:19 grondilu joined #perl6
12:19 not_gerd left #perl6
12:19 grondilu Is it possible to have polymorphism on the return value?
12:20 grondilu p6: multi foo returns Int { 42 }; multi foo returns Str { "hello" }; say ~foo
12:20 p6eval niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: Cannot call &foo; none of these signatures match:␤    Any␤    Any␤  at /tmp/xZIJeR32pj line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3911 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3912 (module-CO…
12:20 p6eval ..pugs: OUTPUT«42␤»
12:20 p6eval ..rakudo e75a0a: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:()␤:()␤␤  in block <anon> at /tmp/DOzvSSG5N6:1␤␤»
12:20 crab2313 joined #perl6
12:21 grondilu see what I mean?
12:21 GlitchMr Unhandled exception: Niecza.Serialization.ThawException: dated sources
12:21 GlitchMr what?
12:21 GlitchMr grondilu, "hello" but 42
12:22 GlitchMr nr: sub foo { "hello" but 42 }; say ~foo; say +foo;
12:22 p6eval rakudo e75a0a: OUTPUT«hello␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏hello' (indicated by ⏏)␤  in method gist at src/gen/CORE.setting:9415␤  in sub say at src/gen/CORE.setting:6962␤  in block <anon> at /tmp/vs9i6_wvSW:1␤␤»
12:22 p6eval ..niecza v18-2-gea3d97a: OUTPUT«hello␤Unhandled exception: Cannot parse number: hello␤  at /home/p6eval/niecza/lib/CORE.setting line 1402 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3474 (ANON @ 11) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3476 (NumSyntax.str2num @ 5)…
12:22 GlitchMr nr: sub foo { 42 but "hello" }; say ~foo; say +foo;
12:22 p6eval rakudo e75a0a, niecza v18-2-gea3d97a: OUTPUT«hello␤hello␤»
12:22 GlitchMr ...
12:22 GlitchMr ok... it won't work
12:23 grondilu Or more basically how do I know the context of the call inside a subroutine?
12:32 am0c joined #perl6
12:39 moritz grondilu: you can't dispatch by return type
12:40 moritz r: multi f returns Str { 's' }; multi f returns Int { 1 }; say &f.candidates.grep({.returns === Int}).()
12:41 p6eval rakudo e75a0a: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'List'␤  in <anon> at src/gen/BOOTSTRAP.pm:811␤  in any <anon> at src/gen/BOOTSTRAP.pm:807␤  in block <anon> at /tmp/4otlsC07iP:1␤␤»
12:41 moritz r: multi f returns Str { 's' }; multi f returns Int { 1 }; say &f.candidates.grep({.returns === Int}).[0]()
12:41 p6eval rakudo e75a0a: OUTPUT«1␤»
12:41 moritz r: multi f returns Str { 's' }; multi f returns Int { 1 }; say &f.candidates.grep({.returns === Str}).[0]()
12:41 p6eval rakudo e75a0a: OUTPUT«s␤»
12:43 dalek ecosystem: ae67ee7 | GlitchMr++ | META.list:
12:43 dalek ecosystem: Add Acme::Addslashes to module list
12:43 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/ae67ee7498
12:43 pmichaud good morning, #perl6
12:44 felher o/
12:45 moritz good am, pm
12:45 crab2313 o/
12:50 tadzik hehe, Acme::Addslashes
12:50 tadzik hello pmichaud
12:53 not_gerd joined #perl6
12:54 not_gerd tadzik: https://github.com/masak/ufo/pull/3
12:54 GlitchMr Proper port of addslashes() would be possible, but addslashes() in PHP is worst idea ever.
12:54 GlitchMr It's useful for nothing.
12:54 tadzik it's quite funny
12:55 tadzik this unicode slash is actually overwriting all the characters, yes?
12:55 GlitchMr Yes
12:55 GlitchMr It's port of Perl 5 version of Acme::Addslashes
12:55 tadzik safe enough ;)
12:55 GlitchMr In PHP, preg_replace('//e') uses addslashes() causing security issues.
12:56 tadzik not_gerd: I'm not quite fluent in Makefiles, so I'd rather leave the review to someone who knows what it does :)
12:56 GlitchMr It's so bad that they want to deprecate it - https://wiki.php.net/rfc/remove_preg_replace_eval_modifier
12:57 GlitchMr It escapes \, ' and ". The problem is that with single quotes it escapes " without reason. With double quotes, your application is hacked as it doesn't escape $.
12:58 * [Coke] yawns.
12:59 not_gerd also, I'm not sure that it's really necesary to copy the *.pm files to blib
13:00 not_gerd and I believe the lib6 versions are missing from P6LIB
13:00 not_gerd I can fix that, but I'd like to get some input first
13:02 GlitchMr I should implement magic_quotes_gpc in Acme::Addslashes which would apply addslashes() on every @ARGV value...
13:03 not_gerd phenny: tell masak re ufo: I don't think it's necessary to copy the *.pm/*.pm6 files to blib/; also, lib6/ is missing from P6LIB
13:03 phenny not_gerd: I'll pass that on when masak is around.
13:06 moritz not_gerd: what exactly does https://github.com/masak/ufo/pull/3 do?
13:13 Psyche^ joined #perl6
13:17 mikemol joined #perl6
13:23 * felher just looked at the new S32::Exceptions.
13:23 felher moritz++ #wow.
13:26 frettled moritz++ indeed, that's quite a bit of work.
13:30 jnthn So, aside from the couple of tests in nqp's t/qregex, is there anything that blocks merging altnfa?
13:31 skids joined #perl6
13:31 tadzik not that I know of
13:31 tadzik emmentaler has a clean run
13:31 tadzik well, as clean as on nom
13:34 jnthn OK, great
13:35 sergot joined #perl6
13:35 jnthn What's the latest on the precompilation?
13:35 sergot hi o/
13:35 jnthn I only had time to sorta scan the backlog but it looked like progress...
13:37 tadzik jnthn: it seems that we've nailed the issue, both with ufo and panda
13:37 tadzik I'll show you the gist of it
13:37 tadzik jnthn: https://gist.github.com/2888110
13:37 tadzik URI.pir is copied after URI.pm, but for the rest of them the .pm is newer
13:37 jnthn youch
13:37 jnthn that'd blow it
13:37 tadzik so it starts loading precompiled URI, but then fails for it cannot find a valid precompiled deps
13:37 tadzik ufo and panda are now both fixed
13:38 jnthn I'm still going to put something into Rakudo to make it complain in a more helpful way though
13:38 jnthn dang, I'd been racking my branes trying to figure out where on earth I could have a uninitialized bit of memory or something that would cause non-determinism...
13:38 tadzik :|
13:38 tadzik UncleFester6++ for finding that one
13:39 jnthn UncleFester6++ indeed. and I guess tadzik++ and moritz++ for fixing the issue; sorry if I missed anyone else
13:39 * jnthn gets back to the teaching
13:51 tyatpi joined #perl6
13:53 bluescreen10 joined #perl6
14:07 not_gerd left #perl6
14:24 TimToady moritz: negative lookaheads are not supposed to end LTM
14:29 pmichaud I'm getting close to merging the new .map code; just trying to nail down a couple of things with .tree first
14:32 mtk joined #perl6
14:37 mtk joined #perl6
14:43 felher pmichaud: if i may ask: What is the new .map code good for? Speed? New features? ...
14:43 pmichaud bugfixes and speed
14:43 felher pmichaud: okay, thnx :)
14:43 felher pmichaud++
14:44 pmichaud mostly bugfixes dealing with laziness.  but initial testing also shows it to be about 20% faster than the previous code, at least for 1..BIGNUM loops.
14:44 pmichaud should be faster for most everything dealing with iteration and lists
14:45 felher cool :)
14:46 betterworld joined #perl6
14:48 mtk joined #perl6
14:49 TimToady pmichaud: does gather/take cache the current gather target, or does take run up the stack every time looking?
14:49 pmichaud I don't quite understand the question.
14:50 moritz I guess TimToady imagines a different control flow than what is actually implemented
14:50 pmichaud take throws an exception that is then caught by the handler installed by the gather
14:51 TimToady hmm
14:51 pmichaud the handler then does the right thing with the value, and resumes after the exception when we need another one
14:52 TimToady okay, so the efficiency of a deeply nested take will depend on exceptions currently
14:53 pmichaud it's about the same level of overhead as a 'return'
14:53 pmichaud or 'next' / 'last'
14:54 moritz would it be possible for the list iterator to pass a return continuation which is invoked by &take?
14:54 TimToady if you think of the handler more as a buffer manager, then it could be passed down to the take and called directly
14:55 TimToady and then buffer policy could potentially flow downward too
14:55 pmichaud you still have to suspend execution and resume later, though.
14:55 TimToady sure, but I think of that as filling a buffer, like a pipe
14:56 TimToady so one could have a buffer with a single entry, or many
14:56 * PerlJam notices that #perl6 is speaking some other language that superficially looks like english again   ;)
14:57 sorear GlitchMr: all compile time warnings can be suppressed with #OK pattern
14:57 sorear like #OK not used
14:59 pmichaud TimToady: I'll think about it some more.  What you're saying doesn't really fit my mental picture at the moment.
14:59 sorear good * #perl6
14:59 pmichaud and I'm really wanting to get this other .map stuff merged into trunk; I feel like I've been working on it too long already.
15:00 PerlJam TimToady: your description of gather/take sounds like Perl would need to carry this "buffer manager" thing around in every dynamic scope reachable from inside the gather whether it was used or not just in case there's a take down there some where.
15:00 moritz +1 to merging when without regressions
15:00 pmichaud yeah, .tree is the only thing I have left to handle.
15:00 pmichaud and the existing .tree code is a little suboptimal
15:01 PerlJam TimToady: or ... it seems like "control" is coming from the wrong direction.
15:02 moritz pmichaud: that's not surprising, considering that I barely understood lists when I did it :-)
15:03 pmichaud moritz: yeah; and tree should be much simpler with the new .map stuff anyway
15:03 TimToady well, my original idea was simply that there may be an optimization that keeps from having to traverse the dynamic stack on every take, is all
15:04 TimToady an exception-based model seems to preclude that optmization
15:04 pmichaud at some point the block containing the take has to be suspended and resumed.  The only way I know to do that at the moment is with an exception.
15:05 kaare_ joined #perl6
15:06 jnthn Teaching done for the day :)
15:06 jnthn pmichaud: I'm gonna merge altnfa this evening, unless you have any objects?
15:07 jnthn (like..."I want to merge my branch first! :P")
15:07 jnthn er, objections :)
15:07 jnthn There's no spectest regressions and no CORE.setting changes.
15:08 pmichaud jnthn: no objections; I just hope it doesn't cause conflicts with my branches.  My time is really not my own these days; I'm having to work on .map stuff in 20-30 minute packets.
15:08 jnthn pmichaud: I find that very unlikely
15:08 moritz well, all the rakudo changes are in Grammar.pm, iirc
15:08 jnthn Right
15:08 pmichaud anything in Actions.pm ?
15:08 moritz with some mostly unrelated small matches in Test.pm and Pod::To::Text
15:08 jnthn And the NQP ones are all in nqp.ops, QRegex, etc.
15:08 jnthn pmichaud: Rakudo's Actions.pm?
15:08 jnthn No.
15:08 pmichaud well, my NQP changes are in nqp.ops and nqp pmcs
15:09 jnthn pmichaud: Yeah, but in nqp.ops I only changed the NFA runner.
15:09 jnthn pmichaud: I guess you did not touch that?
15:09 pmichaud any noticable performance improvements from altnfa, ooc?
15:09 pmichaud (I didn't touch the nfa runner.  I don't expect merge conflicts with altnfa, no.)
15:09 jnthn pmichaud: Not had chance to measure...
15:09 pmichaud jnthn: okay, was just curious.
15:09 jnthn It felt about the same.
15:10 pmichaud anyway, don't hold the altnfa branch on my account.
15:10 jnthn I'll measure it more properly tomorrow
15:10 adu joined #perl6
15:10 jnthn Once I'm home with my normal dev machine where I know the original timings
15:10 jnthn I know I can optimize things a bit more. I suspect it's about break-even at the moment.
15:10 jnthn It trims more branches, but it may make alternations a bit more costly at present.
15:11 jnthn Mostly due to invocation overhead.
15:11 jnthn Anyways, back to hotel, bbl
15:11 pmichaud I'm still seeing nice performance improvements in .map, and there should be a lot more with this latest set of changes.  I've been able to eliminate a number of intermediate Parcels and ListIters when doing iterations
15:11 jnthn Nice!
15:11 jnthn pmichaud++
15:11 pmichaud and then when we get the QRPA stuff in place, it should really be a lot faster for iteration of all types
15:11 pmichaud s/lot//
15:12 jnthn \o/
15:12 jnthn really hotel o
15:12 jnthn o/
15:12 gfldex joined #perl6
15:13 spider-mario joined #perl6
15:18 pmichaud TimToady: do you have several instances where takes are deeply nested, ooc?
15:23 pmichaud anyway, I can kinda envision a model where when we need 100 elements from a gather/take, we only throw an exception after obtaining the 100th, instead of throwing 100 exceptions
15:26 cbk joined #perl6
15:28 TimToady well, tree flatteners will recurse to the depth of the tree
15:29 pmichaud okay, that's a very good example
15:29 TimToady for good parallelism, I'd hope for a queue that can be drained on the front even while adding things to the end of the queue
15:29 pmichaud we don't have good threading in parrot, though.
15:29 * TimToady is just thinking ahead
15:30 pmichaud yes, when we get to something that can really be more parallel, it would work a lot more like a pipe.
15:30 pmichaud even in the case of tree flatteners, though, I kind of expect the take to have to look up the stack for a dynamic var or something
15:31 pmichaud I suppose we could compile-time detect the existence of take and short-circuit that lookup.... but compile-time on that feels wrong.
15:31 TimToady well, readonly dynamic vars can propagate downward in general as an optimization
15:31 TimToady like ENV gets passed to processes
15:32 TimToady and rw dynvars can at least pass down a reference to the actual location
15:32 pmichaud making dynvars propagate downward sounds like a general optimization to be done, maybe.
15:33 pmichaud yes, if our dynvars automatically propogated downward, it'd be simpler to avoid some lookups.
15:33 pmichaud *avoid some looking up the stack
15:33 TimToady otoh, doing that on every call is a problem, so it'd be more like a caching on first use
15:34 pmichaud right, I was thinking "on every call" might be icky.  getting a dynvar lookup to cache might be very interesting, though
15:34 TimToady and maybe only when we know there's a heavy loop
15:34 pmichaud could perhaps build a dynvar cache into the lexpad
15:35 dalek roast: b59ac72 | (Solomon Foster)++ | S04-statements/repeat.t:
15:35 dalek roast: Fudge for Niecza.
15:35 dalek roast: review: https://github.com/perl6/roast/commit/b59ac725eb
15:35 pmichaud anyway, 100 dynvar lookups would definitely be cheaper than 100 exception throw/resumes, so I'll still look into that optimization at some point.
15:35 TimToady not meaning to distract you (much) :)
15:38 colomon n: { a => 4, b => 2, c => 3 }  !≼ { a => 4, b => 2 }
15:38 p6eval niecza v18-5-g556574c:  ( no output )
15:38 colomon n: say { a => 4, b => 2, c => 3 }  !≼ { a => 4, b => 2 }
15:38 p6eval niecza v18-5-g556574c: OUTPUT«True␤»
15:43 adu I would like to observe
15:44 adu it seems like Parrot is the life-blood of Rakudo
15:44 JimmyZ joined #perl6
15:44 pmichaud adu: not sure what you mean by that
15:44 TimToady well, if you consider Rakudo to be a kind of mosquito, I guess
15:45 TimToady but a mosquito could bite something else
15:45 adu I'm trying to contrast with a trend I've seen here
15:45 TimToady or maybe Rakudo is a vampire...
15:46 tadzik well, Rakudo is not something I see in a mirror
15:46 adu lol
15:47 TimToady but offhand, I'd say it's more like Rakudo is the lifeblood of Parrot
15:47 adu hmm
15:47 adu the trend that Parrot developers take a long time to incorporate the spec into Parrot, while it ends up in Rakudo much sooner
15:48 adu so you're saying if it wasn't for Rakudo, then Parrot would die?
15:48 TimToady I suspect so
15:48 adu interesting
15:48 adu my analogy just exploded
15:48 sorear pmichaud: isn't take often lexical?
15:48 pmichaud sorear: lexotic, yes.
15:49 pmichaud at least, I think it was that way at one time.
15:49 TimToady lexotic is a way to *identify* the proper gather, but the mechanism is otherwise identical
15:50 TimToady either a take is lexotic, and knows the identity of its gather, or it's dynamic, and uses the first dynamically surrounding gather
15:51 TimToady but even if lexotic, the gather must be looked up dynamically
15:51 TimToady the identity just says where to stop that dynamic lookup
15:52 TimToady instead of the first gather
15:53 TimToady (the lexotic must be looked up dynamically because a given gather might occur multiple times in the dynamic context due to recursion)
15:54 TimToady looking at it the other way around, all takes look for a gather that matches, but a non-lexotic take will wildcard to the first non-lexotic gather
15:54 TimToady or another way to say that is all non-lexotic gather/take share the same identity
15:55 sorear in niecza once the proper gather is identified, switching control flow is constant time
15:55 PerlJam TimToady: is there a way for a take to target a specific gather? (say if there was a gather within a gather within a gather?
15:55 PerlJam )
15:55 sorear (but... finding the gather requires a stalk walk since lexoticity isn't implemented for this)
15:55 TimToady sorear: but do you have to re-identify on the next "take"
15:55 pmichaud afk
15:56 sorear TimToady: once it's properly lexical, the only identification required will be a lexical fetch
15:57 TimToady okay, as long as re-entering the gather produces a different target for the lexotic take
15:57 cognominal_ tadzik, I have problem build panda https://gist.github.com/2889638
15:57 cognominal_ building Panda, it complains wrongly about changes in my git clone.
15:58 * TimToady wanders off to fight with the Indian Visa website yet again...
15:58 tadzik cognominal_: rm -rf ~/.panda/src/panda
15:59 cognominal_ ok, thx
15:59 tadzik I wonder if it's a good idea to keep those repos
15:59 tadzik it tends to cause such problems from time to time
16:00 cognominal_ now you say it, I remember I have seen it before
16:01 brrt1 left #perl6
16:02 thelazydeveloper joined #perl6
16:02 tyatpi joined #perl6
16:03 * PerlJam really needs to play with Perl 6 more so that it doesn't seem like such a strange animal sometimes
16:09 moritz [Coke]: http://perlgeek.de/blog-en/perl-6/2012-localizing-exceptions.html # to answer your question about l10n hooks
16:12 cognominal_ installing SVG::Plot  gives  Virtual call %.run-modes may not be used on partially constructed objects
16:12 PerlJam moritz++
16:13 tadzik cognominal_: are you sure your SVG::Plot is up-to-date?
16:13 felher moritz++
16:13 moritz cognominal_: sounds more like CGI::Application to me than SVG::Plot
16:13 felher moritz: ... of almost all lookups in Perl6, once [can?] "override"...
16:13 moritz at least I wouldn't know why SVG::Plot needs run modes
16:13 felher *one
16:14 sorear moritz++ blogging
16:14 cognominal_ that was a transitive install, let me check where it failed?
16:15 moritz felher: should be "one can override"
16:15 moritz felher: fixing
16:15 moritz felher++
16:15 felher :)
16:17 pupoque joined #perl6
16:18 moritz cognominal_: I've fixed CGI::Application now
16:18 moritz cognominal_: or to be precise, only the tests needed fixing
16:19 cognominal_ ok, thx
16:26 [Coke] moritz++ #l10n
16:35 moritz what's the difference between = and := in Makefiles?
16:36 sorear info make Flavors
16:36 sorear if you have GNU make documentation available
16:38 moritz that shows me the same as 'man make'
16:38 moritz which doesn't explain the Makefile format at all
16:39 sorear http://www.gnu.org/software/make/manual/html_node/Flavors.html#Flavors
16:39 sorear apparently, you don't have the GNU make documentation installed.
16:40 moritz thakns
16:40 sorear probably because of the Debian GFDL kerfluffle... it's in non-free/dc
16:40 sorear /doc
16:40 moritz -O-fun
16:53 moritz https://gist.github.com/2890020 # this is how (IMHO) generated Makefiles by ufo should look like
16:55 Juerd s/how/what/
16:55 Juerd Or s/ like//
16:56 [Coke] moritz: $(shell) # bad.
16:56 moritz [Coke]: that line is a mathom and can go away
16:56 [Coke] also "cp"...
16:57 [Coke] do we need extutils?
16:57 moritz maybe
16:57 moritz or we can generate a different Makefile on windows
16:57 [Coke] Just don't want jnthn to be left out.
16:58 moritz I'm pretty sure that with my proposed makefiles he's less left out than before
16:58 [Coke] I think ExtUtils::Command would be slightly better, as it's then reusable.
16:58 moritz because it doesn't rely on gnu make specific :=
16:58 [Coke] (right, I'm not comparing this to the original, i'm sure it's a step up.)
16:59 moritz I have now factored it out into a $(CP) variable, that way it'll be easier to change toward something like EU::Command
16:59 [Coke] ah, yes, excellent.
16:59 [Coke] Do we want a different name in p6?
17:00 [Coke] (for the module?)
17:00 * [Coke] also needs to make a redis client module.
17:00 moritz no idea; I'm not yet ready to shave the yak that isn't born yet :-)
17:03 jnthn uh-oh, I'm being mentioned... :)
17:05 * [Coke] still needs (to generate?) a document that says "if you are developing a new module, use this infrastructure. If you're trying to install one, use this."
17:08 jnthn oh...makefile stuff
17:09 jnthn Well, we probably don't want to depend on a Perl 5 ExtUtils, but invoking a Perl 6 to do a copy operation portably seems fine.
17:09 moritz well yes, we were talking about a p6 version of ExtUtils
17:10 jnthn oh! :)
17:10 jnthn wtf
17:10 jnthn er
17:10 jnthn wfm
17:10 jnthn ...gah, that's the second time I've typo'd wfm as wtf
17:11 jnthn I'm pretty sure ufo doens't work out on Windows today
17:11 jnthn So anything that makes it more working is an improvement.
17:13 moritz r: class Module { }; say Module.new.perl
17:13 p6eval rakudo e75a0a: OUTPUT«Module.new()␤»
17:20 NamelessTee joined #perl6
17:23 [Coke] I will hack on EU:C unless someone beats me to it.
17:23 moritz ++[Coke]
17:23 [Coke] (and I can't start for at least another 6 hours or so. ;)
17:23 moritz I'm hacking on ufo right now, and pland to keep doing that for a while
17:25 tadzik [Coke]: did you see Shell::Command
17:25 tadzik ?
17:26 [Coke] nope.
17:26 [Coke] "my work here is done"
17:26 tadzik :)
17:26 tadzik it's faaar from complete
17:26 [Coke] it's not on http://modules.perl6.org/
17:26 [Coke] so, no, missed it completely.
17:26 tadzik it's hidden in File::Tools, which may be less than awesome
17:26 tadzik see https://github.com/tadzik/perl6-File-Tools/blob/master/lib/Shell/Command.pm
17:28 kboga p6: my grammar G { method s_m(*%n) { say(%n<a b c>) }; token TOP { <s_m(|{:a<1>, :c<3>}, :b<2>)> }}; G.s_m(|{:a<1>, :c<3>}, :b<2>); G.parse('');
17:28 p6eval pugs: OUTPUT«123␤*** No such method in class G: "&parse"␤    at /tmp/q7lAOWY5vc line 1, column 129-140␤»
17:28 p6eval ..niecza v18-5-g556574c: OUTPUT«1 2 3␤1 2 3␤Unhandled exception: Submatch to be bound to s_m returned a Bool instead of a Cursor, violating the submatch protocol.␤  at /tmp/PG5bnNm6S2 line 1 (G.TOP @ 11) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2884 (Grammar.parse @ 5) ␤  at /tmp/P…
17:28 p6eval ..rakudo e75a0a: OUTPUT«1 2 3␤Too many positional parameters passed; got 2 but expected 1␤  in method s_m at /tmp/ztcgqnx4pa:1␤  in regex TOP at /tmp/ztcgqnx4pa:1␤  in method parse at src/gen/CORE.setting:9647␤  in block <anon> at /tmp/ztcgqnx4pa:1␤␤»
17:29 kboga rakudo doesn't seem to do slurpy subrules?
17:30 moritz kboga: it looks like the call itself worked fine
17:30 [Coke] tadzik: ok. Danke.
17:30 moritz kboga: but the return value confuses rakudo
17:30 kboga yes, but there is a difference between the output in rakudo & niecza
17:30 moritz kboga: niecza's error message is much better here
17:31 kboga I'm not sure, could it be that rakudo is not slurping there?
17:31 moritz oh
17:31 kboga as it thinks its getting 2 arguments
17:31 kboga parameters*
17:31 moritz r: sub f(*%h) { say %h.perl }; f |{:a(1), :b(2)}, :c(3)
17:31 p6eval rakudo e75a0a: OUTPUT«("a" => 1, "b" => 2, "c" => 3).hash␤»
17:32 moritz right, it seems to not flatten everything into named arguments from within rules
17:32 kboga uhu, i noticed that in nqp
17:32 kboga same thing happens there
17:34 kboga Should I submit a bug report?
17:35 moritz yes please
17:36 jnthn argh. A crash...has corrupted my Rakudo git repo :/
17:36 * jnthn wonders if there's a way to recover from that short of re-cloning
17:37 tadzik git fsck?
17:38 jnthn git fsck just emits:
17:38 jnthn fatal: loose object 0f0d68f87227add51fca1ad2b39cba809829c0bf (stored in .git/obj
17:38 jnthn ects/0f/0d68f87227add51fca1ad2b39cba809829c0bf) is corrupt
17:39 tadzik :/
17:41 sorear jnthn: Delete it
17:41 sorear ?
17:41 moritz wow, I've never had something like that
17:41 jnthn sorear: Yeah, then same happens with another object :/
17:41 jnthn yeha, it's pretty fucked
17:43 jnthn ergh...chkdsk reports disk corruption too
17:43 jnthn Yeah, OK. New laptop time is gonna be soon.
17:44 jnthn Also, altnfa merge is gonna be after dinner...
17:44 kboga nqp: my grammar G {  method s_m(*%n) { say(%n<a>, %n<b>, %n<c>) };   token TOP { <s_m(|hash(:a<1>, :c<3>), :b<2>)> }}; G.s_m(|hash(:a<1>, :c<3>), :b<2>); G.parse('');
17:44 p6eval nqp: OUTPUT«123␤too many positional arguments: 2 passed, 1 expected␤current instr.: 's_m' pc 375 ((file unknown):139800375) (/tmp/y44rxr6gb3:1)␤»
17:44 kboga p6: my grammar G {  method s_m(*%n) { say(%n<a>, %n<b>, %n<c>) };   token TOP { <s_m(|hash(:a<1>, :c<3>), :b<2>)> }}; G.s_m(|hash(:a<1>, :c<3>), :b<2>); G.parse('');
17:44 p6eval rakudo e75a0a: OUTPUT«123␤Too many positional parameters passed; got 2 but expected 1␤  in method s_m at /tmp/8T2uwgsfFl:1␤  in regex TOP at /tmp/8T2uwgsfFl:1␤  in method parse at src/gen/CORE.setting:9647␤  in block <anon> at /tmp/8T2uwgsfFl:1␤␤»
17:44 p6eval ..pugs: OUTPUT«123␤*** No such method in class G: "&parse"␤    at /tmp/bXbKwkd2nI line 1, column 150-161␤»
17:44 p6eval ..niecza v18-5-g556574c: OUTPUT«123␤123␤Unhandled exception: Submatch to be bound to s_m returned a Bool instead of a Cursor, violating the submatch protocol.␤  at /tmp/7_PoQBaBXR line 1 (G.TOP @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2884 (Grammar.parse @ 5) ␤  at /tmp/7_PoQB…
17:44 kboga ok, this runs on both :)
17:45 kboga now to find out how to submit a bug report
17:45 moritz for rakudo, send an email to rakudobug@perl.org
17:46 moritz for nqp, https://github.com/perl6/nqp/issues/new
17:47 kboga thanks moritz++
17:50 kboga I was attempting to change HLL::Grammar's "method O" to take a slurpy hash instead of taking a string and it works now, with an extra call to hash(), to avoid the flattening bug.
17:51 kboga as in STD & niecza
17:51 TimToady if we're gonna have ≼ for sets/bags, we should have it for all before/after, methinks
17:51 TimToady unless the semantics differ
17:51 jnthn kboga: Such a patch will only make it in after some benchmarking to see it's impact.
17:51 jnthn kboga: Which I expect may not be good.
17:51 kboga ofcourse :)
17:52 jnthn NQP needs constant hashes first, i think.
17:52 kboga but its fun to try nevertheless
17:53 jnthn Aye. In general, all of the PIR to NQP stuff is good to do, but probably an NQP optimizer has to come before some of it. And that wants QAST and NQP to get native lexicals.
17:53 alester joined #perl6
17:53 kboga yea, that'd be awesome
17:55 TimToady colomon: the use of ≼ for bags seems to preclude its us for general before/after comparison
17:55 TimToady *use
17:55 kboga I believe that my pull request (Q:PIR to nqp) slows parsing the core setting by about 3% on average
17:56 kboga rakudo's core setting*
17:56 jnthn Included EXPR being translated to NQP?
17:56 kboga yep
17:56 jnthn OK, that's not quite so bad as I'd imagined.
17:56 moritz that's surprisingly little
17:57 jnthn Yeah.
17:57 jnthn I was expecting towards 10% or so
17:57 jnthn OK, I'm hungry...gonna go eat, then I'll deal with the last couple of nqp/altnfa tests that need some attention, then merge :)
17:57 jnthn bbi1h
17:58 TimToady colomon: in other words, it seems wrongish to me to turn ≼ into an Any,Any coercive operator
17:59 TimToady n: say 'a' ≼ 'b'
17:59 p6eval niecza v18-5-g556574c: OUTPUT«False␤»
17:59 sorear what's that new operator?
18:00 TimToady unless it is the case that mathmeticians use ≼ only for bags...
18:00 kboga https://gist.github.com/2890446 (a few speed comparisons concerning the Q:PIR to nqp branch)
18:01 TimToady sorear: http://irclog.perlgeek.de/perl6/2012-06-07#i_5694400
18:01 TimToady apparently being used for "bag subset"
18:02 kboga (The last 2 Q:PIR to nqp ones were after that last cleanup commit)
18:02 [Coke] .phenny  ≼
18:02 [Coke] phenny: .u ≼
18:02 * [Coke] sighs.
18:02 sorear .u ≼
18:02 phenny U+227C PRECEDES OR EQUAL TO (≼)
18:03 [Coke] phenny does not have "help" for those times when I forgot how to talk to him.
18:03 [Coke] ah, it's just a box here. Danke.
18:04 moritz [Coke]: http://wiki.perl6.org/phenny
18:06 [Coke] aloha, phenny docs?
18:06 [Coke] clearly the answer is write my own bot. ;)
18:09 PerlJam in Perl 6
18:10 GlitchMr nr: multi sub infix:«<<»(TextWriter $file, Str $text) is equiv(&infix:«~<») { $file.print($text); return $file; }; $*OUT << "Hello, world!"
18:10 p6eval niecza v18-5-g556574c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'infix:«~<»' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤  at…
18:10 p6eval ..rakudo e75a0a: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 2, near " $file, St"␤»
18:10 GlitchMr I know that problem is with "is equiv(&infix:«~<»)"
18:10 GlitchMr What am I doing wrong?
18:11 moritz rakudo doesn't do 'is equiv'
18:11 moritz and niecza doesn't know about ~<
18:11 moritz n: say 1 ~< 2
18:11 p6eval niecza v18-5-g556574c: OUTPUT«Unhandled exception: Buffer bitops NYI␤  at /home/p6eval/niecza/lib/CORE.setting line 1402 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3299 (infix:<~<> @ 4) ␤  at /tmp/Ze3KveBXfV line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting…
18:12 sorear moritz: it has ~<, it just contains a single die statement
18:13 sorear moritz: so I'm not really sure what's going wrong
18:13 moritz n: &infix:«~>»
18:13 p6eval niecza v18-5-g556574c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'infix:«~>»' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤  at…
18:13 sorear n: &infix:<< ~< >>
18:13 p6eval niecza v18-5-g556574c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'infix:<< ~< >>' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤â€¦
18:14 sorear I guess it's not being properly unescaped here
18:14 sorear GlitchMr: this warrants a bug report
18:15 pmichaud back for a bit
18:15 sorear o/ pmichaud
18:16 GlitchMr Just wondering, &infix:<*> should be identical to &infix:«*»?
18:18 sorear Yes
18:18 sorear n: &infix:«*»
18:18 p6eval niecza v18-5-g556574c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'infix:«*»' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤  at …
18:19 colomon TimToady: objection to the operator name itself, or just to making it Any, Any?
18:19 GlitchMr https://github.com/sorear/niecza/issues/131
18:20 GlitchMr Is it good enough bug report?
18:20 colomon std: reduce(&infix:<<*>>, 1, 3, 5)
18:20 p6eval std f179a1b: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'infix:<<*>>' used at line 1�Check failed�FAILED 00:00 45m�»
18:21 colomon std: reduce(&infix:<*>, 1, 3, 5)
18:21 p6eval std f179a1b: OUTPUT«ok 00:00 45m␤»
18:21 shachaf joined #perl6
18:24 [Coke] wiki.perl6.org. click on Login. Enter login info. ... still says "Login / Get an account"
18:25 colomon GlitchMr: I reckon so.
18:25 [Coke] edit a page. preview -ok. save. no errors. view. ... edit not visible.
18:26 geekosaur joined #perl6
18:26 moritz [Coke]: that's weird
18:27 [Coke] if I enter the wrong userid/password, it doesn't give me an error, but prompts me to login again. correct information, I leave the login screen.
18:27 [Coke] too eager caching?
18:27 moritz maybe
18:28 sorear GlitchMr: good enough yeah
18:28 shachaf joined #perl6
18:28 [Coke] AHA
18:28 [Coke] moritz: you MUST enter a description. however, there is NO error diagnostic to tell you this.
18:29 moritz [Coke]: eeks
18:29 [Coke] what fonts are people using for hacking on perl6? I tend to see a lot of unrendered characters go through here.
18:29 [Coke] also: ttp://wiki.perl6.org/fonts
18:30 pmichaud Coke:  I'm using urxvt with "Monospace" font (more)
18:30 sorear the other day I told someone in another channel that I had no Kannada fonts and they responded by telling me how to configure utf-8 in irssi and screen
18:30 pmichaud That appears to be a standard font shipped with kubuntu.
18:30 sorear was quite frustrating
18:31 eviltwin_b joined #perl6
18:32 colomon GlitchMr: are there tests for that in roast?
18:33 shachaf joined #perl6
18:34 pmichaud [Coke]: not sure how to find out how Kubuntu is mapping "Monospace" to an actual font name or font file, though.
18:35 moritz I've pushed my changes to branch 'less-smart-more-correct' in ufo
18:35 moritz it works here, in that I can parallel-make JSON::Tiny, and install it
18:35 moritz todo: installing scripts
18:36 pmichaud [Coke]: it appears to be "Droid Sans Mono" on my system; istr that I've also had good success with "Deja Vu Sans Mono" in the past.  Hope this helps.
18:37 pmichaud the relevant line from my .Xdefaults:  URxvt*font: xft:Monospace:pixelsize=12:antialias=true
18:38 [Coke] pmichaud: not me, since I'm not on kubuntu, but will post those to the wiki.
18:38 pmichaud yes, I just saw the page.  Good post :)
18:40 spider-mario I use DejaVu fonts, yeah
18:40 spider-mario Sans Mono for programming
18:40 spider-mario and Sans for IRC
18:41 [Coke] spider-mario: os?
18:42 spider-mario arch linux
18:42 spider-mario and KDE SC
18:42 [Coke] SC?
18:43 spider-mario that’s what they call the software they produce now
18:43 spider-mario KDE refers to the community
18:43 spider-mario KDE SC (Software Compilation) is the software they create
18:43 moritz Serialization Context!
18:44 moritz ok, my ufo branch now also handles installing scripts
18:44 spider-mario it includes Plasma Workspaces, KDE Framework (soon to be renamed to KDE Libraries), KDE Applications
18:44 moritz please test it!
18:44 spider-mario I meant KDE Platform, not Framework
18:44 spider-mario and it will be renamed to KDE Frameworks
18:52 Telgalizer joined #perl6
18:53 cognominal joined #perl6
18:58 dalek niecza: e52d6c3 | (Solomon Foster)++ | lib/CORE.setting:
18:58 dalek niecza: Dial back msubset and msuperset to only work on Baggy objects.
18:58 dalek niecza: review: https://github.com/sorear/niecza/commit/e52d6c3337
19:00 dalek rakudo/map2: 2125adb | pmichaud++ | src/core/ (2 files):
19:00 dalek rakudo/map2: Add the new MapIter implementation; faster .map, lazier.
19:00 dalek rakudo/map2: review: https://github.com/rakudo/rakudo/commit/2125adb2dc
19:00 dalek rakudo/map2: 099f360 | pmichaud++ | src/ (2 files):
19:00 dalek rakudo/map2: Fix FIRST phasers to work again.
19:00 pmichaud sorry, dalek.
19:00 tadzik :)
19:00 dalek joined #perl6
19:02 simcop2387 joined #perl6
19:02 dalek nqp: 25c0b53 | pmichaud++ | / (3 files):
19:02 dalek nqp: Add initial version of QRPA, a quicker ResizablePMCArray implementation.
19:02 dalek nqp: review: https://github.com/perl6/nqp/commit/25c0b5364a
19:02 dalek nqp: 27720d1 | pmichaud++ | src/PAST/NQP.pir:
19:02 dalek nqp: Add (temporary) nqp::qlist() to construct QRPA instead of RPA lists.
19:02 dalek nqp: review: https://github.com/perl6/nqp/commit/27720d1536
19:02 dalek nqp: 98f6a4e | pmichaud++ | / (4 files):
19:02 dalek nqp: Add nqp::islist().
19:02 dalek nqp: review: https://github.com/perl6/nqp/commit/98f6a4ec65
19:02 dalek nqp: fad75ad | pmichaud++ | src/pmc/qrpa.pmc:
19:02 dalek nqp: QRPA: Update comment in QRPA.set_integer_native to be a little more accurate.
19:02 dalek nqp: review: https://github.com/perl6/nqp/commit/fad75add1a
19:02 dalek nqp: b4d08d1 | pmichaud++ | / (6 files):
19:02 dalek nqp: Merge branch 'qrpa'
19:02 dalek nqp: review: https://github.com/perl6/nqp/commit/b4d08d114e
19:03 colomon faster and lazier, yay!
19:07 GlitchMr nr: print 1 / 3
19:07 p6eval niecza v18-6-ge52d6c3: OUTPUT«0.33333333333333331»
19:07 p6eval ..rakudo e75a0a: OUTPUT«0.333333»
19:07 GlitchMr 1?
19:08 pmichaud nr: print (1 / 3).perl
19:08 p6eval rakudo e75a0a: OUTPUT«1/3»
19:08 p6eval ..niecza v18-6-ge52d6c3: OUTPUT«<1/3>»
19:08 GlitchMr Let me guess, floating point issues?
19:08 GlitchMr >>> (1 / 3).toFixed(20)
19:08 GlitchMr "0.33333333333333331483"
19:08 pmichaud oh, the trailing 1
19:09 pmichaud yeah, that looks wonky
19:09 birdwindupbird joined #perl6
19:09 colomon yes, floating point issues, but floating point issues there are officially a bug now
19:10 colomon but it's a known bug, fixing it has been on my todo list for weeks.
19:11 Telgalizer joined #perl6
19:12 moritz nr: say 1/3
19:12 p6eval niecza v18-6-ge52d6c3: OUTPUT«0.33333333333333331␤»
19:12 p6eval ..rakudo e75a0a: OUTPUT«0.333333␤»
19:12 rafl joined #perl6
19:15 pmichaud hmmm, after merging into trunk it's running about 10% slower than my earlier tests.  But I'm still going to do the merge now because I can tune it up again later.
19:15 pmichaud spectesting merge now
19:16 pmichaud er, I phrased that wrong.
19:16 pmichaud After merging to trunk, it's running 10% slower than what was already there.
19:16 pmichaud But I can easily get that 10% back.
19:18 * jnthn back
19:18 jnthn oh my...is Pm about to beat me to merging? ;)
19:19 pmichaud I did the nqp merge already, yes.
19:19 pmichaud I'm spectesting the nom merge now.
19:19 pmichaud (well, waiting for a fresh build.)
19:20 moritz wait, is map2 merged into nom slower than nom, or slower than map2?
19:21 pmichaud slower than nom, about 10%, for very large loops.
19:21 pmichaud but it's properly lazy.
19:21 moritz does that already use qrpa?
19:21 pmichaud one instance
19:21 pmichaud adding more instances will make it hugely faster.
19:21 pmichaud s/will/should/
19:22 pmichaud I can't do more qrpa's yet until we get it into the serializer
19:23 Caldrin joined #perl6
19:23 Caldrin Hi!
19:23 moritz \o Caldrin
19:23 moritz pmichaud: sounds like good progress to me
19:24 Caldrin I tried to build rakudo from git with --gen-parrot
19:24 Caldrin It fails with:
19:24 Caldrin ./perl6: symbol lookup error: dynext/perl6_ops.so: undefined symbol: Parrot_pcc_set_outer_ctx_func
19:24 Caldrin make: *** [CORE.setting.pbc] Error 127
19:24 pmichaud Caldrin: do you have an older copy of Parrot installed somewhere?
19:24 pmichaud perhaps it's inadvertently finding that one
19:26 moritz https://gist.github.com/2891025 # draft for my final grant report
19:26 pmichaud urg, I'm getting spectest failures now.  :-(
19:26 moritz nothing new for those who read my latest blog posts
19:27 moritz but I'd appreciate some feedback before I send if off to Karen
19:27 Caldrin pmichaud: Yes, that may be. I tried it some time ago and I'm not really sure on which system. I'll check. Thank you.
19:27 moritz pmichaud: in which files?
19:27 pmichaud moritz: quite a lot, actually.  I'll restart and try again.
19:28 [Coke] moritz++: +1
19:28 jnthn rn: say 'abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/
19:28 p6eval rakudo e75a0a: OUTPUT«q[abcdefg]␤ 0 => q[a]␤ 1 => q[bc]␤ 2 => q[d]␤ 3 => q[g]␤␤»
19:28 p6eval ..niecza v18-6-ge52d6c3: OUTPUT«#<match from(0) to(7) text(abcdefg) pos([#<match from(0) to(1) text(a) pos([].list) named({}.hash)>, #<match from(4) to(6) text(ef) pos([].list) named({}.hash)>, Any, #<match from(6) to(7) text(g) pos([].list) named({}.hash)>].list) named({}.hash)>␤»
19:28 pmichaud let me just re-spectest with the nqp updates, first.
19:28 jnthn rn: .Str.say for 'abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/
19:28 p6eval rakudo e75a0a: OUTPUT«abcdefg␤»
19:28 p6eval ..niecza v18-6-ge52d6c3: OUTPUT«a␤ef␤Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 1262 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 268 (Mu.Str @ 15) ␤  at /tmp/zYgKGE6fR7 line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE…
19:29 moritz rn: .Str.say for ('abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/).list
19:29 p6eval niecza v18-6-ge52d6c3: OUTPUT«a␤ef␤Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 1262 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 268 (Mu.Str @ 15) ␤  at /tmp/trX99cNuug line 1 (mainline @ 7) ␤  at /home/p6eval/niecza/lib/CORE…
19:29 p6eval ..rakudo e75a0a: OUTPUT«a␤bc␤d␤g␤»
19:29 jnthn LTM strikes :)
19:29 pmichaud moritz: I would remove the parentheses surrounding "like, how do we indicate ...".  I'd just make those statements non-parenthetical.
19:30 moritz pmichaud: will do, thanks
19:30 PerlJam moritz: line 68:  "...not covered by this grant report:"  did you really mean to say that it wasn't covered by the grant itself?
19:31 dalek nqp/altnfa: 1eb6548 | jonathan++ | t/qregex/rx_captures:
19:31 dalek nqp/altnfa: Correct tests that had wrong idea about semantics of |.
19:31 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/1eb6548d33
19:31 moritz PerlJam: yes, I wanted :-)
19:31 moritz PerlJam++ pmichaud++
19:32 pmichaud moritz: other than that, I think it looks awesome.  Send it after you get others' comments :)
19:33 moritz pmichaud: thanks
19:33 moritz I promised Karen to send it tomorrow, so I still have time to incorporate feedback :-)
19:35 dalek nqp/altnfa: af98a71 | jonathan++ | t/qregex/rx_metachars:
19:35 dalek nqp/altnfa: Todo a test that was likely passed for dubious reasons before anyway.
19:35 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/af98a715ed
19:35 jnthn pmichaud: I'm ready to merge, but I know you're on with one, so I'll wait.
19:36 pmichaud jnthn: thanks.  merge in nqp or in nom, ooc?
19:36 pmichaud or both?
19:36 jnthn Both
19:36 moritz both
19:36 jnthn I know you have one in both too.
19:36 pmichaud after I finish this spectest (approx 5 mins), I can likely say "okay to merge nqp".  We'll see.
19:37 jnthn pmichaud: Well, the merges are dependent.
19:37 moritz well, if we merge nqp, we should also merge nom
19:37 pmichaud I just want to make sure my nqp merge didn't break nom
19:38 pmichaud actually, I think that after I spectest this merge and bump NQP_REVISION, I'll hold on the rest of my stuff and let you do your merges.  I can do my remaining map merges later tonight.
19:39 pmichaud I'm going to have to leave in ~45 mins anyway, and I'm not entirely certain my map merges will go cleanly as it is
19:41 jnthn pmichaud: OK :)
19:41 moritz pmichaud: so far my spectest of nom on newest nqp master looks good
19:41 jnthn pmichaud: That means I can get mine in today
19:42 pmichaud jnthn: yes, that's the other reason for letting you go first.  :)
19:42 moritz (though I'm only in S02-types so far)
19:42 pmichaud I'm up to S32-* already w/o failures
19:42 * PerlJam watches http://twit.tv/show/floss-weekly/195 and wonders if it's getting close to the time when a Perl 6 interview would be possible
19:42 pmichaud I'll likely see merlyn at yapc, so perhaps can offer there :)
19:43 pmichaud I need to do a rakudo lightning talk
19:43 GlitchMr joined #perl6
19:43 pmichaud I'm thinking of doing a talk about rakudo speed improvements since 2010
19:43 moritz "rakudo: fast as lightning" :-)
19:43 pmichaud "rakudo, not yet lightning, but at least not glacial."
19:44 PerlJam "rakudo: faster than sneakernet"  ?  :)
19:44 dalek rakudo/nom: 3325402 | pmichaud++ | tools/build/NQP_REVISION:
19:44 dalek rakudo/nom: Bump NQP_REVISION to get a version of nqp w/QRPA.
19:44 dalek rakudo/nom:
19:44 dalek rakudo/nom: Rakudo isn't using QRPAs yet, but the merge of the new
19:44 dalek rakudo/nom: map code (coming later) will make use of it.
19:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/33254022f5
19:44 pmichaud okay, spectested, committed, unlocked
19:45 pmichaud jnthn: you can do your merges whenever you like :)
19:45 jnthn woo
19:45 jnthn hah, conflict!
19:45 pmichaud I'll do some test merges locally but will wait to commit until after I can merge with whatever you do today
19:45 moritz conflict? in nqp.ops?
19:46 jnthn Yeah, resolved :)
19:49 jnthn pmichaud: altnfa only touched 3 files in Rakudo, so you should ahve no problems merging your stuff.
19:50 Caldrin left #perl6
19:50 pmichaud git++
19:50 jnthn Indeed.
19:50 moritz the majority of merge conflicts that I get can be resolved simply by removing the conflict markers
19:50 pmichaud I continue to be amazed at how smooth git merges are.
19:50 moritz and each time I wonder if git couldn't do that for me right away :-)
19:50 jnthn It got this one weird.
19:51 jnthn But it was still easy to sort out.
19:51 moritz pmichaud: me too, especially when file renames are involved
19:51 jnthn huh, wtf
19:51 jnthn Creating library perl6_ops.lib and object perl6_ops.exp
19:51 jnthn exceptions.obj : error LNK2001: unresolved external symbol _PMCNULL
19:52 jnthn Ah, guess that mistake doesn't show up off Windows...
19:53 moritz oh, probably my fault
19:53 jnthn moritz: Yeah.
19:53 jnthn moritz: I guessed right away what it was though.
19:53 jnthn So no worries.
19:53 kboga p6: sub s_s(*%n)  { %n>>.say }; s_s(|{:assoc<list>}, :assoc<left>); # which one is correct?
19:53 p6eval rakudo e75a0a: OUTPUT«duplicate named argument in call␤  in block <anon> at /tmp/ohG08nWXj0:1␤␤»
19:53 p6eval ..pugs: OUTPUT«left␤assoc␤»
19:53 p6eval ..niecza v18-6-ge52d6c3: OUTPUT«left␤»
19:54 diakopter that's a new bug, if it's a bug
19:54 jnthn Rakudo has inconsistent behavior in that areas.
19:55 jnthn For non-flattened nameds it filters out the dupes
19:55 jnthn Flattened ones it can't do that, and Parrot barfs on dupe named args.
19:55 kboga p6: sub s_s(*%n)  { %n>>.say }; s_s(:assoc<list>, :assoc<left>);
19:55 p6eval pugs: OUTPUT«left␤assoc␤»
19:55 p6eval ..rakudo e75a0a, niecza v18-6-ge52d6c3: OUTPUT«left␤»
19:55 diakopter oh
19:55 jnthn We may be able to get Parrot folks to change that. Or maybe not. Worth asking.
19:55 kboga should i report a bug or?
19:57 pmichaud always safe to report a bug
19:57 jnthn Nobody ever died reporting a bug.
19:57 pmichaud (yes, report it, it'll be a marker that we might want to go back and check it again)
19:57 kboga nobody? :D
19:58 jnthn Inga resultat hittades för "died in a bug reporting accident".
19:58 jnthn Google don't think so :)
19:58 pmichaud although I suspect we have a few bug reports on 'die'  :-)
20:00 [particle]1 joined #perl6
20:00 GlitchMr joined #perl6
20:06 cognominal_ joined #perl6
20:07 majrmovies joined #perl6
20:12 moritz we have indeed :-)
20:14 not_gerd joined #perl6
20:15 not_gerd working, but incomplete ufo version with automatic dependency tacking: https://gist.github.com/2891292
20:15 not_gerd stores dependency information in a .ufo directory
20:16 benabik joined #perl6
20:16 moritz not_gerd: check out the less-smart-more-correct branch of ufo
20:17 moritz it's a pretty thorough refactor
20:20 not_gerd looks good
20:20 not_gerd my version does automatic dependency regeneration, though (at the cost of additional complexity)
20:22 moritz seems we are moving in quite different directions
20:23 moritz one of my goals was to make the makefile less smart, so that we can eventually support non-GNU make
20:24 moritz jnthn: how is the merge coming? are you blocking on the _PMCNULL issue?
20:25 jnthn moritz: spectest almost done
20:25 not_gerd moritz: I modeled my implementation after automatic dependency generation with gcc -MMD
20:25 jnthn moritz: Just hit integration and all looking good
20:25 moritz jnthn: ok, great
20:26 dalek Heuristic branch merge: pushed 24 commits to nqp by jnthn
20:27 not_gerd also, for some reasons using .print() on a filehandle opened via open('foo',:w) did not print anything
20:27 dalek Heuristic branch merge: pushed 16 commits to rakudo/nom by jnthn
20:27 moritz not_gerd: did you .close the file handle in the end?
20:27 not_gerd moritz: yes, that was my firt idea also
20:27 jnthn There we go :)
20:27 moritz not_gerd: works here
20:28 dalek rakudo/nom: 5c00aad | jonathan++ | docs/ROADMAP:
20:28 dalek rakudo/nom: Remove completed item from ROADMAP.
20:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5c00aadde0
20:29 not_gerd ah... it's LEAVE that doesn't work...
20:29 moritz r: LEAVE say 3
20:29 p6eval rakudo 332540: OUTPUT«3␤»
20:29 tadzik so altnfa is merged no>?
20:29 dalek rakudo/nom: cd26962 | jonathan++ | docs/ChangeLog:
20:29 dalek rakudo/nom: Add a ChangeLog entry about LTM.
20:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cd26962093
20:29 jnthn tadzik: Yes.
20:29 ggoebel joined #perl6
20:29 tadzik cool
20:29 TimToady I would argue that rakudo is incorrect on http://irclog.perlgeek.de/perl6/2012-06-07#i_5695510 because the inner alternation should be doing its own level of LTM
20:30 jnthn TimToady: s/is/was/
20:30 TimToady oh, okay
20:30 jnthn TimToady: That output was before alternations did LTM :)
20:30 jnthn I just pushed the commit that changed that
20:30 TimToady \o/ then
20:30 jnthn :)
20:30 * TimToady is mercurial and fickle
20:31 TimToady not necessarily in that order
20:32 dalek features: 874ce31 | jonathan++ | features.json:
20:32 dalek features: Rakudo can have a straight + for LTM now.
20:32 dalek features: review: https://github.com/perl6/features/commit/874ce31aff
20:32 moritz jnthn++ # | LTM
20:33 PerlJam Are there some tests that exercise LTM?
20:33 moritz yes
20:33 jnthn Yeah. I suspect an autounfudge run may be in order.
20:33 moritz t/spec/S05-metasyntax/longest-alternative.t
20:34 moritz note that we also have a passing TODO for some stuff that was previously misparsed
20:34 moritz r: sub f(*%h) { say %h.perl }; f END =>
20:34 p6eval rakudo 332540: OUTPUT«===SORRY!===␤Confused␤at /tmp/GQQQ_krgjA:1␤»
20:34 moritz r: sub f(*%h) { say %h.perl }; f END => 1
20:34 p6eval rakudo 332540: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix => instead␤at /tmp/Jrk_y_g_Vj:1␤»
20:34 moritz that works with altnfs, iirc
20:35 jnthn Yeah. :)
20:36 moritz s/nfs/nfa/ # :-)
20:40 not_gerd moritz: it's the combination of LEAVE and multi which makes it fail: https://gist.github.com/2891417
20:40 moritz not_gerd: interesting
20:43 moritz n: my $s = 'aaaa'; say $s ~~ m:c/a|aaa/; say $s ~~ m:c/a|aaa/
20:43 p6eval niecza v18-6-ge52d6c3: OUTPUT«#<match from(0) to(3) text(aaa) pos([].list) named({}.hash)>␤#<match from(3) to(4) text(a) pos([].list) named({}.hash)>␤»
20:43 not_gerd r: multi sub foo() { say 'here'; LEAVE say 'not here'; } foo;
20:43 p6eval rakudo 332540: OUTPUT«===SORRY!===␤Confused␤at /tmp/CIvF5_IKma:1␤»
20:43 not_gerd r: multi sub foo() { say 'here'; LEAVE say 'not here'; }; foo;
20:43 p6eval rakudo 332540: OUTPUT«here␤»
20:47 ggoebel joined #perl6
20:47 dalek roast: fdb7bf0 | moritz++ | S05-metasyntax/longest-alternative.t:
20:47 dalek roast: correct longest-alternative.t, and fudge for rakudo
20:47 dalek roast: review: https://github.com/perl6/roast/commit/fdb7bf09b4
20:47 moritz not_gerd: will you submit a bug report, or should I?
20:48 dalek rakudo/nom: 81402b9 | moritz++ | t/spectest.data:
20:48 dalek rakudo/nom: run LTM tests
20:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/81402b96af
20:48 moritz sorear, jnthn: there's a suspiciously high number of tests TODOed for both rakudo and niecza in S05-metasyntax/longest-alternative.t
20:49 moritz might be that the tests are wrong -- please review at your convenience
20:49 dalek roast: 7ec158c | jonathan++ | S04-phasers/end.t:
20:49 dalek roast: Unfudge a parsing test we now pass.
20:49 dalek roast: review: https://github.com/perl6/roast/commit/7ec158c350
20:50 not_gerd moritz: feel free to submit
20:51 moritz r: sub foo() { say 'here'; LEAVE say 'not here' }; foo;
20:51 p6eval rakudo 332540: OUTPUT«here␤not here␤»
20:52 moritz submitted, not_gerd++
20:53 Chillance joined #perl6
20:55 moritz jnthn: when you unfudge a test whith a ticket number in the fudge description you can usually close that ticket :-)
20:55 moritz jnthn: doing that now
20:57 moritz nom: '^^^^' ~~ / ('^' | '^^')+ /; say $0.elems
20:57 p6eval rakudo 332540: OUTPUT«4␤»
20:58 moritz
20:58 * moritz also closes #104840
20:59 lichtkind joined #perl6
21:00 jnthn moritz: oh, d'oh :)
21:05 sorear majrmovies: jnthn can help you much better than I can; I have never even used NativeCall
21:08 majrmovies LOL
21:08 majrmovies Thanks sorear
21:09 jnthn jnthn? help? LOL :P
21:09 majrmovies I bet jnthn is regretting writing NativeCall because he has to answer obscure questions about my pet project
21:09 jnthn majrmovies: I'm happy to see it being used :)
21:10 majrmovies http://pastebin.com/wXUX1vXE
21:10 bruges_ joined #perl6
21:10 majrmovies I am trying to set the option in the libcurl library to write the response data to a variable instead of to STDOUT ..
21:11 majrmovies I tried capturing the STDOUT using IO::Capture::Simple, but sorear pointed out that the output is happening at a C-level, not a Perl-level so it couldn't be captured
21:12 majrmovies So the most appropriate way, using libcurl, is to set the CURLOPT_WRITEDATA parameter .. to have it write to a file instead of to STDOUT
21:12 majrmovies So, I pass in that parameter (aliased as CUROPT_FILE) ..
21:12 majrmovies And I get back "23: Failed writing received data to disk/application"
21:14 majrmovies Because I don't know if NativeCall would support a "FILE*" type, or a c-function as described by the CURLOPT_WRITEFUNCTION method
21:14 majrmovies http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
21:14 jnthn What does it actually want to pass there (as in, the C type)?
21:14 majrmovies "Data pointer to pass to the file write function. If you use the CURLOPT_WRITEFUNCTION option, this is the pointer you'll get as input. If you don't use a callback, you must pass a 'FILE *' as libcurl will pass this to fwrite() when writing data."
21:15 jnthn oh, it wasnts a FILE *
21:15 jnthn Passing a string ain't gonna help.
21:15 jnthn You actually need a C FILE *
21:16 jnthn Which fopen returns I guess
21:16 cognominal joined #perl6
21:16 majrmovies Either that or I can pass a pointer to a function (for the CURLOPT_WRITEFUNCTION) method ... but I figured that wasn't supported in NativeCall
21:16 jnthn You can on many platforms just look that up in the current process
21:16 majrmovies "Pass a pointer to a function that matches the following prototype: size_t function( char *ptr, size_t size, size_t nmemb, void *userdata); This function gets called by libcurl as soon as there is data received that needs to be saved. The size of the data pointed to by ptr is size multiplied with nmemb, it will not be zero terminated. Return the number of bytes actually taken care of. If that amount differs from the amount passed to y
21:16 majrmovies function, it'll signal an error to the library. This will abort the transfer and return CURLE_WRITE_ERROR."
21:17 jnthn Yeah, we don't do callbacks yet
21:17 pyrimidine joined #perl6
21:17 majrmovies Please explain: "You can on many platforms just look that up in the current process"?
21:17 jnthn sub fopen(Str $filename, Str $mode) is native returns OpaquePointer { * }
21:17 jnthn majrmovies: dlopen(...) supports being passed NULL on some platforms
21:18 jnthn majrmovies: In that case, it will look up anything available in the currently executing program
21:18 dalek roast: f68b56c | moritz++ | S05-metasyntax/angle-brackets.t:
21:18 dalek roast: small rakudo unfudge
21:18 dalek roast: review: https://github.com/perl6/roast/commit/f68b56c740
21:18 dalek roast: 489d98e | moritz++ | S26-documentation/05-comment.t:
21:18 dalek roast: add more test labels
21:18 dalek roast: review: https://github.com/perl6/roast/commit/489d98e6ab
21:18 jnthn majrmovies: That means you can look up things in libc
21:18 jnthn Like fopen. Probably. :)
21:18 jnthn So you can probably make this work by looking up C's fopen (file open) function, which returns a FILE *
21:19 jnthn Then pass what it returns off to libcurl
21:19 majrmovies Hmm .. very interesting ..
21:19 jnthn I suggest you also call fclose afterwards :)
21:20 not_gerd bye, #perl6
21:20 not_gerd left #perl6
21:20 jnthn dyncall does support callbacks, but wiring it up to NativeCall will need lots of luck, beer and insanity. :)
21:26 fibo joined #perl6
21:30 majrmovies Well at least that gives me some great direction to go on .. let me give that a try
21:33 majrmovies jnthn: You are a genius!  That sub fopen function worked beautifully!!
21:34 pmichaud jnthn: branch is merged now?
21:36 pmichaud afk again
21:36 jnthn pmichaud: yes
21:41 fridim_ joined #perl6
21:47 pmichaud jnthn++
21:47 pmichaud on my system, though, altnfa seems about 10% slower to compile CORE.setting than it was before
21:48 pmichaud 98 sec versus 89
21:48 pmichaud anyway, hopefully we can find ways to speed it up... and yes, it solves many problems we've had for a while
21:48 pmichaud afk again, more errands
21:48 pmichaud (98 sec parse versus 89 sec pre-altnfa)
21:49 jnthn pmichaud: That's not good, but not disasterous either. I suspect some careful profiling will be revealing.
21:50 jnthn I blug: http://6guts.wordpress.com/2012/06/07/ltm-for-alternations/
21:57 jnthn Guess I should go sleep, so I can teach my lovely bunch of TDD students good stuffs in the morning. :)
21:57 jnthn 'night o/
21:57 ivan`` joined #perl6
21:59 adu joined #perl6
22:05 cognominal joined #perl6
22:07 bbkr joined #perl6
22:26 whiteknight joined #perl6
22:46 cognominal_ joined #perl6
22:47 skids joined #perl6
23:07 [particle]1 joined #perl6
23:08 spaceships joined #perl6
23:08 NamelessTee joined #perl6
23:28 fgomez joined #perl6
23:33 fgomez joined #perl6
23:50 thou joined #perl6
23:53 tyatpi joined #perl6
23:57 Anuj joined #perl6
23:57 Anuj_ joined #perl6
23:58 Anuj_ left #perl6

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

Perl 6 | Reference Documentation | Rakudo