6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6
Set by audreyt on 1 February 2006.
putter search.cpan.org/~crunchie/Regexp-Ex...xtended.pm is cute. 00:06
ah, search.cpan.org/~pinyan/Regexp-Parser-0.20/ replaces YAPE::Regex 00:12
search.cpan.org/~amackey/Regexp-Def...tion-0.05/ has nice perl.com article 00:26
search.cpan.org/~pinyan/Regexp-Keep-0.02/ laugh 00:32
00:51 theorbtwo joined
putter search.cpan.org/src/PINYAN/Regexp-P.../Parser.pm !! 00:59
japhy was indeed on #perl (connected to at least). I asked him to stop by to chat. 01:01
01:04 theorb joined, vel joined 01:05 pdcawley_ joined 01:24 pdcawley_ joined 01:26 stevan_ joined
stevan_ heya putter 01:30
putter hey stevan_ :) 01:36
soo...
stevan_ soo...
putter one potential piece of the puzzle. it looks like creating a working p5 rules module could consist of taking YAPE-Regex or Regexp-Parser, modifying it (YR: p6 syntax; RP: has? maybe just subrules; both: a subrule node), then 01:38
writing a walker which creates a very simple sub{} parser (one continuation param, return undef to fail, local()ized $str and $pos). at that point you have a reentrant parser (for p5 too:). add simple store-named-rules someplace, and have working p6 rules on p5. for some "still need to flesh things out to be spec" value of working. 01:42
stevan_ what about Coro (for continuations that is)
putter though can of course be used prior to being fleshed out. (zombie usage?;)
to.... provide call/cc on a p5 backend?? 01:43
stevan_ is not really a "parser" guy, so you are loosing me a little 01:44
01:44 stevan_ is now known as stevan
stevan putter: Coro for all your continutation needs (it works pretty well IIRC) 01:44
putter sub { my $c = $_[0]; return undef if substr($str,$pos,1) ne "a"; local $pos = $pos + 1; $c->($sub_which_just_returns_true) } 01:46
that's the implementation of the regexp "a"
the idea behind having the $c continuation, ie, the thing you call after you are done, is that if it fails, and you have some choice in what you can do, you can choose differently (ie, smaller number of repetitions), and try calling the $c again. 01:48
err, my code example should have been return $c->(...)
ayrnieu why should it be that way? 01:49
putter say we have sub lit { my($s)=@_; sub { my $c = $_[0]; return undef if substr($str,$pos,1) ne $s; local $pos = $pos + 1; return $c->($sub_which_just_returns_true) } } ie, a generator for the above, for literals. 01:50
Juerd putter: I don't want to ruin you dream, but had you taken backtracking into account yet?
putter one can say $fa= lit("a"); $fb= lit("b"); and then $fab = $fa->(sub{$fb->($_[0])}); 01:51
yes. for instance, alt would be 01:52
Kattana it looks ugly.
putter something like sub { my $c = $_[0]; for my $f (@fs) { local $pos = $pos; if $f->($c) { ... } else { next; } } return undef; } re "...", and an oops, 01:54
you really want to do let $pos = $pos + 1; since p5 doesn't have it, you get to make things even more ugly by doing wrapping up local() to fake it. 01:55
01:56 sven_ joined
putter (where let() is p6's hypothetical variable decl. like local() (aka temp()) on failure, but like simple assignment on success. 01:56
so my $new_pos = undef; { local $pos = $pos + 1; if succeeded { $new_pos = $pos; } } $pos = $new_pos if $new_pos; sigh. 01:57
Juerd putter: But do you even want to think of .*a backtracking? 01:58
Trying .* first, then one less, then one less, again one less, until you find an a?
Kattana I think in such situations pcre scans ahead to check if it is possible to match the pattern first, if there is an "a". 02:00
putter some expressions are going to be very very painful. unless someone adds optimizer/guard-creation stuff. eg (?:.*)+ :). but... I really don't care ;)
Juerd ()* # loopy loop 02:01
putter Kattana: yeah. that's the kind of game you play to deal with such cases. or explicitly recognize constructs like nested *+, and mutate them.
re ()*, yeah. repetition subs want to do progress checks. "has $pos changed since the last time through the loop". 02:02
Kattana its where optimizing comes in.
putter ayrnieu: continuations give you two things. one is later stuff in the regexp can fail, "pushing back". ie, saying, nope, I'm not happy, feel free to try again. you could get that in other ways, though they make the implementation more complex. but the second thing it gives you is composability. you can separately compile regexes, then 02:06
Juerd putter: Feel like implementing this? ;)
putter combine them into one, or have one call another from inside of itself.
Juerd: sure :) 02:07
it looks like japhy has already done the annoying part. :)
Juerd You make it sound so simple. I just find it extremely hard that if this is all there's to it, regex engines have so many loc. 02:08
There must be something huge you're overlooking. Or you're even more of a genius than I thought
putter well, see integral's earlier comments about recursion and stack depth. 02:09
and some lucky folks are in the position to care about things like how fast stuff runs. whereas we would be happy to have something running at all, at any not to insanely slow speed. 02:10
there some things we can do to speed it up. but they add complexity. so rev one ignores speed in favor of getting it working. 02:11
Juerd I do wonder if it's possible to get it working even 02:12
putter re speed up, one approach might be to generate the source of code, rather than assembling lots of separately compile subs. that gives p5 a chance, in eval, to optimize it.
but again, that's more complex
Juerd Perl 5 doesn't do any high level optimizations 02:13
Only on statement and expression level it optimizes.
And runtime.
Of course
putter yeah, but my fuzzy (very) impression was lexically scoped subs which don't escape get inlined.
Juerd I'd be very surprised. 02:14
putter :/
Juerd Perl 5 doesn't even have lexically scoped subs
It has lexical variables that can hold references to subs.
But I doubt it can abstract that enough to optimize it.
putter sub { my $f = sub { ... }; ... $f->() ... } My vfuzzy impression was $f goes away. 02:15
Juerd Oh, you mean that it's destructed? Yes, that could be.
putter could well be wrong though. but as you said, the first thing is to see something work.
Juerd I don't call that inlining.
putter not destructed, but deconstructed :) 02:16
it's p5 vm opcodes get inlined. or that's the hypothesis
Juerd Do you mean that { my $f = sub { a }; ... $f->() ... } gets optimized into { ... { a } ... }?
if so, nafaik.
putter yes. ah well. :(
Juerd I have no idea how it possibly could. 02:17
$f is a runtime thing. By the time $f->() is reached, it could hold 42 instead of the subref.
putter but anyway, once you are paying the complexity cost of slinging around code strings, you can play any kind of game you want, including avoiding subs.
Juerd Perl 5 has no analysis of variables, and how they're used. It doesn't inline variables that aren't used elsewhere. 02:18
putter so, it sounds like one possible next step is to do a quicky throw-away demo on say YAPE-Regex, p5 syntax, just to prototype the engine architecture, and provide an illustration for doing it with p6 syntax there, or on Parse-Regexp. 02:20
would provide a performance test too 02:21
Juerd Oh my
Don't we have a performance test in the sense of `time make test` then?
putter huh? 02:22
Juerd Mind not
putter is confused...
Juerd So was I
putter it's contagious ;)
Juerd More so than h5n1, apparently. 02:23
At least h5n1 doesn't spread over wire... yet.
putter ?
Juerd avian influenza, the pandemic waiting to happen
The h5n1 variant is carried by birds, and happily jumps to humans. 02:24
Long incubation period, so the birds and humans get more than enough time to infect others. 02:25
Lack of vaccin, lack of anti virals, lack of emergency plans
putter ok, before touching code, here is the strawman argument. a quick backtracking parser on Y-R prototype, doing p5 regexs, would give a demo/proof-of-concept/performance-test, for a pure p5 p6-rules engine.
Juerd It's a nice overview of how modern society set its own death trap once more.
putter a rules engine which could be straightforwardly made a full p6 parser. (ie, addition of longest-match token nodes, and an operator-precedence-parser node). 02:26
Juerd What do you mean by quick?
putter we know we can do a p6 runtime on p5. even if perhaps only a slow one. 02:27
Juerd You do realise that by no known standard, a regex engine written in p5 can be quick...
putter which would leave only the question of can we reasonably compile a p6 parse tree using p5. I don't know enough about what pugs compilation is doing to know how hard that would be. 02:28
Juerd I'm going to bed, sorry 02:29
Good night
putter Juerd: re quick, err, quickly developed. i expect speed to be poor.
Juerd I see
putter re can't be quick, yes.
but all it has to be is fast enough to be usable to bootstrap, no? 02:30
Juerd: good night 02:31
putter wants a module which configures -MCPAN so it actually works... :/ 02:33
02:40 scook0 joined
putter thinks in ten years, install Bundle::CPAN has never ever done anything but result in a completely unusable -MCPAN shell. no doubt i'm just not remembering all the times it worked. ;) but I so knew that was a mistake :( 02:49
02:54 grayson joined
putter hmm, the YAPE-Regexp alt node doesnt actually store the alternatives. Regexp-Parser's does. switching to RP... 03:19
audreyt putter: are you planning on writing a rules compiler in p5 using regexp::parser? 03:39
(havn't yet backlogged) 03:40
I think it's a valid path. I tried to get ingy started on it but we got... distracted
to that yaml business
not surprisingly for two severe ADD people 03:41
03:43 stevan joined
ayrnieu (audreyt - hah, that reminds me of a great story, back when *shiny thing appears*. ooh.) 03:43
stevan hey audreyt 03:46
audreyt hey 03:50
I'm still in translation
5 pages to go
stevan ah
what are you translating?
audreyt lambda-the-ultimate.org/node/1298#comment-14589
er, the book "Luna"
03:51 grayson joined
audreyt www.amazon.com/gp/product/0316733695/ 03:52
stevan yes I just found it 03:53
very nice
audreyt nice book. though for hackers, ai.eecs.umich.edu/people/conway/conway.html may be a better source
this professor conway is an amazing person :) 03:54
ayrnieu audreyt - you're translating Luna into Chinese? For a publisher? 03:56
audreyt ayrnieu: aye
to be published June I think
if not earlier
it feels a bit like translating Learning Perl :) 03:57
stevan audreyt: are you going to put your story up there? 03:58
audreyt stevan: in lynn's page? not sure... I'm still too early in the transition 03:59
maybe 2~3yr from now
stevan thats understandable
so I wont bother you much since I know you have a deadline,.. but it occurred to me that we will be writing Perl 6 not in Perl 5, but in CPAN which fits quite nicely with your "CPAN is my programming language" idea :) 04:01
audreyt yeah. I want a better syntax with that language
and it seems we're getting it earlier now 04:02
putter hey audreyt
audreyt which is wonderful
yo putter
stevan hey putter
putter yes. have anchors working. going to literal, alt, maybe *, and then code (stress test:). I'm using the p5 syntax version, because the p6 version doesnt have test cases, so I dont know its state. that set should be enough to demo the concept, and get some order-of-magnitude benchmarks. 04:04
audreyt cool
putter hi stevan.
audreyt I'll help by porting OpTable to p5
or did you already have a plan on that?
putter :) 04:05
audreyt (the shift/reduce parser for circumfix/postcircumfix/infix etc tokens)
putter no plan
audreyt ok. I've got some sketch in D
translating to P5 should be straightforward
putter I'm tunnel visioned right now - get working PR demo done before end of day (ie, next hour).
audreyt will begin as soon as I'm off ground (36hr from now)
good. best luck! 04:06
putter ;)
audreyt I'll go back to Luna too :) &
putter goes to look at Luna... no he doesn't... putter goes back to hacking...
audreyt that's right. and I won't go look at OpTable :) 04:10
putter :)
sigh. PR has non-blessed arrays for concatenations... grumble, grumble. 04:11
audreyt autobox.pm? 04:12
putter nah, I can just fudge it. just grumbling because it's unnecessary cruft. 04:13
thanks :)
audreyt . o O (you said "perl5" and "fudge". I think you repeat yourself. :)) 04:14
stevan :D
tewk audreyt: I'd be willing to give OpTable a shot while you finish your translation. Could you make your D sketches available. I did a direct port of OpTable from PGE to Ruby
audreyt tewk: where is your ruby version? 04:15
tewk: I could, but I'd need to type them into a computer 04:16
(from analog dead trees)
which I can do on the plane :)
tewk: though if you have a ruby version running, transcribing to p5 should be easier than D 04:17
tewk It's half baked, but I could check it in. I was at the point where I needed gotos to finish OpTable. I found a ruby module that provides goto's using exceptions.
audreyt ahh. then just check it in.
perl5 has gotos, anyway
tewk That should make it easier. 04:18
I'l start a translation from ruby/PGE to p5 then
putter nifty 04:19
tewk I guess I need to go look at PR. What are you using for match objects or does that need to be ported too. 04:21
04:21 justatheory joined
audreyt tewk: check it in under ruby/optable/? or maybe under misc/pX/tewk/ 04:24
svnbot6 r8963 | tewk++ | Early start at a port from PGE to Ruby 04:29
audreyt tewk++
04:31 akusarujin joined 04:32 akusarujin left 04:34 Amnesiac joined, azuroth joined 04:35 justatheory joined
svnbot6 r8964 | Darren_Duncan++ | r2400@darren-duncans-power-mac-g4: darrenduncan | 2006-02-11 20:36:53 -0800 04:41
r8964 | Darren_Duncan++ | /ext/Rosetta : continued rewrite of Language.pod
putter tewk: no match objects a present. just doing accept/reject. there is a p5 Match object in perl5/PIL-Run. 04:48
tewk putter: I'll go look at that 04:52
04:54 stennie joined 04:56 stennie joined 05:27 drbean joined
gaal $morning 05:31
05:36 rantanplan_ joined
putter morning gaal 05:43
gaal heya 05:44
svnbot6 r8965 | putter++ | Created pX/Common/regex_engine_demo.pl, the beginnings of an experimental backtracking recursive decent parser for p5. It even works, a (very) little bit. 05:56
r8965 | putter++ | Checked in today's pasted design space exploration.
r8965 | putter++ | pX is dead, long live pX:
r8965 | putter++ | Yesterday's strawman project proposal for "write a p6 implementation in full p6, and then boostrap it by transcoding" is dead.
r8965 | putter++ | Moved the proposal Aside/, along with the "seed" code files.
r8965 | putter++ | But these directories, created to illustrate a how we might work more collaboratively, look like they will live on for another day or two at least.
r8965 | putter++ | And "pX" may be mutating into a new p6 on p5 effort.
clkao oooo 05:57
putter ok, well that took longer than anticipated, and didnt get as far as intended. but the parser demo file is in, and working just a bit, and I'll get back to it in the morning.
Feel free to finish while I sleep. :) 05:58
05:58 drbean left
putter japhy: if you stop by, hi! we're using Regexp::Parse. :) 05:59
clkao: re oooo, :)
clkao :)
06:07 Alias_ joined
Alias_ purl, seen audreyt? 06:07
seen audreyt?
(stupid reflexs)
no bots at all?
ayrnieu audreyt was last seen on #perl6 0 days, 1 hours, 31 minutes and 23 seconds ago, saying: tewk++ [Feb 10 22:29:37 2006] 06:09
Alias_ :) 06:10
6.2.11 released! | pugs.blogs.com | pugscode.org (down?) | pugs.kwiki.org | paste: sial.org/pbot/perl6 06:10
ayrnieu (she is translating Luna to Chinese, with five pages left, and has perl6 plans which begin 36 hours from) 06:10
Alias_ Luna? 06:11
ayrnieu www.amazon.com/gp/product/0316733695/
Alias_ ah 06:12
Alias_ is pondering the point of can_run('foo') in M:I, since it doesn't actually DO anything 06:16
or at least, it doesn't do what _I_ thought it did 06:18
obra What does it do? 06:21
Alias_ It checks to see if you can run something and returns the location of the executable if so 06:22
svnbot6 r8966 | putter++ | Created a new misc/pX/Common/Tasks. Which points you to all the helpful things you can do listed in misc/pX/Common/regex_engine_demo.pl and nicely marked with XXX. ;)
Alias_ I'd thought it was more of an imperative statement
What I really want is a must_run('...')
obra oh. it does sounds like what I'd expect
Alias_ It has no side-effects, and I'd thought it did 06:23
it's basically which
I really just want something that will abort the installation if it is not available
And which also populates some notional future external dependency element in META.yaml so that debian/platform-integration works better 06:26
I guess I should just implement a requires_external bin => 'foo'; 06:27
or similar
obra that'd make some sense. 06:29
I believe that was the intent of "Alien" 06:30
which was, iirc, kane's
Alias_ Sort of, yes
Alien is the intensive approach
I'm after more of a declarative approach
Alien is a "make it happen, do what it takes" so far as I can tell 06:31
putter If someone wanted to create a way to use t/rules/perl5_\d.t from perl5, so I could do TDD in the morning, that would be nifty. :) 06:32
way past end of day for me. good night folks & 06:33
ayrnieu ?seen audreyt 06:37
?eval <<1 2 3>>[1]
06:37 evalbot_8958 is now known as evalbot_8966
evalbot_8966 \"2" 06:37
ayrnieu ?eval my @a = <1 2 3>; sub x { @a[$_[0]] } x(0&1) 06:38
evalbot_8966 \"2"
ayrnieu huh, not what pugs does now. 06:39
?eval <1 2 3>[0&1]
evalbot_8966 Error: cannot cast from VJunc all(VInt 0,VInt 1) to Double (VNum)
ayrnieu pugs does that OK :-)
audreyt registerfly.com is broken, so I can't change the IP :/ 06:42
ayrnieu ?eval class List; sub rand { @_[rand @_] } 06:44
evalbot_8966 undef 06:45
ayrnieu ?eval <1 2 3>.rand
evalbot_8966 0.8528460760956738
ayrnieu (oops.)
audreyt I don't think the contexts carry 06:46
?eval class List; sub rand { @_[rand @_] }; <1 2 3>.rand
hmmm
evalbot_8966 (no output)
ayrnieu it's bad anyway: terminal loop.
audreyt aha.
?eval class List; sub rand { @_[rand @_.elems] }; <1 2 3>.rand
evalbot_8966 (no output) 06:47
audreyt ?eval sub List::rand { @_[rand +@_] }; <1 2 3>.rand
evalbot_8966 \"1"
ayrnieu yay 06:48
Daveman throws a snowball at evalbot_8966 06:49
azuroth ?eval @a=[1,2,3]; say @a.elems; 07:08
evalbot_8966 Error: Undeclared variable: "@a"
azuroth ?eval my @a=[1,2,3]; say @a.elems;
evalbot_8966 OUTPUT[1 ] bool::true
azuroth ?eval my @a=[1,2,3]; say +@a;
evalbot_8966 OUTPUT[1 ] bool::true 07:09
azuroth ?eval my @a=(1,2,3); say +@a;
evalbot_8966 OUTPUT[3 ] bool::true
azuroth ?eval my @a=(1,2,3); say @a.elems;
evalbot_8966 OUTPUT[3 ] bool::true
ayrnieu ?eval ("hi".split(<>))&(split <>, "hi") 07:10
azuroth why are they different in that case? bad precedence..?
evalbot_8966 ("h", "i")
ayrnieu (convergence)
?eval (123.split(<>))&(split <>, 123)
evalbot_8966 ("",)
07:10 comand joined
ayrnieu (well, the second is now different) 07:11
Alias_ What's the URL for the P6 use syntax again? 07:12
S11? 07:13
ayrnieu (dev.perl.org/perl6/doc/design/syn/S11.html for modules) 07:14
Alias_ hmm 07:15
It's kind of annoying that the use syntax requires code to specify what to use
ayrnieu ?eval +(([<1 2 3>])) & +(([<1 2 3>])[0]) 07:16
evalbot_8966 3
Alias_ It's also annoying that the seperator is a legal character
ayrnieu (now: (3 & 1.0))
Alias_ ah, wait... ok, so language is not the same as authority
07:27 Aankhen`` joined 07:45 pdcawley_ joined
Khisanth use v6; is always going to be needed? 07:52
Alias_ not if you have module Foo or class Foo 07:53
Khisanth I mean for a plain old helloworld.pl 07:55
Aankhen`` You could name it helloworld.p6. 07:58
Khisanth and what about just helloworld? 08:03
audreyt notes that "use v6;" is shorter than "use strict;"
Alias_ audreyt: Question re: versioning Module::Install 08:04
audreyt: Is there any potential for accidentally mixing plugins from two different versions? Such that it would be worth syncronising the version of each module 08:05
audreyt Alias_: I wouldn't think so; the submodule versinoning are largely cosmetic
Daveman throws a snowball at Khisanth.
Daveman runs away to his igloo
audreyt The snowball hits! It explodes in a kaledoscopic light! --More--
Alias_ audreyt: I've added an experimental Module::Install::External to start implementing things like requires_external bin => 'qemu'; 08:06
Daveman scrolls down audreyt
;p
Alias_ But I'm not sure if I've done it all properly... also it causes the Makefile.PL run to shortcut exit without writing anything if the external thing isn't available... is that right?
audreyt Alias_: what's wrong with "can_run 'qemu' or die;' ?
Daveman I wonder if you could do wavelet analysis on that :P 08:07
Alias_ audreyt: It's not declerative? :)
declarative
audreyt then I'd use requires_bin 'qemu'
Alias_ requires_external_bin also works
audreyt adverbs is not ususally the M::I style
Alias_ I'm mainly doing it seperately so I can later implement things like versions 08:08
audreyt sure
Alias_ Whereas can_run is quite raw
audreyt go ahead, I think that's fine
yup
Alias_ And just exit(255)ing is the proper response to not finding it?
Information on how Makefile.PL indicates N/A or FAIL is thin on the ground
audreyt no, dying.
Makefile.PL indicates NA by dying 08:09
it cannot indicate FAIL.
Daveman oh noes
what's dying?
Khisanth the use v6; seems to be implying p5 is sticking around indefinitely though
Alias_ Specifically dying, or exiting withing writing Makefile?
without
audreyt Alias_: the latter, though a line of explanation on sTDERR is highly recommeneded
Alias_ hmm...
ok
audreyt Khisanth: I tend to think it's a safe implication for the forseeable future 08:10
Alias_ I find that dying makes it look like the Makefile.PL itself is crashing, it looks confusing from a "reading the output" perspective
audreyt Alias_: you can die with a \n 08:11
Alias_ There's no obvious distinction between intentionally exiting without writing a Makefile or accidentally crashing
audreyt die "==> Cannot find bin/qemu, aborting.\n" unless can_run('qemu');
there is, namely the trailing \n
by conveniton, anyway
Alias_ ah
Not really documented anywhere I've ever seen :)
audreyt indeed :) 08:12
it's all part of this oral history tradition thing
Alias_ The whole installation cycle is badly documented... too many people involved at different stages
right
Which makes it a bitch for PITA development, which needs strictly defined rules to attach to
Testing is not an area in which I really want to be using oral history and heuristics :) 08:13
Khisanth audreyt: I am just thinking about being annoyed 10 years from now having to type that in every script for no other reason than backwards compatibility with something that isn't really used anymore :) 08:14
Alias_ ok, changed to print STDERR $message . "\n"; exit(255)
audreyt Khisanth: "module Main;" :)
Alias_ Khisanth: And #!/usr/bin/perl6
audreyt Khisanth: maybe at some point in the future it'd make sense to relax it
right, or that. that's explicit.
the v6 disambiguator exists because some day /usr/local/bin/perl would run perl6. 08:15
Alias_ If you are writing something that isn't a script, and isn't a module, then asking for a small indicator isn't too much to ask
Khisanth that seems about as likely as p5 being strict by default
audreyt Khisanth: in any case, if you are writing a oneoff script with a #! line, then #!/usr/bin/perl6 obviates the need of 'use v6' 08:16
Alias_ If that's the case, surely perl6 would know and assume 5 grammar by default
audreyt Alias_: right.
08:16 iblechbot joined
audreyt which is why we need a disambiguator. 08:16
Alias_ oh right
Alias_ slaps head
audreyt: BTW, if you could start gently bullying people into thinking about cross-language etc deps whenever such topics come up, that would be useful 08:18
audreyt: At the moment requires_external_bin just bails out, but I'd like to be writing an entry into some metadata somewhere so that debian/etc people can integrate better 08:19
audreyt: So there's about a dozen people that needs to spend some time thinking about what form that metadata will take
audreyt okay, noted.
Alias_ I figure we let it stew for about 3 months, then something should happen 08:20
08:20 G2 joined
Daveman Alias, use the Crock::Pot? :P 08:20
Alias_ ? :) 08:21
what now?
Daveman heehee, sorry, just silliness
Alias_ ah, stewing, right
Daveman yeah :)
I wonder how stewed perl would taste...
audreyt goes back to (literally) do some preflight preparations 08:22
gaal: will you be picking me up @ airport?
Alias_ Although 50% of the time when you try to get concensus amount a dozen people it's more like Crack::Pot
amoung
Daveman :\
audreyt I parsed "Crack::Pot" as well
Alias_ :)
Daveman :(
Alias_ audreyt: Speaking of which, what are the Haskell board like? :)
Daveman hooray, haskel! 08:23
audreyt Alias_: er, very exciting? you can see all the process via the public Trac instance
Alias_ audreyt: I'm assuming you bullied your way in to help with OO?
audreyt Alias_: no, I bullied my way by raising my hand during ICFP and volunteering when asked
it's very much an adhockracy
Alias_ Any particular area of interest?
I'd only heard you mention objects before 08:24
audreyt unicode and library interface
(both are my pet interests in CPAN anyway)
Alias_ right
Alias_ will be extremely happy if Haskell and P6 play together really really well
audreyt I think you are likely to be extremely happy.
Khisanth Daveman: stewed pearls would not taste very good 08:25
Alias_ Sort of like the next generation approach to "porting parts to XS" will be "porting parts to Haskell"
Daveman Khisanth, expensive :)
azuroth 's monitor keeps shaking strangely. hmm.
Daveman azuroth, commonly attributed to power fluctuations?
audreyt Alias_: sure, except that "porting parts to XS" will still work
Daveman someone's setting you up the brownout? - rut roh
audreyt (at least in the forseeable future)
Alias_ right
Khisanth azuroth: turn down the volume!
Daveman heh
haha adhockracy? 08:26
Alias_ but porting parts to Haskell will be cleaner and less risky I'd imagine
and easier to learn :)
Daveman haskell++
azuroth it only seems to be going vertically though, which is why I find it strange
audreyt though I need to run now. talk to you in 24 hours when I'm finally Free (as in Freesbee)
Alias_ ok 08:27
audreyt ponders "Free as in Freesbee"
ayrnieu a frisbee is never free, but it flies.
dduncan hey, commits are actually happening with pugs again! 08:28
svnbot6 r8967 | Darren_Duncan++ | r2406@darren-duncans-power-mac-g4: darrenduncan | 2006-02-12 00:27:26 -0800
r8967 | Darren_Duncan++ | /ext/Rosetta : continued rewrite of Language.pod
dduncan not just mine, I mean 08:29
08:29 drbean joined 08:33 elmex joined
gaal audreyt: I sure will be :) 08:55
08:56 kanru joined
Daveman go to bed! 08:58
gaal audreyt: still there? 09:04
09:13 GeJ joined 09:29 azuroth left
audreyt gaal: yeah 09:34
09:51 elmex joined 10:14 drbean left 10:35 chris2 joined 10:51 larsen joined 10:57 iblechbot joined 11:57 bsb joined 12:15 iblechbot joined 12:35 usr-src joined 12:42 drbean joined
svnbot6 r8968 | bsb++ | Fix LICENSE location in doc, move comment into haddock and add the Parsec URL. 12:51
12:59 joepurl joined 13:03 stevan joined 13:10 rantanplan_ joined 13:29 ezraburgh joined 14:04 grayson joined 14:06 marmic joined 14:09 Odin-LAP joined 14:22 SamB joined 14:34 sri_ joined 14:35 sri_ joined 14:49 wilx joined 14:52 larsen joined 14:55 mncharity joined, mncharity is now known as putter
putter tries to find the p5 source repository - just need one file, t/op/re_tests 14:56
wolverian svn.perl.org/perl5/mirrors/perl/t/op/re_tests 14:58
15:00 ezraburgh joined
putter wolverian: :) thanks! 15:04
wolverian you're welcome :) 15:05
15:12 drbean left 15:13 DesreveR is now known as r0nny 15:20 grayson joined
svnbot6 r8969 | putter++ | misc/pX/Common/: Dropped off the pieces for the creation of a p5 regexp test suite. Volunteers? :) 15:28
putter tewk: sorry, I guess there wasn't a p5 Match class in the pugs tree. Now there is. ;) 15:32
svnbot6 r8970 | putter++ | Added misc/pX/Common/Match.pm: a simple Match class in p5.
15:37 pdcawley_ joined
putter ok, doing test suite... 15:56
svnbot6 r8971 | putter++ | Common/regexp_engine_demo.t created - re_test test suite now runs. 16:08
16:08 Supaplex joined
svnbot6 r8972 | putter++ | regexp test suite fiddling 16:11
putter ponders the burden imposed on ChangeLog'ers by this attempt at a more public, hopefully collaborative, coding style. 16:12
16:13 justatheory joined
putter Could tag the commit log entries with a prefix? Like [MINOR]? 16:13
gaal putter: if you're thinking of chloggers (thanks) the simple convention of starting chloggworthy commits with a "* " is helpful. 16:14
gaal isn't here though.
putter lol
is there an inverse convention (to tag _non_chloggworth commits)? 16:15
ah well, if the log get's flooded, folks will start using "* ". which will actually make chlogging easier. ;) 16:16
Anyway, the regexp current test status is 695/961 subtests failed, 27.68% okay. prove regexp_engine_demo.t. 16:18
There are various things in regexp_engine_demo.pl, tagged with XXX, which could be done in parallel with my fleshing things out a bit. 16:20
Hacking in perl5, not p6, so join the fun. ;) 16:21
svnbot6 r8973 | bsb++ | [MINOR] expand tabs to spaces in quickref/oo 16:30
r8974 | putter++ | [MINOR] Fixed regexp test suite. Implemented (?{...}) - no $/ or pos() inside yet, but local() vars should work correctly. 16:45
putter bsb: [MINOR] is just so visually *big*. :( 16:50
r8974 | zim++ | [MINOR] Gyred and gimbled.
r8974 | zim++ | xxx Gyred and gimbled.
r8974 | zim++ | x Gyred and gimbled.
bsb I thought so too
putter any ideas? 16:51
r8974 | zim++ | * Gyred and gimbled chkloggably. A baseline log message. 16:52
bsb leading - ~ # 16:53
?
put the whole thing in ()
putter r8974 | zim++ | # gyred and gimbled. 16:55
r8974 | zim++ | * gyred and gimbled.
r8974 | zim++ | ~ gyred and gimbled.
putter thinks # is the nicest one so far...
r8974 | zim++ | ? gyred and gimbled. 16:56
16:56 vel joined, s7n joined
Juerd putter: # isn't nice, because in code, it is often used 17:07
putter: # for multiline things
Which is, conceptually, a single comment, not two comments.
I personally like the [foo] flags best 17:08
[CT] - changelog this ;)
Or just CT
putter hi Juerd. hmm. 17:16
re [CT], as gaal mentioned, there's already a pretty widespread convention of "* ". we've just not been using it ;) so it's more a question of how to flag entire log messages as "i'm not '* ' because I really mean it, rather than being '* ' because that's just not something we do" 17:18
ie, some flag that tells the changelogger to skip on by. 17:19
I liked the resonance/entails of a single leading # vis "#" being a comment character. but it looks like that just bit us, so now I'm unsure :) 17:20
17:20 knewt joined
putter though maybe once it gets used once or twice the ambiguity will go away. 17:20
in a log message with somethings chlogable and some not, whatever the usual "* " convention could be used. maybe it's "* yes\n* yes\nbut not me". but I don't remember 17:22
I'm thinking of this more as a transitional device, until use of "* " becomes reliable. 17:23
s/reliable/existant?/ ;)
17:27 Amnesiac joined
putter gaal: you and audreyt seem to do a great deal of our chlogging - any preferences/thoughts? 17:28
putter realizes you arent here - no problem 17:29
17:30 kattana_ joined 17:48 Manaus joined
audreyt putter: I prefer the convention of omitting * on minor (non-chgloggable) commits 17:50
18:06 rantanplan_ joined 18:07 Manaus left
putter audreyt: great. thanks. :) 18:11
18:46 justatheory joined
wolverian pugscode.org is still broken for me 18:56
putter me too. no ping. My traceroute gets as far as 0.so-6-0-0.xr1.d12.xs4all.net. 18:59
19:03 elmex joined 19:11 ezraburgh joined 19:50 weinig joined
svnbot6 r8975 | putter++ | regexp engine progresses. 20:10
20:36 usr-src is now known as usr-src^ 20:38 usr-src^ is now known as usr-src 20:49 khisanth_ joined 20:50 khisanth_ is now known as Khisanth 20:52 avar joined 20:54 Southen_ joined 20:59 avar joined 21:09 GeJ_ joined 21:23 avar joined 21:24 hcarty joined 21:26 hcarty left 21:30 usr-src is now known as \usr\src 21:40 DesreveR joined 21:43 stevan_ joined 21:47 avar joined 21:52 \usr\src is now known as usr-bin 21:53 avarab joined 22:00 usr-bin is now known as usr-src 22:09 bsb joined 22:30 Limbic_Region joined 22:46 bsb left
ayrnieu ?nopaste 22:48
pasteling "ayrnieu" at 68.13.103.15 pasted "unexpected "w"; expecting ";", statements or "}"; not a class name or reserved word; at ./insult.p6 line 57, column 3" (70 lines, 3K) at sial.org/pbot/15846 22:51
ayrnieu (what is going on?)
Limbic_Region looks like a parse error 22:53
nope
you put it in a BEGIN block
but you didn't close the block?
ayrnieu no, I closed it.
Limbic_Region oh nevermind me - I see that the while loop is supposed to be inside too 22:54
ayrnieu I corrected the shift() calls, though, in the while, to apply directly to @k , and now the program runs as expected.
so... weird. 22:55
Limbic_Region yeah, I just found the same thing 22:57
so shift is spec'd to operate on $_ when no variable is given now? 22:58
ayrnieu that was just my mistake, from when I wanted to assign the <> list to @_
23:07 dduncan joined 23:10 drbean joined 23:39 xinming joined
xinming anyone here is able to open www.pugscode.org? 23:41
I tried just now, And doesn't work here. 23:42
23:46 j0sephi joined
ayrnieu the machine has a new IP, apparently, and audreyt hasn't been able to contact the hostname people to have it changed. 23:46
then again, I see audreyt saying (many hours ago) that it was fixed and should propagate within the hour. 23:47
it might be nice if someone could take the new IP address over to dyndns.org for a temporary solution. 23:48
wolverian does someone know what it is? 23:49
audreyt yes. 213.84.134.174
"dig www.pugscode.org" now returns the correct ip for me
registerfly just replied to my ticket 23:50
wolverian oh, it works here too, now
audreyt so I imagine they only really resolved this problem ~5min ago
someone please take down the /topic notice :)
wolverian 6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 23:51
avarab ;; SERVER: 192.168.1.1#53(192.168.1.1) 23:51
;)
wolverian heh, using the IP directly leads me to CPAN++ 23:53
Juerd audreyt: You could use feather for the dns if you want 23:54
audreyt: It has two IPs ;)