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