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:00 Lorn left
mncharity TimToady: re $.foo(), so... has $.a; method b(){ $.a(); $.b(); $.a.(); $.b.(); } where $.a contains a sub(). All valid? 00:03
hmm, or maybe not $.b.() 00:04
ah well. i guess emitting $.a() vs $.b() requires non-local analysis. so self. everywhere for now. 00:14
00:18 Psyche^ joined
mncharity dinner & 00:19
00:36 Patterner left, Psyche^ is now known as Patterner
pugs_svnbot r20177 | putter++ | [elf_a] '$.foo()' now calls method foo. Use '($.foo).()' or 'my $tmp = $.foo; $tmp()' to call a sub() stored in 'has $.foo'. 00:39
diff: dev.pugscode.org/changeset/20177
lambdabot Title: Changeset 20177 - Pugs - Trac
diakopter mncharity: yes, it has the additional feature of not hitting svn.perl.org constantly. It pulls from the rss of SVN::Web (which polls/caches from svn.perl.org). It also (we think) won't "flood" the channel *as much*. 00:45
00:57 stevan__ joined 00:59 cmarcelo left 01:11 explorer left 01:14 stevan_ left 01:16 cnhackTNT joined 01:19 ruoso left 01:21 justatheory joined 01:31 thoughtpolice joined 01:35 wtgee joined 02:17 hcchien joined 02:37 Foke2 left 02:47 lichtkind_ joined 02:49 thoughtpolice left 02:54 stevan__ left, justatheory left 03:06 lichtkind left 03:11 wknight8111 is now known as wknight-away 03:12 elmex_ left 03:29 wknight-away left
mncharity elf_b first light. 'say 3' compiles. 03:43
pugs_svnbot r20178 | putter++ | [elf_b] First draft of emit_p5.p6. 'say 3' compiles.
r20178 | putter++ | [elf_a] Added postcircumfix:< > and a .ref().
r20178 | putter++ | [STD_red] Now easier to add additional dump formats.
diff: dev.pugscode.org/changeset/20178
lambdabot Title: Changeset 20178 - Pugs - Trac
mncharity end of day. perhaps backend bootstrap tomorrow. 03:59
pugs_svnbot r20179 | putter++ | [elf_b] Sync emit_p5.p6 with elf_a's emit_p5.config. And ast_handler bugfix.
diff: dev.pugscode.org/changeset/20179
lambdabot Title: Changeset 20179 - Pugs - Trac
mncharity good night all & 04:05
04:05 mncharity left 05:15 thestarslookdown joined 05:19 syle joined 06:04 syle left 06:11 meteorjay joined 06:49 agentzh joined 06:58 wtgee left 07:18 abra joined 07:36 iblechbot joined 07:47 thestarslookdown left 08:06 eternaleye left
pugs_svnbot r20180 | lwall++ | [STD] combining stdstopper with expect_term and expect_infix 08:37
r20180 | lwall++ | to save wear and tear on EXPR.
r20180 | lwall++ | [Cursor5] now passing fates inline via pattern to keep in sync
r20180 | lwall++ | (will delete old fate mechanism next)
diff: dev.pugscode.org/changeset/20180
lambdabot Title: Changeset 20180 - Pugs - Trac
09:03 eternaleye joined 09:22 dalek left 09:23 dalek joined 09:36 wknight-away joined 09:57 cnhackTN1 joined 10:02 cnhackTNT left 10:19 syle joined 10:22 drbean left 10:24 Foke2 joined
wolverian groups.google.com/group/comp.lang.f...809c64eabc -- interesting post about programming for multiproc archs 10:31
lambdabot Title: Concurency in the functional world - comp.lang.functional | Google Groups, tinyurl.com/2w3djq
10:33 drbean joined 10:38 cnhackTN1 left 10:48 elmex joined 10:53 wknight-away left 10:59 ruoso joined 11:29 abra left 11:40 Lorn joined 11:48 dalek left 11:49 dalek joined 12:02 Lorn left 12:05 Lorn joined 12:11 stevan_ joined 12:24 [particle] joined 12:33 wknight-away joined 12:36 iblechbot left 12:37 lichtkind_ left 12:38 BinGOs left 12:41 BinGOs joined 12:42 Zygo left 12:43 Zygo joined 12:45 xinming_ joined 12:51 iblechbot joined 12:53 cmarcelo joined 12:59 xinming left 13:04 Foke2 left 13:05 Foke2 joined 13:30 nirz joined, Zygo left 13:31 Zygo joined 13:37 eternaleye left 14:04 rdice joined 14:06 [particle] left 14:13 Aankhen`` joined 14:14 rdice_ joined, rdice left 14:15 wknight-away is now known as wknight8111 14:44 turrepurre joined 15:01 TJCRI joined 15:02 justatheory joined 15:05 peeps[work] joined 15:17 glb joined 15:19 Zygo left, Zygo joined, justatheory left 15:30 Lorn_ left 15:31 Lorn_ joined 15:42 xinming_ left 15:43 araujo left 15:55 xinming joined 16:07 justatheory joined, pmurias joined 16:18 drrho joined 16:21 mncharity joined
pugs_svnbot r20181 | lwall++ | [Cursor5] removed old unreliable out-of-band fate mechanism 16:25
diff: dev.pugscode.org/changeset/20181
lambdabot Title: Changeset 20181 - Pugs - Trac
mncharity ah, redundancy++. irclog.perlgeek.de/perl6/today broken, colabti.org/irclogger/irclogger_logs/perl6 happy.
lambdabot Title: IRC log for #perl6, 2008-03-28
mncharity wolverian: tnx :) re post 16:28
having a "fate" variable contributed so much pun potential. will miss it. :) 16:29
TimToady we still have fate 16:30
it's just passed along as comments in the associated pattern
mncharity /me looks...
TimToady and stripped out into @fate at the last moment
well, into @$fate really
was too hard to keep the $n numbers in sync with fate index doing it out of band 16:31
and this way a lexer is just a composable string
be sure to remove lex/*, since the format changed 16:32
btw, the coredumps I was getting from TRE were just trying to alloca more than my ulimit would allow... 16:33
16:33 IllvilJa left
TimToady apparently alloca can't tell that you've gone out of bounds on the stack :( 16:33
not terribly robust... 16:35
ah well, at least I'm just thinking of TRE as a temporary solution, so maybe we don't have to deal with that forever
integral that's because alloca doesn't actually touch all the memory it allocates, a alloca + memset should segfault more reliably 16:36
TimToady indeed, it was the following memset that coredumped :)
still not terribly useful...
16:37 pmurias left
TimToady also, if it's really going to ask for 17 MB of stack every time it wants to lex the start of a statement, that's probably not going to run too terrible fast :/ 16:37
16:38 LazyJim joined, wtgee joined
TimToady but it's mainly a matter of persistence; if we roll our own parallel nfa someday, we can keep anything around we like 16:38
we'll also be able to more reliably backtrack to the 2nd-longest, 3rd-longest, etc. token 16:40
in case the first choice gets negated by some assertion
right now TRE can't really deal with that
but when it does get a hit, it's pretty amazing to watch it immediately dive down 4-8 levels of recursion without doing any other matching 16:42
so I think the concept is going to work fairly efficiently
though the long string names of fates probably need to be numerified at some point 16:43
in a lisp symboly kind of way
16:45 chris2 joined
mncharity re eventually getting off TRE, it looks like "p6, written in a restricted dialect with C++ translation in mind", might be feasible to backend compile directly into C++ code. and there's smop. 16:48
re dive, :) 16:50
diakopter TimToady: is @$fate fatally fatalistic? 16:52
good news about the coredumps
diakopter relurks 16:53
mncharity /me puzzles over whether fate could be mixed with the yare rx engine core. 16:54
16:55 meppl joined
mncharity eh 16:56
let's see...
there's editing elf_b's emit_p5.p6, until it's equivalent to elf_a's emit_p5. that will give backend bootstrap. which I suppose is a "woot" moment. there's extending the elf_a/b p6 dialect, to address the "couldn't write the code I wanted to, had to work around" moments which went by. there's 17:00
taking a hard look at the IR nodes, and doing an overhaul. there's getting the ast_handling code off metaprogramming and into direct p6. maybe. there's making it easy to swap out backends, so folks can start playing (imported kp6 p5 backend, smop, etc). 17:03
there's starting to stabilize the command line, maybe. which perhaps means looking to ghc for a model.
there's sync'ing STD_red with STD.pm. 17:04
17:05 BinGOs left
mncharity sigh. and lots else. 17:05
17:06 IllvilJa joined
mncharity optimizing for "creating opportunity for others to hack"... bootstrap; easy to replace backends; IR overhaul; address "workaround needed" gotchas. 17:07
could use a one-page "why p6 is important as a language" thing for next week. audreyt's paper is... 17:09
diakopter TimToady: how much has Perl 6 changed in the past 2.5 years compared to the prior 4-5 years? 17:11
mncharity perlcabal.org/~autrijus/hw2005.pdf
but I've never actually seen text which attempts to answer "from the point of view of a language wienie concerned with the evolution of programming languages, why does p6 matter?". 17:13
TimToady diakopter: most of the Perl 6 changes in the last 2.5 years have been simplifications in response to attempts to implement
mncharity /me wonders if there' 17:14
s an "unsimplification list" somewhere - things to do once implementations start working. :)
TimToady @$fate is fatally fatalistic unless you specify the -fo (failover) switch, in which case it reverts to the slow engine on a LTM miss 17:15
lambdabot Unknown command, try @list
17:15 Aankhen`` left
TimToady but that's not really fine-grained enough for an efficient failover 17:16
17:16 BinGOs joined
diakopter TrimTrady: How much further could it be simplified? Could the test suite be broken up into stages of complexity, say to things-necessary-to-bootstrap and things-unnecessary to bootstrap? 17:17
TimToady I think such an analysis would fall under the category of things that are unnecessary to the bootstrap, since the bootstrap is its own test already :) 17:18
diakopter that was my next question - does the bootstrap end up defining itself
17:23 Foke2 left
mncharity lol 17:24
17:27 wtgee left
TimToady most of the "unsimplifications" are listed as conjectures in the S* 17:28
17:31 justatheory left
cognominal_ btw S04:272 ~~ s/Conjecuture/Conjecture/ 17:39
17:42 tobeya joined 17:43 drrho left
TimToady fixed, thanks 17:44
17:47 BinGOs left 17:48 BinGOs joined 17:54 syle left 17:58 araujo joined 17:59 araujo left 18:00 araujo joined
mncharity if someone is looking for a p5/cpan project, it would be nice if this autobox warning message went away: v-string in use/require non-portable at /usr/local/lib/perl5/site_perl/5.10.0/autobox/Core.pm line 16. 18:02
18:08 IllvilJa left 18:22 IllvilJa joined 18:42 Psyche^ joined 18:46 Jamtech joined 18:51 meppl left 18:59 Patterner left, Psyche^ is now known as Patterner 19:08 dalek left, dalek joined 19:13 kane_ joined 19:15 ruoso left
ingy TimToady: are you around? 19:20
19:21 chris2 left 19:51 FurnaceBoy joined
mncharity ah, that's a nice way to mark end of week. elf is a kludge, for a tiny subset of p6, and is dependent on an external parser. but it's now a self compiling one of those. 19:57
20:02 iblechbot_ joined 20:04 iblechbot left 20:07 thoughtpolice joined 20:15 syle joined 20:17 netguy joined, netguy left 20:22 Jamtech left 20:23 Jamtech joined 20:32 nirz left
TimToady ingy: vaguely 20:35
20:39 eternaleye joined
pugs_svnbot r20182 | putter++ | [elf_b] Now self-compiles successfully. Supports elf_a command-line. Also new --compiler and -o arguments. Also --check-bootstrap. New prelude.p6 forked from elf_a's prelude.pl. 20:44
r20182 | putter++ | --check-bootstrap currently fails with an odd system() error - but commands work when run by hand.
r20182 | putter++ | [STD_red] Provides a Match for "$1".
diff: dev.pugscode.org/changeset/20182
lambdabot Title: Changeset 20182 - Pugs - Trac
20:45 syle left
mncharity If anyone figures out why ./elf_b_create.pl --check-bootstrap eventually fails with system('./elf_b_create.pl --compiler=./elf_b -o ./elf_b2') failed: Inappropriate ioctl for device , please let me know. :/ 20:50
And if anyone would like a performance tuning exercise, accelerating elf_b2 (elf_b compiled by itself) would be great. 20:51
Or even simply understanding it's performance. 20:52
ingy TimToady: do you have your asia plans booked? 20:55
TimToady ingy: pretty much 20:56
mncharity re ioctl, strace shows an exploration of locale files just before going boom.
TimToady bringing along gloria this time 20:57
21:06 FurnaceBoy left, meppl joined 21:09 rindolf joined 21:10 explorer joined
mncharity ingy: ping? 21:32
21:33 japhb joined 21:47 rdice_ left 22:11 TJCRI left 22:16 zostay left, zostay joined, alester left 22:23 Jamtech left 22:27 aindilis left 22:31 smtms left, pravus joined 22:37 smtms joined, rindolf left 22:41 cmarcelo left 22:46 peeps[work] left 22:52 glb left 23:08 [particle1 left, [particle] joined, thoughtpolice left 23:16 wtgee joined 23:28 iblechbot_ left 23:33 Lunchy left, Lunchy joined
mncharity is there a p5 module to do package-relative use? eg, given a Foo.pm with Foo::B, Foo::C, and Foo::C::Under, a package Hee could BEGIN{use_relative 'Foo'}; and get Hee::B, Hee::C, and Hee::C::Under, all ISA'ed to the Foo's. 23:35
stevan_: something Moose can do? 23:38
though it might be better to mutate and eval() code upon import(), rather than having to play runtime ($self->ref . '::C')->foo() games... hmm... that doesn't even work... :/ 23:44
the $self->ref # re not work
23:45 lisppaste3 left
mncharity need to choose some mechanism. having a p6-on-p5 implementation, with a single set of design tradeoffs, take over the entire p5 process, would be really unfortunate. 23:48
23:50 Foke2 joined 23:54 Limbic_Region joined 23:55 lisppaste3 joined 23:56 justatheory joined 23:57 wknight8111 is now known as wknight-away
mncharity better might be a cpan module implementing the p6 use() semantics, with author and version. 23:58