pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
00:05 muixirt2 joined 00:21 Muixirt left, muixirt2 is now known as Muixirt 00:25 chris2 left 00:26 Zygo left, Zygo joined 00:34 Psyche^ joined 00:40 thoughtpolice joined 00:49 cookys left 00:50 thoughtpolice left, thoughtpolice joined 00:51 Patterner left, Psyche^ is now known as Patterner 00:55 Schwern joined 00:56 r0bby left, tobeya left 01:01 muixirt2 joined 01:05 r0bby joined 01:16 Muixirt left 01:21 codeguy joined 01:33 qmole left 01:37 qmole joined 01:39 codeguy left 01:45 Schwern left 01:51 muixirt2 left 01:59 Zygo left, Zygo joined 02:08 armagad joined 02:28 kanru joined 02:33 alester joined
meppl good night 02:34
02:35 meppl left 02:43 [particle1 joined 02:46 REPLeffect joined 02:50 justatheory left 02:52 Lorn__ joined 03:00 [particle] left 03:02 armagad left 03:05 Lorn_ left 03:27 wknight8111 is now known as wknight-away 03:29 alc joined 03:30 kanru2 joined 03:47 wknight-away left 03:49 kanru left 04:14 wtgee left 04:38 alc left, alester left 04:45 thoughtpolice left 05:03 polettix left, cmarcelo left
pugs_svnbot r20216 | putter++ | [STD_red] The error message for parse failure is now prettier. 05:10
diff: dev.pugscode.org/changeset/20216
lambdabot Title: Changeset 20216 - Pugs - Trac
05:15 kanru joined 05:16 kanru2 left 05:34 r0bby left 05:40 Aankhen`` joined, r0bby joined 06:51 Psyche^ joined 06:59 smtms left 07:01 smtms joined 07:08 Patterner left, Psyche^ is now known as Patterner, integral left 07:10 meteorjay joined 07:39 iblechbot joined 07:40 pjcj joined 07:50 ruoso left 08:00 elmex joined 08:05 integral joined 08:07 wknight8111 joined 08:30 clintongormley joined 08:36 rindolf joined 08:53 pjcj left 08:55 pjcj joined 09:05 gbarr left 09:10 meppl joined 09:12 clintongormley left 09:15 pjcj left 09:43 ruoso joined 09:46 meppl left 09:54 chris2 joined 10:09 meppl joined 10:17 pmurias joined 10:35 wknight8111 left 10:58 gbarr joined 11:00 agentzh left 11:01 iblechbot left 11:17 Muixirt joined 11:50 clintongormley joined, clintongormley left 11:59 iblechbot joined 12:18 Schwern joined, Schwern left 12:19 Schwern joined 12:22 chris2 left 12:27 iblechbot left 12:41 jan_ left 12:43 wknight8111 joined 12:50 xinming_ joined 12:51 Schwern left
pugs_svnbot r20217 | pmurias++ | [elf_d] added &sleep to prelude prelude 12:58
diff: dev.pugscode.org/changeset/20217
lambdabot Title: Changeset 20217 - Pugs - Trac
12:58 kanru left, xinming left 13:03 Patterner left 13:08 kanru joined
pmurias s/prelude prelude/prelude/ 13:14
13:16 smtms left 13:21 mj41_ joined 13:30 mj41___ left 13:40 Zygo left 13:41 Zygo joined 13:42 Foke2 joined 13:43 masak joined 13:48 Foke2 left 13:49 Foke2 joined 13:55 cmarcelo joined 13:56 iblechbot joined 14:01 alester joined 14:05 rdice joined 14:17 cognominal_ left, cognominal_ joined 14:18 lichtkind joined 14:26 Foke2 left 15:03 jan_ joined 15:11 peeps[work] joined 15:16 davi joined 15:25 pjcj joined 15:26 Auzon left 15:35 rdice left 15:55 rindolf left
davi [OT]: Perl job offer, gnuherds.org/offers?id=43 15:58
lambdabot Title: GNU Herds - Free Software Association
15:58 wknight8111 is now known as wknight-away
mofino pays good 16:04
well, reasonable. 16:05
16:06 mofino is now known as WindowsLive, WindowsLive is now known as mofino 16:08 armagad joined, gbarr left 16:15 PerlJam left 16:16 kane_ left, PerlJam joined 16:20 eternaleye left 16:23 justatheory joined 16:26 gbarr joined 16:30 alc joined 16:33 rdice joined 16:48 wtgee joined 16:49 armagad left 17:02 Lorn_ joined, armagad joined 17:11 masak left 17:14 Lorn left 17:15 Psyche^ joined 17:16 Psyche^ is now known as Patterner 17:18 sscaffidi joined 17:19 mncharity joined
mncharity pmurias: how goes? 17:23
pugs_svnbot r20218 | putter++ | [STD_red] Tweak error message change. 17:26
diff: dev.pugscode.org/changeset/20218
lambdabot Title: Changeset 20218 - Pugs - Trac
17:27 barney joined 17:29 tobeya joined 17:31 Lorn joined 17:44 Lorn_ left 17:46 cathya joined 17:51 Lorn_ joined 17:53 cookys joined 17:56 wtgee left 17:59 kyrbe joined, kyrbe left 18:04 Lorn left 18:09 ruoso left 18:11 cai joined 18:22 justatheory left 18:29 sh4rm4 joined 18:42 Aankhen`` left 18:52 ruoso joined
pugs_svnbot r20219 | putter++ | [elf_c] Some prelude tweaks for elf_d. 19:00
r20220 | putter++ | STD_red_run: Bugfix recent changes. Added experimental --error-message=MSG argument.
diff: dev.pugscode.org/changeset/20220
lambdabot Title: Changeset 20220 - Pugs - Trac
19:02 nirz joined, iblechbot left 19:03 cai left 19:12 barney left 19:16 Psyche^ joined
pugs_svnbot r20221 | putter++ | [elf_d] Refactoring. elf_d no longer use()s elf_c files. 19:16
diff: dev.pugscode.org/changeset/20221
lambdabot Title: Changeset 20221 - Pugs - Trac
mncharity TimToady: how goes? 19:17
19:17 Patterner left, Psyche^ is now known as Patterner 19:19 nirz left
mncharity So elf_d now has code for runtime swapping of compiler, parser, and emitter. Being untested, it must not work. Reports of not workingness encouraged. 19:20
TimToady still very busy with $dayjob... 19:22
mncharity Some of it certainly has the taste of a KISS violation. But part of it was needed anyway, and while I'm seeing 10 sec self compiles, not everyone is. And pruning 10 from a edit-test inner loop is nice too. 19:23
re $dayjob, ah, ok. np. just touching base. 19:24
19:34 Lorn__ left
pmichaud TimToady: did you get my emails, or are they being lost in space somewhere? 19:34
(or perhaps the replies are being lost in space) 19:35
TimToady I replied to one a day or two ago...
19:35 alc left
pmichaud okay, I'll double-check my spam filters again. Thanks. 19:35
TimToady it's not stuck on my machine...
pmichaud I know I was having trouble with an over-aggressive spam filter this past weekend, so perhaps that's it
anyway, thanks. 19:36
mncharity /me wonders how many people-lives (analogous to man-hours) are cost daily dealing with spam. :( 19:37
pmichaud yes, it was trapped in my spam filter at gmail.com 19:39
TimToady I wonder why it thought it was spam... 19:40
pmichaud I'm trying to see if I can find out
it got past pobox.com's filters, but gmail complained 19:41
TimToady it was from Larry Wall, so obviously forged :)
or maybe any email mentioning money is automatically considered bogus... 19:42
pmichaud there's another message in my spam filter from "Damian Wall", which I find incredibly frightening
TimToady or maybe it's a plot by all the Python programmers at Google...
pmichaud heh. I think it's a Google plot. 19:43
mncharity rouso: in the www.perlfoundation.org/perl6/index....p_language fib example, fib is declared as a method, but called as a sub. are self.fib(...) calls intended? (aka, $.fib(...)) 19:44
lambdabot Title: SMOP s1p Language / Perl 6
pmichaud wow, on Apr 2 gmail had a *lot* of false positives -- 13 so far 19:50
TimToady april fools filter got out of hand, maybe 19:53
pmichaud nothing since then -- just on april 2 19:55
20:04 cathya left
pmurias mncharity: re how goes - i'm ok 20:06
what is the runtime swaping about? 20:10
20:11 IllvilJa left
mncharity re runtime swaping, ../elf_d EmitSmop.pm -s -e 'method xxx($yyy){3}' #=> big ugly mess of C code. 20:13
pmurias yes 20:14
mncharity EmitSmop.pm simply ends with $*emitter1 = EmitSmop.new;
pmurias and what does the internal vs external destintion refer to?
* destinction in the README 20:15
mncharity ../elf_d EmitSmop.pm -e 'say 3' still works, because it's still using $*emitter0.
"internal" -> eval(). "external" -> the output of elf -x -e 'p6 code'. 20:16
20:16 thoughtpolice joined
pmurias mncharity: why not do it the way kp6 does it? 20:17
with proper plugins
?
mncharity the distinction between what compiles and runs the inside of a BEGIN{...} during compilation, vs what compiles and emits the rest of it.
"proper plugins"?
oh, an array of random things following an api which then each get run? 20:18
pmurias right you need a second emitter for eval
s/eval/BEGIN blocks 20:19
mncharity well, you already have that one, as part of the runtime of the implementation itself. you need a second one if you want to emit other cruft. :)
pmurias yes 20:20
;)
mncharity re 'why not an array of random things following an api which then each get run?', because the current scheme is much simpler. and even that I'm not sure isn't a "failure to KISS". 20:21
pmurias i think just runtime "patching" the compiler is horrible 20:22
mncharity but feel free to write a pluggins thing. elf_d -e 'class PluginCompiler is Compiler { }; $*compiler1 = PluginCompiler.new;' ;)
pmurias it would be more of a custom ElfD.pm 20:23
mncharity right
re runtime patching horror, ah, but that's p6. BEGIN { $?COMPILER = ... }; or something vaguely like that. 20:24
BEGIN { temp COMPILING::<$?PARSER> := MyGrammar; } 20:25
pmurias mncharity: the PARSER is not the whole compiler
mncharity BEGIN { temp COMPILING::<$?WHOLE_COMPILER> := ... } 20:26
pmurias mncharity: don't think it's possible
what you propose is more like BEGIN { eval slurp(@ARGV[0]) } 20:27
mncharity I don't see why not. In fact, it would be nice to have lexically scoped compiler replacement. sub do_some_math($matrix1,$matrix2) { use WizzyCompilerForMatricesButWhichUnderstandsLittleElse; $matrix1 * $matrix2 } 20:28
pragmas on steroids
20:29 justatheory joined
mncharity re 'BEGIN { eval slurp', ah, but all this is optimizing, basically, for you. for backend compiler writers. while one will likely be able to do something similar in p6, the runtime swap stuff is just to get the assorted kp6 backends which stalled, unstalled. 20:30
pmurias it could be usefull, but it would need take of many things, tie-ing emitters together 20:31
mncharity: wouldn't seperate compilation solve it more cleanly?
20:31 _bob_k joined
mncharity did you see the current elf/README? (ie, can I start the explanation where that story leaves off?) 20:32
pmurias mncharity: yes 20:33
mncharity ok, so... 20:34
pmurias nods 20:35
mncharity /me ponders... slowly... 20:37
re 'wouldn't seperate compilation solve it more cleanly?', you mean "separate compilation would speed up self compilation, so you wouldn't need this hack", yes? 20:38
pmurias yes
20:38 cathya joined
mncharity you would still need a mechanism to have two independent compiler chains usable at the same time, yes? 20:39
pmurias yes 20:40
mncharity so something like the $*compiler0 and $*compiler1 distinction is needed for that. 20:41
the question then is whether $*emitterN and $*parserN was overkill.
pmurias dosn't look that usefull 20:43
mncharity $*emitterN was motivated by having near-term projects (smop, kp6-ish p5 emitter), which would need to change the emitter, but likely not the rest of the Compiler. And that while the emitter class is starting to be fairly clean, modulo IRx1 settling down, the Compiler class is still "ewwwh. icky". Having $*emitter meant noone needs to mess with Compiler soon, 20:45
and I can keep changing it. Also, critically, adding it was, well, not painless, but fairly simple, and less icky than the alternative. 20:46
pmurias re $*parserN $?PARSER should be enough
mncharity $*parserN went it because having already gone down the path, the marginal cost of doing it again was not a large, and I'd like to start having STD5.pm be an alternate parser in the not too distant future. 20:47
pmurias would seperate compilation solve the speed problem? 20:48
mncharity re '$?PARSER should be enough', for Perl 6 you mean? for elf... elf doesn't understand '?' twigils. actually, elf doesn't even understand '*' twigils, but the way the whole program compilation works is currently allowing that to be fudged (prelude defined our $compiler, and...). elf also doesn't have grammars. so $?PARSER is rather a non-option at the moment. 20:51
as for it being enough for Perl 6, well, that's a discussion for another month. one nearer Christmas. :) 20:52
pmurias mncharity: what i meant is that only uses the current grammar at the given moment 20:53
on the other hand i haven't really thought about it much 20:55
20:55 Southen_ left
mncharity re speed, seperate compilation could speed things up. though I note, while self compilation takes me 10 sec, simply starting elf_d takes 2 sec. So... if folks start using separate compilation, it might be worth adding an option to permit a single run to compile to multiple output files. 20:56
so... I don't know. I don't get warm fuzzies from the current solution. But the alternatives all seemed worse. Perhaps elf_f will rip it all back out. 20:57
20:58 sscaffidi left
pmurias why does startup take so long? 20:59
mncharity lots of Moose.
hmm, no, let's see...
for self compilation, profiling shows most of the time being Moose stuff. 21:00
for startup, I don't know. please feel free to profile. :)
elf_a is much faster. :/
pmurias so if we don't use moose,the problem vanishes? 21:01
mncharity one might do a non-Moose runtime. moose folks mentioned Class::Attribute. but... 21:02
I suspect people very quickly start caring more about test suite passing than about the 3x performance hit.
and Moose is the best platform to make that happen on p5. 21:03
at least for the next month or few.
21:04 barney joined 21:05 barney left
pmurias mncharity: running (a part) of the test suit would be nice 21:05
mncharity a couple of sanity tests pass :) 21:06
but yes, agreed.
21:06 iblechbot joined
mncharity I've been meaning to check how much of t/ can be currently parsed by STD_red. but I'm afraid it won't be much, do to some things like $x++ not parsing. 21:07
21:08 _bob_k left
pmurias it would be nice just to have a couple of tests passing to automaticly check if a change didn't brake everything 21:08
mncharity it's getting to be time to resync STD_red with STD.pm. but... I'm not looking forward to doing it. and it's not yet 'quite' at the top of the todo list, so... sigh.
pmurias and it would make it possible to check if a modified compiler can compile itself 21:09
mncharity re regression testing, agreed. elf is getting featureful enough that self-compilation no longer constitutes a sufficient regression test.
I was thinking of a create_regression_test.pl that has a list of all passing kp6 and pugs t/ tests, which it then... something. 21:10
pmurias a script for doing the self-compilation check could be made
mncharity: it sounds sound 21:11
mncharity the assorted readmes, such as elf_d_src/README, have a quick self-comp check. I though of automating it more, but... doing it by hand reminds me each time that what it's doing really isn't quite adequate. :) 21:12
pmurias doing it the gcc way should be enough 21:14
mncharity gcc way?
pmurias testing if the compiler can compile itself, and the result can compile itself
running the test suit at each step 21:15
mncharity ah, yes. that's the missing piece. the test suite.
any interest in porting the kp6 p5 backend to elf? or otherwise learning about all the assorted Perl6::mumble p5 modules, and trying to blend them into a p5 backend? 21:16
I'd be happy to spew Prelude code in support of it.
pmurias re porting kp6 p5 backend: none at all 21:17
it has horrible speed 21:18
21:18 lisppaste3 left
mncharity basically, until we start passing a non-trivial portion of the pugs t/ suite, elf remains mostly a tool for p6 internals hackers. 21:18
re horrible speed, but elf... oh, I see. :/
hmm... 21:19
pmurias shower&
mncharity as soon as elf_d's IRx1_Analysis goes in, it will be possible to remove the current kludge re function calls, and start doing more principled handling of variables. 21:20
ok, np
and the Moose performance certainly seems fine for starting to get tests passing.
21:20 lisppaste3 joined 21:21 rdice left
mncharity so any interest in working on a non-kp6 p5 backend? 21:21
21:21 rdice joined
mncharity or a ruby backend. I'd also be happy to help anyone with doing a ruby backend. or common-lisp. 21:22
currently hacking a quick emitter for rouso's smop example. 21:23
21:24 cosimo joined
mncharity bbl& 21:24
cosimo hi all 21:25
21:25 rdice left 21:28 cosimo left, IllvilJa joined
pmurias cookys: hi 21:35
spinclad cosimo_who_left: hi 21:39
pmurias ;) 21:42
21:43 pmurias left 21:46 Foke2 joined 21:59 thoughtpolice left 22:05 alester left 22:11 Auzon joined 22:21 rindolf joined
cathya /libexec/ld-elf.so.1: /web/opt/apache22/lib/perl5/site_perl/5.8.8/mach//auto/Apache2/RequestIO/RequestIO.so: Undefined symbol "Perl_Tstack_sp_ptr" 22:28
bloody hell
it's a freebsd/perl/threading screwup
wolverian mncharity, re moose perf, would MooseX::Compile help` 22:34
s/´/?/
22:49 rindolf left 22:53 Limbic_Region joined 23:00 iblechbot left 23:25 wtgee joined 23:31 wtgee left 23:34 spx2_ left 23:35 spx2_ joined 23:47 armagad left 23:50 armagad joined 23:54 Auzon left
mncharity wolverian: re moose perf, the 2 sec startup? re MooseX::Compile help, could be. the classes are all already made immutable (#moose++), which was a big payoff, and no modules are loaded. so the remaining payoff would be avoiding Moose method generation? 23:58
23:59 peeps[work] left
mncharity one might try something like cp elf_x elf_x.pm; invoke mx::c (not sure how?), and then see if perl -I. -e 'use elf_x;' -e 'say 3' 23:59