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