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 |