Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-06-04

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:36 Caelum can you use perl5 modules transparently in pugs?
00:36 Tene Yes.
00:36 Tene use perl5:DBI;
00:37 Caelum wow, cool
00:37 Tene you can also use java libraries in pugs
00:38 Tene use java:System.Something.Whatever.
00:38 Aankhen`` O RLY?
00:38 Tene Yeah, for a while now.  I thoguht audreyt blogged about it when she added it.
00:38 Tene "thought"
00:39 amnesiac joined #perl6
00:39 Aankhen`` Ah.
01:02 Caelum ?eval my Str $foo = "foo"; $foo = 42; $foo
01:03 Caelum ah evalbot is gone...
01:03 Caelum how come you can assign an int to a scalar declared as string?
01:29 Tene Caelum: because pugs doesn't check that yet.
01:30 Caelum ok :)
01:31 TimToady and arguably, it oughta autocoerce it to "42", given Perl's dwimminess around Str/Num
01:31 Tene my Num $x = "fourty two";
01:32 Aankhen`` Heh.
01:34 mako132_ joined #perl6
01:51 pasteling "TimToady" at 71.139.8.243 pasted "Test.pm.yml damage; blows up on 1st test; removing .yml and rebuilding doesn't help; possible clue: just upgraded to Fedora 7" (6 lines, 448B) at http://sial.org/pbot/25340
01:52 justatheory joined #perl6
01:53 justatheory joined #perl6
02:04 jisom joined #perl6
02:06 meppl joined #perl6
02:06 felipe joined #perl6
02:08 chylli joined #perl6
02:26 nze299 joined #perl6
03:14 ahmadz joined #perl6
03:29 daxim_ joined #perl6
03:51 SubStack joined #perl6
03:52 gilby joined #perl6
03:54 gilby left #perl6
04:03 thoughtpolice from my logs I can tell this has been a very exciting day
04:09 Caelum heh
04:13 thoughtpolice :)
04:28 REPLeffect joined #perl6
04:31 sunnavy joined #perl6
04:31 TimToady well, it's not the fedora upgrade.  my FC 6 machine also can't run its Test.pm.yml
04:36 amnesiac why FC? :(
04:36 nze299 heh, my machine is still FC2
04:36 nze299 perhaps I should just wipe it entirely, get one of those live cd things, and install it to the hard drive.
05:09 BooK joined #perl6
05:19 Caelum joined #perl6
05:45 dduncan joined #perl6
05:46 rfordinal joined #perl6
05:50 dduncan fyi, I've pretty much thought through now that carrying on further with a purposefully-bad temp name for my DBMS project is a fool's errand, so I'll go straight to using my previously planned long-term name now ... Muldis::DB
05:50 dduncan if for some reason that doesn't work and another name needs picking, I'm not any worse off than the old plan, not really
06:08 r0bby joined #perl6
06:10 franck__ joined #perl6
06:15 xinming joined #perl6
06:28 Averell joined #perl6
06:29 devogon joined #perl6
06:31 ofer joined #perl6
06:37 franck___ joined #perl6
06:37 svnbot6 r16626 | gaal++ | * chase breakage from r16625, reported by TimToady++
06:37 gaal sorry about that
06:53 kane_ joined #perl6
07:05 Grrrr joined #perl6
07:14 jisom joined #perl6
07:25 drrho joined #perl6
07:37 weinigLap joined #perl6
07:48 mj41_ joined #perl6
07:49 idiotmax joined #perl6
07:54 iblechbot joined #perl6
08:09 svnbot6 r16627 | gaal++ | * reintroduce the description field in CompUnit, and chase codeGens
08:09 svnbot6 r16627 | gaal++ |   to use the filename where possible.
08:09 svnbot6 r16627 | gaal++ |   You may need to "rm blib6/lib/*yml" with this revision.
08:09 svnbot6 r16627 | gaal++ |   TODO: think about adding a parser revision number to the compunit
08:11 weinigLap joined #perl6
08:18 gaal ?eval 42
08:20 gaal ?eval 43
08:21 lumi gaal: Did you knock the emitted code version number?
08:21 gaal yes
08:21 gaal i think it's still building though
08:22 gaal involved a P.A.Internals change after all :/
08:22 lumi So oughtn't the *yml be rebuilt?
08:22 lumi I might be mistaken
08:22 gaal I oughta, yes
08:22 gaal but this being software
08:23 lumi Right
08:24 gaal and indeed it wasn't on audreyt's autopugs. fising
08:24 gaal fixing to
08:24 gaal o
08:42 gaal ?eval 44
08:42 Tene gaal: no evalbot
08:43 gaal why?
08:44 gaal I mean, did someone take it down intentionally?
08:44 Tene hmm
08:45 Tene looks like it might have been lost in a netsplit
08:46 gaal I'm finishing up a rebuild in audreyt's home dir. do you know if there's a preferred command to (re)start the bot?
08:46 Tene I'm not aware.
08:47 gaal okay, thanks
08:47 gaal wow feather's loaded :(
08:48 Tene should just run examples/network/evalbot/evalbot-loop from the pugs root
08:49 gaal prolly nohupped or something, still checking
08:49 Tene make sure to nice it. ;)
08:49 Juerd_ gaal: Loaded? Its load is < 2
08:50 gaal then just slow :/
08:50 Juerd_ Yes, something's wrong with it and I can't figure out what.
08:51 gaal possibly disk errors.
08:51 Juerd_ The least of activity makes its system load explode
08:51 Juerd_ Well, I thought that too, but SMART says everything's allright
08:51 Juerd_ And the disks in general work well.
08:51 Juerd_ Pure IO works perfectly and fast.
08:52 gaal how do i in sudo get an environment that's real close to another user's? I did -u audreyt and -s, but that looked at my svk dir and stuff.
08:52 gaal ah, -i
08:53 Juerd_ I just sudo -s, and then su - audreyt
08:53 gaal "be yourself"
08:53 Tene 'sudo su - user' is my idiom
08:55 gaal sudo -i looks good.
08:56 meppl good morning
08:56 gaal hi meppl
08:56 meppl good morning gaal
08:58 OuLouFu joined #perl6
08:59 chylli` joined #perl6
09:07 buetow joined #perl6
09:10 gaal so, evalbot should be up longly.
09:12 integral joined #perl6
09:17 rff joined #perl6
09:17 riffraff joined #perl6
09:31 evalbot_r16627 joined #perl6
09:37 chylli` left #perl6
09:49 gaal ?eval 45
09:49 evalbot_r16627 45
09:50 moritz gaal: I could have told you that as well ;)
09:50 gaal ?moritz-eval 45
09:50 lambdabot Unknown command, try @list
09:51 moritz 45
09:51 moritz admittedly my response time is bit worse ;)
09:51 gaal ?moritz-eval $?VERSION
09:51 lambdabot Unknown command, try @list
09:51 moritz gaal: 1.0-RC2
09:53 Aankhen`` ?moritz-eval $*OS
09:53 lambdabot Unknown command, try @list
09:54 moritz BrainOS 1.0-RC2 (with proprietary extensions) build 1
09:54 gaal ?moritz-eval sub oo ($mse is copy) { $mse ~~ s:g/m/moo/; $mse } oo("mse")
09:54 lambdabot Unknown command, try @list
09:55 moritz moose
09:55 gaal yay
09:55 gaal it works
09:56 Aankhen`` It needs a little optimization though.
09:56 Aankhen`` I wonder if there are any profilers for BrainOS.
09:56 gaal Aankhen``: you're right. we should spec a language in which all programs that emit the output "moose" have a fast path and do it in O(1).
09:57 Aankhen`` Exactly.
09:57 moritz ;)
09:57 gaal for implementations to work, though, we have so solve the antler problem.
09:57 Aankhen`` Actually, that's fairly simple.
09:57 chylli joined #perl6
09:57 gaal *to
09:57 Aankhen`` I think I can write an optimizer for that in Perl 5.
09:57 Aankhen`` print "moose";
09:57 Aankhen`` (Why would you ever write a program that *didn't* print "moose"?)
09:57 gaal well, no, it should still be able to emit other... ah, good point
09:57 Aankhen`` :-D
09:58 gaal your implementation works nicely for all but pathological cases.
09:58 gaal even then, it has a nice failure mode.
09:58 Aankhen`` I'm not following you. :-(
09:59 gaal well, the program "1+1" is supposed to emit "2", but in your implementation it emits "moose". not the correct output, but not a *bad* output either.
09:59 Aankhen`` That's a very contrived example.
09:59 Aankhen`` I can't imagine anyone wanting to print anything but "moose" in practice.
09:59 gaal I agree
09:59 moritz most programs aren't that complex
09:59 Aankhen`` One pathological case deserves another. ;-)
10:00 gaal and let's not forget that the language guarantees program that print "moose" run very quickly.
10:00 Aankhen`` Yes.
10:00 moritz or rather 'say "moose";'
10:00 gaal It's a purely mooseful language.
10:00 Aankhen`` moritz++ # P6 version
10:00 Aankhen`` LOL.
10:01 asksh joined #perl6
10:02 * Aankhen`` ==> bed()
10:02 moritz we could teach perl 5 to call the $SIG{__SYN__} handler if it encounteres a syntax error, and set $SIG{__SYN__} = sub { print "moose\n" }
10:02 moritz Aankhen``: good night
10:02 Aankhen`` ROTFLMAO.
10:02 asksh changed the nick to dwave
10:02 Aankhen`` G'night.
10:03 gaal night
10:04 kanru joined #perl6
10:08 mtve joined #perl6
10:09 Yaakov joined #perl6
10:29 IllvilJa joined #perl6
10:39 mjk joined #perl6
11:37 araujo joined #perl6
11:41 prism joined #perl6
11:42 kanru joined #perl6
11:42 penk joined #perl6
11:51 penk joined #perl6
11:57 franck__ joined #perl6
12:01 REPLeffect joined #perl6
12:04 deq` joined #perl6
12:06 kanru joined #perl6
12:15 buetow joined #perl6
12:26 Aankhen`` joined #perl6
12:37 isaacd joined #perl6
12:37 jasenger joined #perl6
12:45 Loro_ joined #perl6
12:55 mtve joined #perl6
13:06 zamolxes_ changed the nick to zamolxes
13:16 mncharity anarchistic development ++  (having just tripped on its absence elsewhere)
13:16 mncharity hmm, re access control rather than project planning. ;)
13:27 fglock joined #perl6
13:27 svnbot6 r16628 | fglock++ | kp6-roadmap.pod - refactored from kp6-Perl6-roadmap.txt
13:28 penk joined #perl6
13:33 svnbot6 r16629 | fglock++ | [v6] - added docs/kp6-Notes.txt
13:37 mncharity http://svn.pugscode.org/pugs/v6/docs/kp6-roadmap.pod
13:46 avar kp6 is bootstrapped?
13:48 buetow joined #perl6
13:53 PerlJam joined #perl6
14:08 sunnavy joined #perl6
14:10 fglock avar: yes, kp6 is a superset of mp6
14:10 avar I thought you meant directly bootstrapped
14:11 fglock avar: the plan has changed a bit - supporting Perl-6.0.0-STD seems to be higher priority
14:12 svnbot6 r16630 | fglock++ | [v6] - kp6-roadmap.pod - finished phase III plan
14:12 fglock avar: comments are much welcome, this is not final
14:14 andara joined #perl6
14:16 fglock avar: direct bootstrap requires heavy optimization, which is scheduled for later
14:16 obvio171_ joined #perl6
14:16 avar fglock: I've been looking at some of your PCR code after I wrapped it in a re::engine, specifically wondering about the best way to make perl5 a runtime for rules. I saw that you had made an incomplete emitter for p5rx
14:17 avar If you're working on regexp emitters I'd love to help with the p5 one
14:18 fglock avar: sure, it would be nice to have the p5rx backend working
14:18 avar In the long run I want something that can be ripped out and run on p5. Which a Rules => p5 emitter could do
14:20 fglock hmm - how is that different from PCR+p5rx ?
14:20 avar It's not really
14:23 gaal @tell audreyt I'm puzzled by the differing treatment of parse results in op1Eval and op1EvalP6Y. 1. why doesn't op1EvalP6Y run INIT sections? 2. why does it do unionPads on two globs, where op1Eval makes do with mergeStmts?
14:23 lambdabot Consider it noted.
14:26 fglock mncharity: ping
14:26 mncharity fglock: pong :)
14:27 fglock mncharity: I just factored out the anarchistic part of the roadmap
14:27 fglock it looks more like a plain project now
14:29 mncharity lol
14:29 mncharity :)
14:29 fglock the roadmap sets a "main track", but it doesn't tell people what they should not to do.
14:30 fglock I hope it works better
14:31 mncharity reading...
14:32 REPLeffect joined #perl6
14:36 fglock btw, the old version was renamed to http://svn.pugscode.org/pugs/v6/docs/kp6-Notes.txt
14:41 mncharity avar: btw, I don't know the status of p5rx, but you might look at misc/pX/Common/yet_another_regex_engine/Regexp_ModuleA.pm.  The runtime (top of file, "RMARE") is separate from ast-rmare glue ("RMARE_emit"), which is separate from from the ast def, w.i.s.f the ast prep passes.  Crufty code (though the runtime is cleaner that some other parts of the file).  So you could just snarf the runtime.  Upsides: fast, well tested, featurful.  
14:41 mncharity let me know if you have any questions at all
14:42 * mncharity goes back to reading...
14:43 mncharity "HoH"?
14:46 mncharity (random thought: if anyone is looking for a random web service to create, a "paste the url of a pod file and I'll ->html it for you" might be nice.  or not - user "remember where it is" overhead may be too high?)
14:46 daxim_ a hash of hashes, if you wanted to know what that means
14:47 mncharity ah, thank you
14:48 mncharity re Target speed is 1/200x Perl 5, what is the current speed?
14:50 fglock mncharity: there are no measurements yet; 1/200x was about the speed of the old PIL-RUN
14:51 pasteling "gaal" at 192.115.25.249 pasted "patch, broken, towards a precomp cache" (145 lines, 5.7K) at http://sial.org/pbot/25351
14:51 avar mncharity: Interesting, did you write that?
14:52 gaal @tell audreyt If you could give http://sial.org/pbot/25351 some cycles, that'd be awesome
14:52 lambdabot Consider it noted.
14:52 svnbot6 r16631 | fglock++ | [v6] - 'hash-of-hashes' instead of 'HoH', mncharity++
14:54 gaal darn, forgot to add implementation of SHA1
14:54 fglock mncharity: I wonder if rmare could be rewritten in (Mini)Perl 6?
14:55 fglock for 6-in-6 reuse
14:55 fglock lunch &
14:55 pasteling "gaal" at 192.115.25.249 pasted "patch, broken, towards a precomp cache. with sha1 this time" (319 lines, 12.2K) at http://sial.org/pbot/25352
14:57 mncharity Milestone 1 is "AST replaced with new OO version, and test suite still runs".  I'm not entirely clear what Milestone 2 is?
14:59 mncharity I think of "milestones" as testable/falsifiable assertions about the state of the code/project.
15:03 gaal gotta go, moose all &
15:03 mncharity bye gaal
15:04 mncharity Can P3 Milestone 3 really be separated from P4?  Ie, how do you test ast transforms if you don't have a runtime?  Actually examine the graph structure?
15:06 mncharity fglock: re no measurements yet, if it wasn't too costly, it would be nice to have at least a factor of ten estimate.  eg, 1/1000?  1/10000? ...
15:06 mncharity just for context
15:06 mncharity avar: re write that, yes
15:07 avar hrm, is it emitting p5?
15:07 avar p5rx
15:09 veritos joined #perl6
15:09 veritos yo.
15:09 veritos i got an idea.....subs are simply lists of statements.
15:10 silug joined #perl6
15:10 veritos so you can do something like { unshift &foo, { say 'testing' } } or the like
15:10 rindolf joined #perl6
15:10 veritos seem feasible or useful?
15:11 avar the {} Code block would be folded into &foo's block?
15:11 veritos yep! in that case, that line (or more than one) would be prepended to the function
15:11 avar sub foo { say "ook" }; push &foo, { say "eek" }; = sub foo { say "ook"; say "eek" }
15:12 veritos yep, that's right
15:12 veritos full on line-by-line reflection
15:13 mncharity fglock: re rmare rewritten in mp6...  not the right thing i think.  while some bits of thought or architecture might be used, it's essence is wrestling with p5.  eg, to get local() to work properly in embedded code.  and running fast on p5.  given a clean language, fewer nasty constraints, you can write something much cleaner.
15:14 avar if you generalized this to all code things you could implement a lisp-like macro system:)
15:14 avar veritos: I think you should write up on it and send it to perl6-language
15:14 mncharity avar: re p5rx emitting p5?  dunno, sorry
15:14 veritos avar: so you like the idea?
15:14 avar veritos: yes
15:14 veritos what use would it have?
15:15 veritos debugging ( say 'this function is called' ) is the only thing i can think of
15:15 rindolf Hi all.
15:15 rindolf Hi avar
15:15 avar If it was general enough it would be an API to modify the AST
15:15 veritos yo 'dolf
15:15 veritos avar: hmm.
15:16 veritos maybe if everything was a list: $foo = 'hi'; unshift $foo, 'bar'; $foo == 'barhi'
15:16 moritz that reminds me of stack based languages
15:17 moritz like forth and postscript
15:17 rindolf moritz: what's up?
15:17 veritos moritz: what do you mean?
15:17 moritz rindolf: had my third master exam today... don't want to talk about it ;)
15:18 rindolf moritz: OK. :-(
15:18 rindolf moritz: anything else?
15:18 rindolf moritz: do you know #perlcafe  or #lispcafe ?
15:18 rindolf moritz: or #linguistics
15:18 moritz veritos: it looks a bit like '2; 3; +; print' which would push 2 and 3 onto a stack, + would take two args from the stack, prints takes one from the stack etc
15:18 moritz rindolf: no, no, no and no ;-)
15:19 veritos moritz: you don't need to do that ;)
15:19 rindolf moritz: OK.
15:19 rindolf :-P
15:19 avar moritz: like perl, only it has syntax sugar around that:)
15:19 moritz rindolf: but now I know of their existance ;)
15:19 rindolf moritz: I'm here to serve.
15:19 moritz avar: exactly ;)
15:19 mncharity fglock: maybe fold P3M3 into P4?  So P3 becomes 'bootstrap on new ast'.  P4 'run STD'.  P5 'bootstrap on STD'. ?
15:19 rindolf "Are you being served?"
15:20 moritz rindolf: and I'm here to enerve... and to code ;)
15:20 rindolf moritz: code by chatting on the IRC?
15:20 rindolf Maybe I'll work on XML-Grammar-Screenplay.
15:20 rindolf Drop the P::RD parser and convert it to use a quick-and-dirty one-pass parser I have in mind.
15:20 moritz rindolf: yes... I pipe IRC messages through a random filter, and sometimes the output is valid perl code ;)
15:28 mncharity fglock: was that the kind of feedback you were looking for?  /me scrolls back... hmm... err, _were_ you looking for feedback?? ;)
15:30 mncharity Actually, P3 "regex compiler refactoring" is fine, it's P3 M1 which could be "Bootstrap on new OO AST".  though I'm still not sure what P3 M2 is, so I may be missing the point.
15:31 mncharity avar: well, let me know if you have any questions about y.a.r.e or the runtime.
15:31 mncharity bbl
15:34 mncharity fglock: re creating roadmap, yay! nifty! great! :)
15:46 drupek12 joined #perl6
15:53 bonesss joined #perl6
16:01 fglock joined #perl6
16:03 fglock avar: re p5rx - yes, it builds a plain Perl 5 regex
16:04 avar r5rx = the stuff in PCR?
16:04 fglock mncharity: re P3/P4 - it does have a small runtime
16:04 fglock avar: yes
16:04 avar Yes, I saw that emitter
16:06 avar fglock: What I'd like to do with PCR is the ability to map perl6 rules to perl5 packages, writing grammars in a mix of token/rule/regex and p5 subs. Ideally something that makes generated code (zero deps)
16:06 fglock mncharity: re feedback - thanks!
16:06 buetow joined #perl6
16:06 * moritz just found an inaccuracy in the blead perlsyn
16:06 avar Something like Rule.pmc{0,1}. Just a little cleaned up:)
16:06 moritz line 558 and 559 are outdated
16:08 fglock avar: did you see http://svn.pugscode.org/pugs/perl5/Pugs-Compiler-Rule/util/ ?
16:08 lambdabot Title: Revision 16631: /perl5/Pugs-Compiler-Rule/util
16:08 fglock it's a grammar-to-perl5 compiler
16:08 fglock though it's a bit old
16:08 avar oh, cool
16:10 fglock I guess this compiler, combined with PCR-plain-regex might give interesting results
16:11 fglock "compile_p6grammar.pl" was obsoleted by v6.pm
16:14 elmex joined #perl6
16:15 obvio171_ joined #perl6
16:17 rindolf ingy: here?
16:23 avar fglock: I want to be able to write something like this essentially: http://nopaste.snit.ch:8001/10304
16:24 avar Then I'd run a compiler on that file that would generate a .pmc file with the same name. I could then ship the code on CPAN with zero-deps
16:25 franck__ joined #perl6
16:25 fglock avar: I think compile_p6grammar.pl can be modified to do that; you can use Text::Delimited to isolate perl 5 code
16:26 avar Yup, looks like it
16:27 avar I'm mainly thinking about the API that perl6 uses for subs in a grammar to inform the rest of the grammar whether they failed, where they should continue matching etc.
16:28 avar but synopsis 5 doesn't spec out all the needed parts at all, for instance it just says that perl6 has match objects but doesn't go into what methods it should have and how it should all operate
16:29 fglock avar: yes - PCR was mostly made based on irc discussions
16:30 bernhard joined #perl6
16:30 avar $ perl5.9.5  -E 'my $_ = "foofoofoo"; $_ =~ /foo/g; pos($_) = 6; /foo/g; say pos'
16:30 avar 9
16:31 fglock a known bug is that PCR expects the string as a parameter, instead of using $_
16:31 avar I'm guessing you can do most of this with just a pos method on the passed match object
16:31 avar $ perl5.9.5  -E 'my $_ = "foofoofoo"; /foo/g; pos($_) = undef; /foo/g; say pos'
16:31 avar 3
16:32 fglock avar: re pos() et al, see http://svn.pugscode.org/pugs/perl5/Pugs-Compiler-Rule/lib/Pugs/Compiler/RegexPerl5.pm
16:32 lambdabot http://tinyurl.com/2d3mqm
16:32 avar But a lot of this isn't clear at all in s5 or in test cases I've seen, like how do I set up captures such a sub?
16:33 fglock this module compiles a PCR wrapper for perl5 regexes
16:33 avar s/such/in such/
16:33 obra fglock:  Got your mail. Will try to review and comment today
16:33 fglock avar: not sure if it answers this question
16:34 fglock obra++ - thanks!
16:35 avar sort of, at least how I can write a very simple sub that updates a position. But other details on match objects aren't clear:)
16:35 avar but I might try implementing some of this later-ish:)
16:36 obra thanks for doing all the actual work ;)
16:36 TimToady ext/Perl6-Grammar/t/basic.t seems to be looping...
16:37 * avar prods TimToady with the above discussion:)
16:37 TimToady I've been watching it go by and .oO(but that's the part the implementors are supposed to spec...)Oo.  :)
16:37 fglock avar: the other details are mostly hidden in P::C::Runtime::Match.pm
16:38 fglock :)
16:38 avar yeah, I saw that:)
16:38 TimToady anyway, ext/Perl6-Grammar/t/basic.t already has 18 minutes of runtime... :/
16:39 TimToady and my fedora 7 testing still isn't getting off the ground...
16:40 TimToady ext/Algorithm-TokenBucket/t/test.t
16:40 TimToady Can't locate object method "new" via package "Test::Harness::Results" (perhaps you forgot to load "Test::Harness::Results"?) at /usr/lib/perl5/site_perl/5.8.8/Test/TAP/Model.pm line 174, <FILE> line 2.
16:41 TimToady probably f7 "upgraded" me to an older p5 package somewhere...
16:41 fglock re ext/Perl6-Grammar - how about replace is with Perl-6.0.0-STD
16:42 TimToady 'cuz it's not "ext"?
16:42 veritos joined #perl6
16:42 TimToady it's kinda core if you ask me... :)
16:43 veritos TimToady: eh?
16:44 TimToady I think the Perl grammar is not "external" or "extra"... :)
16:44 andara left #perl6
16:45 TimToady but you'll have to backlog to see why I said that...
16:45 veritos TimToady: you see the subs-as-lists thing?
16:45 TimToady veritos: on the list of statements idea, it has some wrinkles
16:46 TimToady it would either have to violate lexical scoping, or it would be equivalent to the existing "wrap" mechanism.
16:46 TimToady it pretty much prevents the optimizer from doing any code movement.
16:47 justatheory joined #perl6
16:47 fglock TimToady: 'backlog' related to ext/ ?
16:47 fglock I guess 'ext' just means 'modules' to me
16:47 TimToady and the overhead of keeping each statement in its own structure would be hard to deal with
16:47 TimToady considering the inside of every .{} subscript is considered a statement
16:47 TimToady and these days, the inside of every () and [] as well.
16:48 TimToady (at least syntactically)
16:48 TimToady so maybe that part doesn't matter
16:48 gaal rehi
16:48 veritos so in other words it's essentially too slow and hard to implement and/or optimize to be of any use ?
16:48 zamolxes joined #perl6
16:48 TimToady but the killer is, are lexicals going to leak out of {...}?  If so, it's a non-starter
16:50 TimToady the others can potentially be worked around, but we're trying to keep to the rule that "my never, ever leaks out of {...}"
16:50 veritos might be a better idea in e.g. Tcl, where everything's a string and adding more code is just concatenation?
16:50 TimToady and it would be nice for closures to close when they get to the end...
16:51 TimToady Tcl has always preferred the "everything is a string" metaphor to the exclusion of optimizability
16:52 veritos TimToady: actually in more recent ones it does parse the code in such constructs.
16:52 rindolf Hi gaal
16:52 rindolf Hi T
16:52 rindolf Hi TimToady
16:52 rindolf TimToady: how was your weekend?
16:52 rindolf gaal: I went biking yesterday.
16:52 rindolf gaal: not too many foxen during a weekday.
16:52 TimToady veritos: yes, they were pretty much forced into that by real world considerations.  :)
16:53 rindolf not too many people period.
16:53 veritos TimToady: one beauty of Tcl is that i can write an interpreter in Perl in like 100 lines b/c it's so simple.
16:54 veritos basically just recursively call an eval-equivalent for every block
16:54 TimToady yes, I call it a "delagational" language
16:54 TimToady it shares that with Lisp, which can have an even simpler eval loop :)
16:55 TimToady *delegational
16:55 veritos TimToady: heh!
16:55 ahmadz joined #perl6
16:55 TimToady however, Lisp has a slightly more powerful semantic model underneath.  :)
16:55 veritos i still like the idea of a parser being built into the language core tho
16:55 TimToady well, er, yes...
16:56 avar And lisp shows that you can have very powerful intospection but still have speed
16:56 TimToady yes, which is why I didn't push the optimizability issue, but the scoping issue.
16:57 TimToady you can always play tricks like conditional optimization and run-time pessimization, but you can't unbreak broken scoping.
16:59 veritos what i thought about the scope was that if a statement was being pushed, it wouldn't be a self-contained unit, it would actually be a part of the function.
16:59 veritos if you wanted to push a do {} block on top, then it could have its own scope
16:59 veritos but if you added a single statement with a my declaration, that wouldn't really affect the rest of the function anyway
16:59 veritos (usually)
17:00 moritz veritos: I don't see how we could gain from such a system...
17:00 veritos changed the nick to karhu
17:00 moritz veritos: do you have a simple example?
17:00 karhu changed the nick to veritos
17:01 veritos sub foo { implementation here };
17:01 veritos unshift &foo, { say 'calling foo' }
17:01 veritos real time debugging support maybe?
17:01 TimToady &foo.wrap: { say 'calling foo'; callsame; }
17:01 moritz you can get that with wrap
17:01 moritz right
17:02 veritos joined #perl6
17:02 TimToady basically, a block is immutable, but a sub (a container of a block) is mutable.
17:03 TimToady the optimizer can know at the end of the block all the uses of the "my" variables in that block and make assumptions
17:03 fglock btw, a wrap can't see the lexical variables inside the sub, right?
17:04 moritz I think that's the point about lexical variables, isn't it?
17:04 TimToady not easily, nor can it modify the pad after it's done
17:04 TimToady it's actually easier to see a parent's pad than a child's
17:05 TimToady there's CALLER::<$x> but not CALLEE::<$x>
17:05 TimToady and in fact, the child's pad might not even be created yet...
17:06 TimToady there's probably a way to cheat by appending a LEAVE to the block though.
17:06 rindolf avar: who is this biker?
17:06 rindolf avar: is that .is?
17:07 avar rindolf: wrong channel:)
17:08 rindolf avar: oh.
17:10 TimToady shawaa shimasu &
17:12 veritos eh?
17:15 stevan_ joined #perl6
17:18 Psyche^ joined #perl6
17:27 weinigLap joined #perl6
17:29 [particle] joined #perl6
17:35 Psyche^ changed the nick to Patterner
17:37 fglock is there a place where I can access Pugs 'pod' documents, formatted as html?
17:38 fglock I want to link from a blog
17:39 moritz which document?
17:39 fglock moritz: http://svn.pugscode.org/pugs/v6/docs/kp6-roadmap.pod
17:40 moritz fglock: I can quickly setup this one, and let others follow if you want to
17:40 fglock moritz: sure :)
17:41 moritz http://moritz.faui2k3.org/pugs_pod/kp6-roadmap
17:41 lambdabot Title: kp6-roadmap - The "KindaPerl6" Project Roadmap
17:41 mncharity avar: was your pasted ipv4 code intended to be p5 or p6?
17:42 avar p5
17:42 fglock moritz++  # that was fast :)
17:42 avar but obviously 'token' and such would need preprocessing
17:43 avar *ipv4 = Pugs::Compiler::Rule->compile($str)->code;
17:43 moritz fglock: single documents _are_ fast ;)
17:43 TimToady hmm, t/regex/from_perl6_rules/propcharset.t has 30 minutes of runtime today...
17:43 mncharity sure.  it just had ~~ and say() too, so I wondered.
17:43 moritz mncharity: no problem in 5.10 ;)
17:43 avar mncharity: I write perl 5.10 style these days:)
17:43 TimToady fglock: something in regexen is looping, I think...
17:43 mncharity ??? huh ???
17:43 * mncharity wonders if he missed a memo...
17:43 fglock TimToady: looking
17:44 mncharity 5.10 has say and ~~ ??
17:44 moritz mncharity: yes ;)
17:45 mncharity wowwwwww
17:46 avar given ("foo") { when ($_ ~~ %hash) { say $_ } } # valid 5.10 :)
17:46 moritz TimToady: my smoke (r16631) didn't loop
17:46 avar mncharity: also: http://search.cpan.org/~avar/re-engine-PCR-0.02_01/PCR.pm :)
17:46 lambdabot Title: re::engine::PCR - Pugs::Compiler::Rule regex engine - search.cpan.org
17:47 TimToady I did do a yum update on the FC 6 box, so it could conceivably have replaced something Unicodey
17:47 jisom joined #perl6
17:48 TimToady but it seems a completely different failure mode than my F7 laptop...
17:50 TimToady hmm, t/regex/from_perl6_rules/properties.t seems to be hung too.  could be test harness related, I suppose.  I'll have to run those directly and see if they hang on their own.
17:51 TimToady nope, it started progressing again
17:52 TimToady maybe I was fooled by a contiguous set of successes, since I'm waching undefs go by...
17:52 fglock TimToady: it works here with latest PCR and old Pugs (r14504); it takes just 29s
17:52 TimToady *watching
17:53 TimToady well, it usually take 5-10 minutes on my machines, but 30 minutes seems excessive
17:53 iblechbot joined #perl6
17:53 TimToady something has been pessimized...
17:53 fglock I tested propcharset.t only
18:05 gaal I don't think it's in my stuff...
18:07 TimToady not looping, just excruciatingly slow here for some reason
18:07 TimToady properties now up to 20 minutes...
18:07 TimToady with nothing else running
18:07 moritz is there a "mkdir -p" equivalent in perl5?
18:08 TimToady system "mkdir -p $dir"  :P
18:08 gaal moritz: File::Path
18:08 gaal mkpath there
18:08 moritz gaal: thanks
18:09 gaal TimToady: long shot, but does strace say anything fishy?
18:09 gaal moritz: sure
18:09 TimToady was about to try it--I suspect it'll indicate it's reloading my unicode swashes repeatedly...
18:13 TimToady seems to be getting a lot of repeated stat failures:
18:13 TimToady stat64("/usr/lib/perl5/vendor_perl/5.8.6/unicore/lib/gc_sc/InTagalo.pl", 0xbfee9f3c) = -1 ENOENT (No such file or directory)
18:14 penk joined #perl6
18:15 TimToady ooh finally completed after 1825 seconds
18:15 gaal I CAN HAS TAGALOG?
18:16 TimToady also does a lot of repeated stat64("/home/larry/pugs/perl5/Pugs-Compiler-Rule/lib", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
18:16 TimToady but maybe that's PCR cache related
18:17 TimToady hmm, why is it looking in vendor_perl/5.8.6?
18:18 TimToady my vendor perl is 5.8.8
18:18 moritz perhaps it wants to sell you another perl version ;)
18:18 fglock hmm - maybe a broken Cache::Cache - I've seen something like this before, but I don't know how to fix it
18:19 fglock it worked right as root, but didn't cache as a normal user
18:19 TimToady Actually, it's searching backwards 5.8.8, 5.8.7, 5.8.6, 5.8.5
18:20 TimToady so I think my vendor has clobbered the unicode database :(
18:20 moritz TimToady: did you do a "make realclean" after your upgrade?
18:20 TimToady yes
18:21 TimToady I think fedora has borken Perl 5.8.8...
18:22 TimToady at least on FC 6, and possibly on F7
18:24 ludan joined #perl6
18:26 amnesiac TimToady, don't use FC :(
18:34 [particle] joined #perl6
18:36 electrog1ek joined #perl6
18:37 REPLeffe1t joined #perl6
18:45 moritz http://moritz.faui2k3.org/pugs/ # index of HTMLized pod files from the pugs repository
18:45 lambdabot Title: Index of POD files in pugs repository
18:47 moritz I intend to build a cron job that updates them regularly
18:47 obvio171_ changed the nick to obvio171
18:49 moritz fglock: you seem to have quite a few .pod files under v6/ that don't contain any pod... would you object to rename them to .txt? or creating real .pod?
18:59 IllvilJa joined #perl6
19:06 mncharity avar: ping?
19:07 mncharity remind me where the "official pastebot of #p6" is?  (it's not in the topic, snif)
19:07 moritz nopaste
19:07 moritz paste?
19:07 moritz ?paste
19:07 lambdabot Haskell pastebin: http://hpaste.org/new
19:07 moritz perlbot: paste?
19:07 perlbot Paste your code to http://sial.org/pbot/perl or http://erxz.com/pb and #perl will be able to view it.
19:07 lambdabot Title: sial.org Pastebot - pasteling
19:08 moritz mncharity: sial.org is the "official" one
19:09 fglock moritz: those files need a revision; I'll create real pod
19:09 topic for #perl6 is: http://pugscode.org/ | Brave souls needed to fix 'make Install'! Non-brave souls should avoid it for now | http://sial.org/pbot/perl6
19:09 mncharity ahhhh
19:09 moritz fglock: ok
19:09 moritz mncharity++ # you were faster ;)
19:09 mncharity lol
19:11 gaal the /topic always runs over. I propose compressing it to "moose".
19:11 gaal you kinda knew I'd say that, but somehow the only reponse you can make to that is moose
19:11 moritz moose
19:12 moritz *SCNR*
19:16 pasteling "mncharity" at 24.128.48.3 pasted "avar: a modified version of your code" (59 lines, 1.1K) at http://sial.org/pbot/25355
19:16 svnbot6 r16632 | putter++ | Regexp_ModuleA.pm - repaired recognition of  token x {\n...\n}.  avar++
19:17 pasteling "mncharity" at 24.128.48.3 pasted "avar: the Hack it uses" (53 lines, 1.4K) at http://sial.org/pbot/25356
19:18 pasteling "mncharity" at 24.128.48.3 pasted "avar: output" (21 lines, 439B) at http://sial.org/pbot/25357
19:19 moritz now I'm confused... mncharity eq putter?
19:20 mncharity avar: re changes to your code: some were to
19:20 mncharity moritz: t
19:21 |Bernhar| joined #perl6
19:21 |Bernhar| hi all, hi bernhard !
19:21 mncharity avar: re changes to your code: some were to run it on my p5.8, others seemed obvious bugs, some I'm not sure about (ie, the capture semantics), the $noop is a kludge (I handn't gotten around to api
19:22 daxim_ annocpan is down, meh
19:23 mncharity to api'ing it yet;  the sub { sub { is there for inheritance to work, and to permit  Foo::ipv4->("target string"), though here you obviously don't get that (another thing not wrapped up).  let's see...
19:25 mncharity <Mumble::ipv4> -> <ipv4>  because I never told the grammar about <pkg::name>.  But I believe al the infrastructure is there for it to work.
19:25 mncharity $c is the continuation.  so local() is properly scoped.
19:26 bernhard Hi Bernhar
19:26 mncharity BacktrackMacros for FAIL
19:26 silug joined #perl6
19:26 mncharity I think that's just about it.
19:26 mncharity Let me know if you have any questions.
19:27 |Bernhar| Bernhard, you use my nick and i thought it would be ok, to tell you that, bevor ghost you ;-)
19:27 mncharity Hack is just a, err, hacked version of PugsRegexTestA.pm
19:27 jubao joined #perl6
19:28 mncharity moritz: sorry for the confusion ;)
19:29 mncharity gaal: groan
19:29 mncharity (long delayed)
19:30 bernhard Sorry, I also ran across 'Bernhard' in http://cia.vc/stats/author/Bernhard
19:30 lambdabot Title: Bernhard - CIA.vc
19:30 gaal mncharity: moose
19:30 bernhard I suppose I need to think of a new nick
19:30 |Bernhar| want to bet ?
19:31 mncharity avar: inheritance of rules should work properly.  then again, it's unclear anyone other than me has ever run the thing, and I don't remember if I ever banged on it.  But it does use inheritance internally (p6 grammar is modified p5+rules grammar is modifed p5 grammar).
19:31 * bernhard is trying to be creative
19:31 pasteling "infamy" at 189.10.158.31 pasted "inf" (1 line, 57B) at http://sial.org/pbot/25358
19:32 * |Bernhar| owns the nick password
19:33 fglock kp6 blog - http://pugs.blogs.com/pugs/2007/06/kindaperl6_proj.html
19:33 lambdabot Title: Pugs: "KindaPerl6" project roadmap
19:33 * avar returns
19:33 avar mncharity: going through those links:)
19:34 mncharity :)
19:35 gaal dinner &
19:35 mncharity oooo, a shiny new pugs blog post.  fglock++
19:35 mncharity moose?
19:35 fglock mncharity: I think I lost your previous comment on: how about reusing your regex engine for kp6?
19:36 |Bernhar| bernhard : http://german-bash.org/2921
19:36 lambdabot Title: German-bash.org - Krasse Chat-Zitate/Quotes (IRC + IM) - Zitat #2921
19:36 takesako___ joined #perl6
19:36 avar urgh, is sial.org down?
19:37 avar pbotutil.pl hasn't worked for sial for me in some time, and I can't reach it in a regular browser either..
19:37 avar hrm, works on another Ip
19:37 avar maybe they banned me because I past so much there:)
19:39 mncharity fglock: previous comment?
19:40 schmalb joined #perl6
19:40 fglock mncharity: ah, found it: http://moritz.faui2k3.org/irclog/out.pl?channel=perl6;date=2007-06-04#id_l280
19:40 lambdabot Title: IRC log for #perl6, 2007-06-04, http://tinyurl.com/29z5fh
19:40 |Bernhar| changed the nick to Bernhard
19:41 Bernhard left #perl6
19:41 mncharity ah :)
19:43 fglock mncharity: is there an architecture overview? I'm specially interested in backtracking
19:43 avar mncharity: I'll try to make sense of those later:)
19:44 mncharity fglock: of y a r e?
19:44 avar mncharity: But generally that's what I'm thinking about, except I want to generate code at module::install time not with a source filter, but it can obviously be done either way:)
19:44 fglock mncharity: yes
19:45 mncharity avar: re later, :/  :)  well, just let me know if you have any questions.
19:46 mncharity re source filter, DEBUG_Hack=1 perl ...  will give you a copy of the code. ;)  My fuzzy recollection is audreyt did a hack to .pmc-ify source filter output, but I could well be wrong.
19:46 avar mncharity: have you looked at the re::engine stuff I've been making?:)
19:46 avar Would be nice to have your engine via re::engine::Plugin :)
19:46 avar http://search.cpan.org/src/AVAR/re-engine-PCR-0.02_01/PCR.pm # it's easy!:)
19:46 mncharity fglock: re architecture... (pause)
19:47 avar mncharity: Ya, source filtering would be nice for prototyping:)
19:48 mncharity avar: re looked at, no, I haven't been following it since the first prototype, and some of audreyt's re-override mods.
19:48 mncharity Has it been run with an identity plugin against the p5 test suite?
19:48 avar But mainly I want to get a Rules implementation that feels native on p5 that doesn't scare the hell out of perl 5 people, and is fast
19:48 avar and PCR => generated code that mostly runs on the p5 rx engine could do that:)
19:48 avar identity stuff?
19:49 mncharity I saw all sorts of fun affects like subst() mangling the op tree before calling exec, so, for example, accessing a lexical would cause later segfaults.
19:49 mncharity re identity, a plugin which simply calls the usual p5 regex engine.
19:50 avar hrm, I'm not familiar with that. Haven't seen any odd segfaults
19:50 avar is it on cpan? what does it do?
19:50 Aankh|Clone joined #perl6
19:50 mncharity failures of indentity plugin - failures of normal p5 = problems with re::override (well, with respect to hairy p5 core)
19:51 avar oh you mean re::override changing?
19:51 avar or screwing up?
19:51 mncharity um, it's not (that I know of, may well be) an actual pluggin module on cpan.  it's something you write for testing.
19:51 avar that was a super-hackish way to replace the engine by overriding symbols that audrey made, before the plugin interface in blead
19:53 mncharity re super hackish, yes.  but, at least months ago when I was paying attention, it didn't seem the blead interface was really being tested.  that may well have changed.  but at the time, it appeared they had only done the easy part (the override), and not the pain (the p5 vm fixes).
19:53 mncharity and specifically, had not yet tried to pour the p5 test suite through the override.
19:54 * mncharity wonders whether to try saying that all again, for clarity
19:56 mncharity normally one has  -> engine.   now we have -> override -> something.  one can test how well override works by setting up -> override -> engine, and checking that the p5 test suite doesn't have regressions.
19:56 avar Yeah, it was super untested, but that changed when I started working on it:)
19:56 mncharity :)
19:56 avar re::engine::Plan9 for example is very well tested
19:57 avar and after my latest blead patch which makes named captures overridable I'm going to finish the wrapper around ::PCRE and run it through the perl testsuite
19:57 mncharity s/// is well tested too?  with embedded code regexes and all?
19:58 avar Plan9 doesn't support embedded code:)
19:58 avar but no, I haven't tested anything that uses (?{}). But the debug engine uses that so I guess it works
19:58 avar in any case I like "str" =~ sub {} better :)
19:58 avar "str" =~ \@AoC; :)
19:59 mncharity "specific cases working" ne "test suite passes", no?
20:00 avar Well, there are things that work and then things I'm pretty sure work:)
20:00 avar But generally this stuff is very well tested by now. But some edge cases remain probably
20:00 mncharity ok
20:01 buu joined #perl6
20:01 avar http://search.cpan.org/src/AVAR/re-engine-Plan9-0.07/Plan9.xs # writing engines is simple too
20:01 riffraff joined #perl6
20:01 riffraff ciao
20:01 avar The stuff in Plan9_exec is sufficient to get s/// working correctly
20:02 * avar loathes rx->nparens in that function
20:02 mncharity would it be trivial to do a  'just call the regular p5 regex engine' pluggin?
20:02 avar unix done right my ass:)
20:02 mncharity lol
20:02 riffraff plan9? we're starting to port pugs to alternative OSes?
20:02 mncharity (a long lol - indeed)
20:02 avar riffraff: No, perl 5.10 will support plan9 regexes:)
20:02 avar (via cpan)
20:03 avar mncharity: Yeah, that's the really cool thing too:)
20:03 avar mncharity: I'm going to make re::engine::Perl::* stuff that uses the perl engine but provides alternative interfaces
20:03 avar for instance by making captures be match objects
20:03 avar me => me or someone else:)
20:04 mncharity nifty.
20:04 avar Of course that might be somewhat hacky at times do to the code structuring of the perl engine itself, some things are probably easier by just forking it
20:04 riffraff plan9 regexes.. url where I can learn something?
20:05 avar http://swtch.com/plan9port/unix/man/regexp97.html
20:05 lambdabot Title: regexp9(7) - Ported from Plan 9
20:05 avar oh, and http://swtch.com/~rsc/regexp/regexp1.html :)
20:05 lambdabot Title: Regular Expression Matching Can Be Simple And Fast
20:05 avar http://search.cpan.org/search?query=re%3A%3Aengine&amp;mode=all # but mostly this
20:05 lambdabot Title: The CPAN Search Site - search.cpan.org
20:05 avar it's not just plan9, you can have posix, pcre, whatever
20:06 avar I've yet to finish ::TRE and I haven't started on ::Rx yet, if anyone's interested:)
20:06 Aankh|Clone changed the nick to Aankhen``
20:07 * mncharity looks over shoulder, wondering of whom avar speaks :)
20:07 avar Anyone that's interested:)
20:08 avar It would also be easy-ish to do C<use re::engine::Perl ':5.5'> and such:)
20:08 riffraff avar, thanks
20:10 avar It would be useful to have a generalized test suite for different regex implementations that could be included at make dist time
20:10 avar http://search.cpan.org/src/AVAR/re-engine-Plan9-0.07/t/re_tests # I ripped these out of blead and cut out all the stuff that didn't work on plan9
20:10 mncharity anyway, I'll silence for now my longstanding (year?) pitch "that the way you need to test re overrides, is by running them against the p5 test suite.  and if that is not trivial to do, then something is wrong.  and if it isn't tested, then, as always, it doesn't work.".  ;)
20:10 avar use Regexp::Test::Plan9; ...
20:11 fglock heh - I got a recruiting mail from google, I thought it was spam
20:11 avar Yeah, that's what I've been doing sort of, like this: http://search.cpan.org/src/AVAR/re-engine-Plan9-0.07/t/subst.t
20:11 SubStack joined #perl6
20:11 avar But if you compare those with the core tests they're changed because the engine underneath isn't the same, so you have to edit them somewhat
20:12 audreyt joined #perl6
20:12 mncharity avar: every time my irc client renders Test:: Plan9, I see Test:<face with tongue hanging out the side>lan9.  :)
20:12 avar hehe
20:12 mncharity fglock: :)
20:13 riffraff avar, now I see. Non-backtracking regexen a-la awk, right?
20:14 avar yup
20:14 mncharity re "because the engine underneath isn't the same, so you have to edit them somewhat", umm... I... can't... resist... "and that's the reason for trying it with the engine underneath the same". ;)
20:14 avar mncharity: hrm, I don't understand
20:15 avar riffraff: http://search.cpan.org/src/AVAR/re-engine-Plan9-0.07/t/pathological.t :)
20:15 lambdabot http://tinyurl.com/ywddmh
20:15 riffraff but IIRC non-backtracking are not as powerful as perl5 regexen, so you're telling me that perl5.10 uses a different engine depending on input?
20:16 avar no, you can write cpan modules to replace the engine
20:16 riffraff ah ok now everything makes sense :)
20:16 riffraff thanks for taking time to explain
20:16 mncharity if the plugin uses the usual p5 regex engine, then the tests don't need to be edited.
20:16 avar so you can do package my::module; sub { use re::engine::POSIX; if "str" =~ /\(.*\)/ { ... :)
20:17 avar and that'll be just as fast as the perl engine since it's resolved at parse time
20:17 mncharity fglock: let's see, re architecture...
20:19 mncharity no docs.  the backtracking api is all in the few BacktrackMacros.  basically it's
20:22 fglock I read there is a "stream model" and a "two-continuation model" for backtracking (among others)
20:24 dduncan joined #perl6
20:24 mncharity it's a one continuation model
20:25 mncharity success is returned up the stack
20:25 mncharity as is failure (reserved return values)
20:26 mncharity oh, except for the sequence/group/rule/match non-local failures, which are exceptions
20:26 mncharity single argument passed down, the continuation.  the str/pos/etc/etc/etc are all local() vars.
20:29 pasteling "mncharity" at 24.128.48.3 pasted "engine foundation" (32 lines, 1.2K) at http://sial.org/pbot/25360
20:34 mncharity $noop is just because the if !defined($c) test has non-trivial performance cost, and code can be simpler if it can assume $c is always callable, rather than always doing   defined($c) ? $c->(whatever) : mumble;.  I'm actually not sure what the current level of support for $c->() is (ie, giving it an undefined continuation).  I first tried avar's code without the $noop.  Went boom.  It's a corner which needs to be cleaned up.
20:35 avar if (ref $c eq "CODE") ?
20:36 mncharity perhaps faster?  could be
20:37 mncharity basically calling  $c->($noop)  is saying "let's see if the rest of the regex can succeed now".
20:38 mncharity one uses $cfoo->($cbar)  when one wants the $cfoo to run, using $cbar as the "rest of the regex".
20:43 mncharity so given an arbitrary sub which follows this convention, and calling $f->($g),  if g calls FAIL(), backtracking happens in f.  if g returns a value for which FAILED($value) is false, the regex is done and f has succeeded.  FAILED is (!defined($1)||(!ref($1)&&($1<=0)))  so undef and negative numbers.  the neg nums are just in case exceptions (for FAIL_GROUP, etc) turn out to be too expensive
20:43 mncharity s/case exceptions/case using exceptions to implement FAIL_GROUP, etc, turns out to...
20:45 mncharity if g calls FAIL_GROUP etc, an exception is thrown.  particular flavors of f subs may catch some of them.  eg, sub's which do groups will catch FAIL_GROUP and convert it to a simple FAIL.
20:47 mncharity rephrase: one uses $cfoo->($cbar)  when one wants the $cfoo to run, with it considering $cbar as the "rest of the regex".
20:48 mncharity fglock: how are you doing?
20:49 mncharity anyone: just how unclear am I being?
20:49 ingy hola
20:49 mncharity hi ingy :)
20:49 ingy hello mr charity
20:50 mncharity looks like the n lost a descender there ;)
20:51 ingy just trimmed it up a bit
21:05 fglock mncharity: sorry - meeting (on perl6) - will backlog
21:15 jedai joined #perl6
21:27 perlbot joined #perl6
21:28 mncharity fglock: np.  I got distracted too
21:31 perlbot joined #perl6
21:33 thoughtpolice joined #perl6
21:34 prism joined #perl6
21:38 gaal ouch, comment spam on the blog :(
21:43 [particle] joined #perl6
21:45 weinigLap_ joined #perl6
21:57 Limbic_Region joined #perl6
22:00 Aankhen`` changed the nick to Aankhen
22:00 Aankhen changed the nick to Aankhen``
22:18 Limbic_Region fglock++ # roadmaps are always nice
22:31 ron__ joined #perl6
22:32 ron__ ?eval class Chozzle {has $a; method set_a { $::a = 1 }} $c.set_a;
22:33 gaal you need $.a there, I believe
22:33 ron__ ?eval class Chozzle {has $a; method set_a { $::a = 1 }} my $c = Chozzle.new; $c.set_a;
22:33 Limbic_Region evalbot has been dead for sometime
22:34 gaal I wonder why it's dying; I revived it earlier today
22:35 ron__ I am trying to submit some bug reports and pugsbugs@perl.org does not seem to be reachable.
22:35 Limbic_Region gaal - out of curiosity, does the config.yml for it have Test.pm in precompiled list?
22:35 Limbic_Region gaal - I ask, because I think I have found the reason why Win32/MinGW was failing after the pad refactor went in
22:36 gaal checking
22:36 gaal (I wasn't aware that it was failing there.)
22:36 Limbic_Region gaal - it isn't now
22:36 Limbic_Region gaal - basically I started doing rmdir /s everywhere
22:37 Limbic_Region and one of the files I removed was config.yml and magically it started working
22:37 gaal feather isn't responding to ssh :(
22:37 Limbic_Region but I just recently added in Test.pm to config.yml again and now it is apparently b0rk again
22:37 Limbic_Region doing a realclean now
22:37 gaal nor to ping for that matter
22:37 Limbic_Region if it still fails I will remove it and try yet again
22:37 Limbic_Region if it works after removing it, I will know for sure
22:38 Limbic_Region yes, feather appears to be offline
22:39 REPLeffect joined #perl6
22:39 gaal ron__: in the meanwhile please write to p6-compiler -- or just mention them here.
22:40 ron__ thx - I will try back in a bit and if feather is still down I will probably write to p6-compiler.  thx again for checking
22:40 ron__ left #perl6
22:42 japhb joined #perl6
22:45 thoughtpolice grr. blogger's compose mode is seriously starting to get on my nerves. :(
22:45 Qjimbo joined #perl6
22:45 Qjimbo Hi
22:46 Qjimbo I've been trying to install ilbot on my server but the svn link doesn't appear to be working
22:47 Tene Qjimbo: svn.pugscode.org ?
22:48 Qjimbo yeah
22:48 Qjimbo b03s45le irclog # svn co http://svn.pugscode.org/pugs/misc/irclog/
22:48 Qjimbo svn: PROPFIND request failed on '/pugs/misc/irclog'
22:48 Qjimbo svn: PROPFIND of '/pugs/misc/irclog': could not connect to server (http://svn.pugscode.org)
22:48 Limbic_Region is svn.pugscode.org hosted on feather?
22:48 Limbic_Region we just went through that
22:48 Tene Yes.
22:48 Limbic_Region feather is apparently offline ATM
22:49 Qjimbo aah I see
22:49 Qjimbo any idea when it will be back?
22:49 Tene We don't know why it's down, so no. ;)
22:54 Limbic_Region gaal - so far, everything is pointing to an attempt at precompiling Test.pm
22:55 Limbic_Region doing last recompile now
22:55 gaal Limbic_Region: okay, any further hints would be appreciated. i'm off to bed (and don't have a windows buid system handy) but please do keep us posted
22:56 Limbic_Region gaal - sure, but I have previously nopasted the error
22:56 Limbic_Region gaal - I guess I will just repost that
23:00 wolverian joined #perl6
23:01 PerlJam joined #perl6
23:02 Juerd joined #perl6
23:02 diakopter joined #perl6
23:05 Limbic_Region hey Juerd, feather was offline for a while
23:06 ron___ joined #perl6
23:07 ron___ ?eval say 'running'
23:07 ron___ left #perl6
23:09 pbuetow joined #perl6
23:10 Limbic_Region @tell gaal it certainly was the precompiled Test.yml - see http://sial.org/pbot/24983
23:10 lambdabot Consider it noted.
23:11 Limbic_Region @tell audreyt the problem I encountered after the pad refactor on Win32/MinGW http://sial.org/pbot/24983 that magically went away when I indiscriminently deleted files and directories and did an svn up came back again as soon as I added Test.pm to the list of precompiled modules in config.yml - don't know why, but that's the problem
23:11 lambdabot Consider it noted.
23:13 Qjimbo haha cool bot
23:13 Limbic_Region could anyone who has a current pugs build check to see if Test.pm is in their list of precompiled modules in config.yml ?
23:13 * Limbic_Region assumes it is a Win32/MinGW problem but perhaps not
23:19 Qjimbo aaah pugscode is back
23:25 Qjimbo "Install all dependencies, among them are Config::File, CGI, DBI, Net::IRC, CGI::Carp, Encode::Guess, HTML::Entities, HTML::Template and Regexp::Common" how would I go about doing this?
23:25 Qjimbo I'm using gentoo
23:26 moritz Qjimbo: as root, cpan -i Config::File
23:26 moritz etc
23:27 moritz Qjimbo: what are you about to install?
23:27 moritz in debian, some of the modules are prepacked, libconfig-file-perl for Config::File etc.
23:27 Qjimbo ooh just the irclogbot that mortiz made
23:28 Qjimbo aah I see
23:28 thoughtpolice is there a general way to specify a function which takes a variable number of blocks? basically 'variadic-closure' parameters.
23:29 moritz Qjimbo: atm you shouldn't use ilbot2.pl
23:29 thoughtpolice what would also work is a way to specify how to execute a given block; i.e. something like '$b.exec'
23:30 moritz ilbot.pl will do just fine
23:30 Qjimbo oh ok =)
23:30 Qjimbo it'll be cool if you decide to support more than one channel
23:31 Qjimbo I'd love to use this on my whole irc net (only 2 channels at the moment so I should just be able to run 2, but you never know about future growth =)
23:32 moritz Qjimbo: you can use two instances of ilbot, the cgi scripts support multiple channels
23:32 avar thoughtpolice: $b() ?
23:33 Qjimbo ooh right, so I can use the same database?
23:33 moritz Qjimbo: yes
23:33 Qjimbo cool ^^
23:34 moritz Qjimbo: call ilbot as perl ilbot.pl <nick> <server> <channel>
23:34 Qjimbo right
23:34 thoughtpolice avar: oh, yes. :)
23:34 thoughtpolice ty
23:35 thoughtpolice avar: I must have had a quick brain fart. :p
23:37 moritz Qjimbo: I think the databease def is not up date.. give me 15 more minutes and I'll upload a new one
23:37 Qjimbo ooh ok
23:37 Qjimbo you mean the .sql file?
23:38 moritz yes
23:38 Qjimbo right
23:38 avar who maintains the irc log thingy again?
23:39 moritz if you run both ilbot.sql and add_id.sql in that order everything should be fine
23:39 moritz avar: /me
23:39 Qjimbo oh right ok
23:40 moritz I didn't knew I'd ever get that many users ;)
23:40 Qjimbo I like the way it uses mysql =)
23:40 Qjimbo very handy for what I plan to do eventually, which is scan the logs for links to topics on my forum and have the chat that followed displayed on the forum
23:41 Qjimbo if that makes any sense
23:41 moritz you can basically achive that by changing revision_linkify and synopsis_linkify in IrcLog.pm
23:42 moritz and chaining more functions like that
23:42 Qjimbo well I was thinking of just using a LIKE %topiclinkhere% command on the database
23:43 moritz so you don't want to display them in the normal links?
23:43 Qjimbo oooh
23:43 Qjimbo you mean have it so there's a link from the topic to the irc log, yeah that'd be nifty
23:44 Qjimbo might be easier to just rewrite the linkgenerating routine in php though if it's based off an id in the database or something
23:44 moritz Qjimbo: s/php/perl/ ;-)
23:44 avar moritz: ew net::irc :)
23:44 moritz that's what out.pl does
23:44 Qjimbo lol
23:45 meppl good night
23:46 moritz avar: you can use the Bot::BasicBot based version if you don't like Net::IRC ;)
23:49 moritz Qjimbo: now an up to date version of ilbot.sql is in the svn, no need for add_id.sql any more
23:49 Tene Is that the one that crashes on nick changes?
23:51 moritz Tene: that's the one that formerly crashed on nick changes... for now it just 'return undef' before the crashing line...
23:52 Tene 'kay
23:52 moritz Tene: I need to figure out how to do that properly, but currently I don't have the time
23:52 moritz if I'm bored tomorrow... ;)
23:55 moritz anyway, sleep&

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo