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. |
|||
clkao | i am not saying we don't need testing. | 00:13 | |
oop miscan | 00:14 | ||
00:33
BinGOs joined
00:42
Auzon left
01:05
dduncan joined
01:06
elmex_ left
01:08
tobeya left
01:10
LazyJim left,
meppl left
01:11
meppl joined
01:12
dduncan left
01:29
wknight8111 joined
|
|||
meppl | good night | 02:00 | |
02:02
wknight8111 is now known as wknight8112,
wknight8112 is now known as wknight8111
02:03
meppl left
02:44
damianc joined
03:01
peepsalot left
03:02
peepsalot joined,
Limbic_Region left
03:10
peepsalot left
03:11
peepsalot joined
03:12
justatheory left
03:14
peepsalot left,
peepsalot joined
03:20
peepsalot left
03:22
peepsalot joined
03:24
alester joined
03:25
peepsalot left
03:26
peepsalot joined
03:34
peepsalot left
03:35
peepsalot joined
03:37
justatheory joined
03:39
peepsalot left,
peepsalot joined
03:41
peepsalot left
04:15
damianc left
04:19
wknight8111 left
|
|||
mncharity | i suppose it's technically tomorrow already, and way past end of day, but let's see, something quick... | 04:30 | |
04:32
wtgee joined
|
|||
mncharity | v6/v6-KindaPerl6/src/KindaPerl6/Runtime/Perl6/Match.pm is Capture is Value... hmm. simpler... | 04:34 | |
g'night all & | 04:37 | ||
pugs_svnbot | r20166 | putter++ | [elf_b] Dropped new() from ir_nodes.p6. Moose provides. The real-soon-now elf_b_create ast_handler creator can almost as easily use named arguments as positional. | ||
diff: dev.pugscode.org/changeset/20166 | |||
04:37
mncharity left
|
|||
lambdabot | Title: Changeset 20166 - Pugs - Trac | 04:37 | |
04:50
FurnaceBoy left
05:09
vsoni joined
05:30
vsoni left,
alc joined
05:37
justatheory left
05:44
alester left
06:32
penk joined
06:34
wtgee left
06:59
BinGOs left
07:16
BinGOs joined
07:17
BinGOs left,
BinGOs joined
07:18
BinGOs left
07:26
BinGOs joined
07:42
Aankhen`` joined
07:46
marmic left
08:11
marmic joined
08:26
iblechbot joined
08:34
elmex joined
08:58
Southen_ joined
09:54
meteorjay joined
09:55
ruoso joined
10:17
codenight joined
10:32
alc left
|
|||
ruoso . o O ( *sigh* It's probably two weeks without coding SMOP... real life sucks... *sigh* ) | 10:38 | ||
10:46
xinming joined
10:49
codenight left
10:55
IllvilJa joined
11:42
Lorn left
11:49
Lorn joined
12:09
Lorn_ joined
12:22
Lorn left
12:24
r0bby left
12:36
FurnaceBoy joined
12:39
r0bby joined
12:42
iblechbot left
12:45
[particle1 joined
13:01
penk left
13:03
masak joined
13:30
wknight8111 joined,
iblechbot joined
13:31
lichtkind joined
13:36
eternaleye left
13:46
cmarcelo joined
13:47
simcop2387 left,
simcop2387 joined
13:54
rdice joined
14:01
alester joined
14:14
pmurias joined,
pmurias left
14:20
orafu joined
14:32
TJCRI joined
14:36
avar left,
avar joined
14:58
mncharity joined
|
|||
mncharity | ruoso: re two weeks without coding SMOP, :/ | 14:58 | |
15:11
LazyJim joined
15:21
Foke2 joined
15:40
Zygo left,
Zygo joined
15:51
Aankhen`` left,
Foke2 left
15:56
pmurias joined
16:01
gbarr joined
|
|||
pmurias | mncharity: does the order of fields returned by field_names matter (other than being the same as field_values)? | 16:17 | |
16:17
justatheory joined
16:22
wtgee joined
16:26
Foke2 joined
16:37
Jamtech joined
16:40
Jamtech_ joined
16:45
tobeya joined
16:46
Jamtech_ left
16:57
Jamtech left
|
|||
pugs_svnbot | r20167 | lwall++ | [STD] fighting all kinds of YAML, TRE, and P5 bugs... | 17:00 | |
diff: dev.pugscode.org/changeset/20167 | |||
lambdabot | Title: Changeset 20167 - Pugs - Trac | ||
17:07
masak left
|
|||
mncharity | lol #re commit message | 17:17 | |
sigh | |||
re YAML, it might be easier and faster to do a "dump as p5" format like STD_red_run's new --dump5. | 17:18 | ||
17:21
xinming left
|
|||
TimToady | I'm just dumping lex/* as raw lines now | 17:22 | |
17:23
eternaleye joined
|
|||
TimToady | the only thing left in YAML is the DATA section, and that seems pretty harmless | 17:23 | |
17:25
wtgee left
|
|||
mncharity | ok | 17:29 | |
err, "nod" | 17:30 | ||
17:44
barney joined
17:46
cmarcelo_ joined,
cmarcelo left
17:52
[particle1 left
|
|||
mncharity | my first bit of programming on elf_b. yay. :) | 17:53 | |
pugs_svnbot | r20168 | putter++ | [elf_a] Start of for() and while() support. New -xe option: -xe -e 3 runs 3 in a separate perl. | ||
r20168 | putter++ | [elf_b] New -e CODE. Calls STD_red, and builds a Match tree. Match::describe is unfinished. | |||
diff: dev.pugscode.org/changeset/20168 | |||
lambdabot | Title: Changeset 20168 - Pugs - Trac | ||
mncharity | oops, forgot to svn add Match | 17:55 | |
pugs_svnbot | r20169 | putter++ | [elf_b] Add the new Match.pm file missing from r20168. | 17:59 | |
diff: dev.pugscode.org/changeset/20169 | |||
lambdabot | Title: Changeset 20169 - Pugs - Trac | ||
pmurias | mncharity: why do you prefere positional arguments to named ones? | 18:01 | |
* prefer | 18:02 | ||
mncharity | pmurias: in what context? | 18:03 | |
the --dump5 format uses positional because it's faster in p5, plus smaller and simpler. | 18:04 | ||
pmurias | in Match.pm you wrote a special positional version of new | 18:05 | |
mncharity | with it, knowledge about Match's exact method names remains localized in Match for now, rather than leaking into main.p6, which otherwise has no need for it. so it's a firewall to stop Match naming decisions from propagating into main.pl. | 18:07 | |
Also, Match, and its field name choices, hadn't been written yet when the main.p6 code was. :) | 18:08 | ||
err, s/main.*/main.p6/g | |||
pmurias | the first reason is a bit lame | 18:11 | |
can i purge Match.make ? | 18:14 | ||
mncharity | re lame, perhaps, but it's compartmentalization. The dump pipe/format and its ends should be independent of the Match format used (since every single p6 impl has had a different one, and that's not likely to stop). make() is basically make_from_dump5_match_format(). | 18:16 | |
pmurias | you count on the positionals being maped to the right attribiutes nonetheless | 18:17 | |
mncharity | placing the make_from_dump5_match_format in Match rather than in a not yet existent Parser class which encapsulates the pipe might be something to refactor in future, but as Parser doesn't really exist yet, just scattered pieces of it, and as Match is likely to change, the current location seems plausible. | 18:18 | |
the match() terms on the --dump5 pipe are defined positionally. | 18:19 | ||
and subject to change of course - I punted bool for instance, since it currently isn't being used in STD_red match trees. which perhaps needs to change, but for now, kiss. | |||
but the contents and layout of those terms are a separate issue from how any particular p6 client may chose to structure its Match object. | 18:20 | ||
18:21
marmic left
|
|||
pmurias | sorry, misunderstood Match.make() intended purpose | 18:21 | |
wouldn't | 18:22 | ||
package Fastdump { sub match ($r,$s,$f,$t,$h){Match.new('rule',$r,'str',$s,'from',$f,'to',$t,'hash',$h)} | |||
} | |||
be cleaner? | |||
forgot the rationale at the top | 18:23 | ||
silly me | |||
mncharity | so the question is, should the nacient Parser code, depend Match providing an "undump" function (ie, "Match understanding pipe format"), or should Parser understand Match layout. I guess it doesn't matter much at the moment, since they are both likely to change. spreading pipe knowledge around seemed simpler... not sure why. perhaps because the current Match | ||
seems even more of a hack than the pipe layout. | 18:24 | ||
pmurias | the Match.new interface needs to be specced | 18:26 | |
* speced | |||
mncharity | with the exception of from() and to() there, everything else is non-spec. AST handlers unavoidably have to deal with it, though the current ast_handler.config preprocessor provides insulation from .rule and .str. | ||
re speced, yes | |||
Match has "been in need of" spec'ing for a very long time. But there are sort of different visions for what Match is. And the choices seem non-local, tied up in regex engine implementation for instance. So... the issue gets deferred, probably properly so. | 18:28 | ||
my impression is only the from(), to() and the coerced behavior of Match (eg, as hash or bool or ...) have been speced. I could well be wrong/out of date though. | 18:29 | ||
taking a look at Snn and making elf_b_src/Match.pm ... err... can't resist... making elf_b_src/Match.pm match them... would be great. | 18:30 | ||
hmm, though maybe that should wait for elf_c. | |||
pmurias | you can't resist looking at the spec? | 18:31 | |
mncharity | focus of elf_b is to work at least as well as elf_a, being able to compile itself and be used as the platform for further development. | ||
re ?, err, no, lame pun, never mind. | |||
18:34
qmole left
|
|||
mncharity | so anyway, that's the story on make(). no big deal - whichever. feel free to do your suggested edit. a first commit by someone else to elf_b! woot :) that would be nice. | 18:37 | |
18:38
meppl joined
|
|||
mncharity | pmurias: I'm contemplating adding a cache for parser output, to speed things up. I'd be interested in any feedback re "it's fine" vs "yeah, faster would be more usable". | 18:43 | |
pmurias | it dosn't matter to the user much only for the elf developer | 18:47 | |
mncharity | hmm, re "AST handlers unavoidably have to deal with it", err, no. that's wrong. I was confused. the whole point of that preprocessing of ast_handlers.config to avoid dependency on .str is because then the handlers *don't* have to deal with it. Keeping the internal structure of Match something only (un)dumpers and elf_x_create have to worry about. | 18:48 | |
elf developers are currently the only users. :) so I gather that was a "yes, faster would be more usable"? | |||
pmurias | yes | 18:50 | |
mncharity | ok. sounds like a plan. indeed, even the 7 sec delay when working on main.p6 was getting to be a pain. | 18:51 | |
so caching and perhaps better error messages for usability, finishing match_describe and a start at ast_handlers for elf_b. | 18:53 | ||
pmurias | & | 18:57 | |
mncharity | lunch & | 18:58 | |
19:00
Psyche^ joined,
cmarcelo_ is now known as cmarcelo
19:16
Patterner left,
Psyche^ is now known as Patterner
19:21
TJCRI left
19:33
peeps[work] joined
19:40
barney left
19:44
marmic joined
19:46
qmole joined
20:01
Lorn_ left
20:03
Lorn joined
20:10
thoughtpolice joined
20:11
ruoso left
20:22
Jamtech joined
20:28
perlbot left,
perlbot joined
20:35
Lorn left
20:39
Lorn joined
20:57
TJCRI joined
|
|||
pmurias | mncharity: would it speed up the compile if methods in ir_nodes where inherited instead of generated? | 21:03 | |
21:14
eternaleye_ joined
21:15
eternaleye left,
eternaleye_ is now known as eternaleye
|
|||
mncharity | pmurias: anything which reduces the code to be parsed, would speed up the compile. but since our objective to create lots more code, it's a best a very short term fix. let me check in an attempt at a caching STD_red_run... | 21:33 | |
pmurias | mncharity: caching code - that assumes the code dosn't change right? | 21:40 | |
mncharity | right | ||
so it doesn't help if you are working one something big, like ir_nodes.p6 | 21:41 | ||
pugs_svnbot | r20170 | putter++ | [STD_red_run] An attempt at caching, to speed repeated parsing. | ||
diff: dev.pugscode.org/changeset/20170 | |||
lambdabot | Title: Changeset 20170 - Pugs - Trac | ||
mncharity | but if you are working on something else, eg, Match.p6, then the ir_nodes.p6 parse will be fast after the first run. | 21:42 | |
just set STD_RED_CACHEDIR to some temporary dir. | |||
for me, the caching takes the 7 sec ./elf_b_create down to 3 sec. | 21:44 | ||
of which 1+ is ./elf_b perl5 startup time, so the compile+emit is taking < 1 sec. | |||
err, no. < 2 sec. | 21:45 | ||
I'd be interested in hearing how it runs for you. | 21:46 | ||
21:50
TJCRI left
|
|||
pmurias | STD_RED_CACHEDIR env var? | 21:50 | |
mncharity | yes | 21:52 | |
--help has some details. only one of note here is -e CODE isn't cached. | 21:53 | ||
pmurias | 11sec | 21:54 | |
mncharity | :/ | 21:57 | |
pmurias | the orginal thing is even slower | ||
mncharity | the first run takes how long? | ||
pmurias | mncharity: the cached matches are very large | 21:58 | |
24sec | |||
the cached file is 968K | 21:59 | ||
* are | 22:00 | ||
mncharity | could try compressing them. but on a cpu limited machine that seems problematic. success would depend on the filesystem being even slower. hmm. | 22:02 | |
i really really want to avoid the mess of build systems and individual file compilation. | 22:04 | ||
pmurias | the string that was matched against is duplicated over and over again | ||
mncharity | I don't suppose your laptop has a cpu knob, one with a "waste power, be hot, run fast" setting? :) | 22:05 | |
"the string that was matched against"? oh, yes. | |||
currently each Match object has its own copy of its match string, rather than using indexes into a single copy of it. | 22:06 | ||
22:07
Jamtech left
|
|||
mncharity | perhaps order 10x bigger. | 22:07 | |
went back and forth a couple of times fighting with yaml. didn't seem to have any performance impact. | 22:08 | ||
pmurias | mncharity: i'm using a standalone box | 22:09 | |
22:09
Limbic_Region joined
|
|||
pmurias | * desktop box | 22:10 | |
mncharity | oh, sorry, misremembered | 22:13 | |
hmm. | |||
sigh. | 22:14 | ||
pmurias | np | ||
;) | |||
mncharity | lol | 22:15 | |
relieved lol :) | |||
22:20
elmex left
|
|||
pmurias | mncharity: is there a reason for not keeping on copy of the str? (besides simplisity) | 22:20 | |
22:21
rdice left
22:23
Blazeix joined
|
|||
mncharity | pmurias: not really. could tweak the --dump5 protocol to be something like matching_string('...one copy...',match('comp_unit',0,3,{...})) and then unpack it at the other end. | 22:24 | |
pmurias | i get try doing it tomorrow | ||
s/get// | 22:25 | ||
mncharity | hmm.. matching_string('...one copy...'); match('comp_unit',0,3,{...}) | ||
not s-expressions, but function calls. :) | |||
re tomorrow, :) | |||
might want to check how fast it is just to pipe it through compress or gzip -<small int>. with the text gone, it will be more a machine format than one which can be eyeballed, so could go all the way. :) | 22:27 | ||
pmurias | maybe bind_str('string',0); match(...,get_string(0)) | 22:28 | |
mncharity | (un)compressing it would just be a 2 line change. | ||
pmurias | loading the match by perl takes 0.65sec | ||
22:29
BinGOs left
|
|||
mncharity | re 10000 copies of "get_string", perhaps have a match2(...) in which the get_string is implicit. | 22:29 | |
but I like being able to index into multiple strings... | 22:30 | ||
pmurias | i should get to sleep instead of wasting time not coding | 22:31 | |
22:31
pmurias left
|
|||
mncharity | good night... | 22:34 | |
the current dump is 34x bigger than the ir_nodes.p6. gzip -9 takes that down to 3x in < 0.1 sec. | 22:36 | ||
s/than/for | 22:37 | ||
but... we are talking less than a MB. for a big file. do we care? | |||
22:39
eternaleye left
22:41
lichtkind left
|
|||
Blazeix | Hi, I'm trying to learn Perl 6, so I'm implementing a card game. I was originally going to use an array of strings to keep track of the suit types, but I was wondering if there was a more perl6-centric way. Any insights? | 22:43 | |
maybe a junction? | 22:46 | ||
mncharity | class Suit? | ||
Blazeix | And just have publicly accessible constants? | 22:50 | |
pugs_svnbot | r20171 | putter++ | [elf_a] Added kludgy primitives for s/// and file_exists(). Added quote:regex and its IR node. $x.re_gsub(/b/,'B') emits as $x =~ s/b/B/g; | 22:53 | |
r20171 | putter++ | [elf_b] Fleshed out match_describe(). elf_b, given its own code, currently dumps a description of the Match tree. >4x slower than elf_a does. | |||
diff: dev.pugscode.org/changeset/20171 | |||
lambdabot | Title: Changeset 20171 - Pugs - Trac | ||
mncharity | p5 encouraged a very "bottom up, non-oo, minimalistic" style. p6 is much more like ruby or python in encouraging a more oo approach. so more like "what are my concepts, and the operations on them - those can be objects", than a p5-ish "what language primitive shall I use to express a concept". | 22:56 | |
my answer to "how to learn p6" is starting to be "learn ruby". :) | 23:00 | ||
23:02
cmarcelo left
23:10
peeps[work] left
23:16
eternaleye joined
23:25
iblechbot left
23:26
eternaleye left
23:31
cmarcelo joined
23:32
eternaleye joined
23:50
cai joined
23:51
cai left,
cai joined
|