Upgrade to YAML::Syck 0.85 before smoking | pugscode.org | sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse (show (scanl (*) 1 [1..] !! 4))
Set by agentzh on 22 April 2007.
00:11 stef__ joined 00:28 coke joined
coke wonders if the range behavior in S03 is fer real. =-P 00:28
avar which? 00:29
coke that you can pull from either end, and the behavior depends on which end you pull form. 00:34
avar example? 00:35
00:37 stevan__ joined
coke ... the one in S03. =-) 00:44
perlcabal.org/syn/S03.html#Range_semantics :: $range = 1..^42.5; 00:45
lambdabot Title: S03
00:57 geoffb joined
TimToady if by "for real" you mean implemented in pugs, I don't think pugs even implements range objects yet. 01:03
coke I actually kind of meant, "is larry really that crazy." =-) 01:10
I'm trying to craft a PIR implementation of that right now.
I had started down the happy path of "ranges must be like iterators", but now I'm just kind of huddled in the corner crying. =-) 01:11
to clarify, it doesn't say this, but if you try to shift or pop a value after the range is exhausted, do you just get undef?
TimToady you get a Fail, which is a variety of undef that includes what went wrong. 01:12
an "unthrown exception"
coke Ok. Given the current state of perl6 on parrot, that's "Undef". =-) 01:13
Tene coke: "pull" doesn't appear in S03, as far as I can tell
coke ... ok.... (did I say pull somewhere?) Oh. right. "which end you pull from" == "do you shift or pop" 01:14
Tene Oh.
I really should have been able to figure that out. 01:15
coke I wasn't being particularly precise. 01:16
TimToady: what if you check "min" after you're exhausted... does that also just Fail?
01:28 laye joined 01:29 dolmans joined
laye msg nickserver info 01:31
TimToady coke: don't think so, I'd just expect it to return a min greater than its max, which if you turned it into a new range would just be a null range. 01:33
01:33 agentzh joined
TimToady oh, and I guess it's specced as Failure, not Fail. 01:33
TimToady .oO(just what we need, a computer that remembers all your failures... :/ ) 01:34
avar Upgrade to YAML::Syck 0.85 before smoking | pugscode.org | sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse (show (scanl (*) 1 [1..] !! 4)) | "Perl 6 Today" video from YAPC::Asia: xrl.us/vw3p 01:35
01:37 krishna joined
agentzh has restricted himself via ulimit on feather. 01:38
does anyone know how to restart svnbot? 01:39
01:43 kunwon1 joined 01:47 [particle] joined 01:54 TimToady joined
agentzh oh, i'm not a channel operator...can't invite svnbot6... 01:58
01:59 TimToady joined 02:00 bsb joined
agentzh & 02:02
02:02 agentzh left 02:04 TimToady joined 02:09 TimToady joined 02:18 mdiep joined
avar avar@Arsia:/var/src/pugs.svn$ ./pugs -CPIR -e 'say "ook"' 02:30
pugs: user error (VError (VStr "Compile error -- invalid Pugs.PIL1.PIL_Expr: Stmts (Syn \"=\" [Var $removed,Ann (Pos (MkPos \"<prelude-pir>\" 17 18 17 41)) (App (Var &substr) Nothing [Ann (Pos (MkPos \"<prelude-pir>\" 17 30 17 34)) (Var $str),Ann (Pos (MkPos \"<prelude-pir>\" 17 36 17 38)) (App (Var &prefix:-) Nothing [Val (VInt 1)]),Ann (Pos (MkPos \"<prelude-pir>\" 17 40 17 41)) (Val (VInt 1))])]) (Var $removed)") [(MkPos "-e" 1 1 1 1)])
02:32 stevan_ joined
coke ... damnit. I got distracted by talisker. no more range for me this evening. ^_^ 02:32
avar "Version: 6.2.13 (r16135)"
Tene talisker-- 02:34
02:38 krishna_ joined
coke ~~ # nite 02:38
02:39 bonesss joined 03:00 elmex_ joined 03:01 ariks joined 03:16 chr1s_ joined 03:35 bonesss joined 03:37 mako132_ joined 03:38 stevan__ joined 03:47 kunwon1 joined 04:00 amnesiac joined 04:10 Therac-25 joined
pasteling "bsb" at 203.214.67.82 pasted "make break" (5 lines, 257B) at sial.org/pbot/24544 04:23
04:59 buetow joined 05:17 devogon joined 05:19 Aankhen`` joined 05:30 rfordinal joined 05:42 rubyroshi joined 05:43 rubyroshi left 06:08 buetow joined 06:30 lisppaste3 joined 06:31 stevan_ joined 06:36 iblechbot joined 06:38 [particle] left 06:42 myavuzselim joined 06:43 myavuzselim is now known as nonick, nonick is now known as nonickname 06:44 nonickname is now known as ank 06:46 ank is now known as nickyok 06:48 nickyok_ joined 06:49 nickyok_ is now known as nickyok 07:30 BooK joined 07:32 jisom joined 07:40 [particle] joined 07:45 the_dormant joined 07:47 SubStack joined 08:03 larsen_ joined 08:07 drbean_ joined 08:34 coke_ joined
dduncan seen bsb 08:37
bsb dduncan: here
dduncan I don't think your s/::/-/ change did anything useful 08:38
lots of other module makefiles still have :: in their name ... do they give you any trouble?
afaik, the name in the makefile is normally the package name of the main module, not the distro file name
bsb no, although I haven't made clean to tell
I've not used Module::Install much myself, I was going from the cpan docs... 08:39
dduncan now, I don't think your change to LKT hurt anything, but I saw it as unnecessary, and your problem was probably something else
bsb search.cpan.org/~adamk/Module-Insta...l.pod#name 08:40
lambdabot Title: Module::Install - Standalone, extensible Perl module installer - search.cpan.org, tinyurl.com/yrd67m
dduncan I will not reverse it, however, given that some other ext/ use - too, though most that I sampled used ::
looking ...
bsb I'm not sure what other environment factors might be involved (make version, EMM, etc)... 08:41
dduncan more generally speaking, if there is an actual "best practices" declaration about whether - or :: is better for this, I will follow that ...
bsb I'll try another ext with name =~ /::/
dduncan generally speaking, I follow everything in PBP that I don't have an express reason to do otherwise
it didn't speak on this issue
bsb I just tried the same in Text-Glob and got the same error 08:44
Makefile:520: *** target pattern contains no `%'. Stop.
dduncan whereas, I get no such errors
but if I did, I'm sure the problem isn't related to what is in 'name' 08:45
I think the only purpose of 'name' is to help the CPAN indexer
not the build system
bsb I just did s/::/-/ in Text::Glob and the make error went... 08:46
dduncan afaik, using :: in name is the usual practice in CPAN distros, and so I did likewise 08:47
bsb DISTVNAME = Text::Glob-6.00 [..later..] tardist : $(DISTVNAME).tar$(SUFFIX)
It looks that way, and I've not had problems before so I don't know what would be casuing it 08:48
pmvers ExtUtils::MakeMaker
6.30_01
make -v
GNU Make 3.81
dduncan the :: have been in the makefiles for a long time, and so if problems only started appearing recently, then the problem is somewhere else ... unless :: are officially deprecated, and I'm fairly sure they're not 08:49
all I can suggest is that you try building from a clean repository ... maybe try building the Pugs-6.2.13 tarball as a test case 08:50
bsb if no one else has trouble then I'm happy for you to revert the change
dduncan my preference is for people to revert their own changes if they change their minds 08:51
reverting other people's changes can be bad form
and I'm currently ambivilent about it, so I won't do it without prompting
or rather I should say I have no preference 08:52
bsb I'll try a clean checkout first. If I can make ext it should be quick 08:54
dduncan bsb, do you use svk? 08:58
if so, clean checkouts are a quick affair ... if you use svn, that's a big server hit by contrast
well, I'm off, 2am and all ... 08:59
08:59 dduncan left 09:11 franck__ joined 09:16 diakopter left 09:20 drbean joined 09:27 ruoso joined 09:31 chris2 joined 09:35 bsb left 09:36 benny joined 09:57 demq joined 10:12 RHainsworth joined, RHainsworth left 11:17 polettix joined 11:44 mako132_ joined 11:55 fglock joined 12:02 Yaakov joined
Yaakov Hello, audreyt. 12:04
12:04 iblechbot joined, ElPenguin joined 12:10 ofer joined
Yaakov Does anyone know the best way to get GHC running under OS X? 12:16
kolibrie generally it is best to start with a binary build, then compile a new one if you need a more recent version 12:17
ElPenguin that's the only way to do it since ghc is written in haskell 12:18
beware it takes a lot of memory to compile, so don't mount it on a memory filesystem
unless you have 2gb
chris2 swappetyswap 12:19
Yaakov Well, in my foolhardy and ignorant fashion I have typed "sudo port install ghc" and it is doing *something*.
chris2 it worked for me 12:20
Yaakov Maybe it won't explode.
chris2 but it takes its time
kolibrie it's the kind of thing to let your computer do overnight 12:21
chris2 if you like to sleep for three days straight given an poor ibook :-) 12:22
12:22 HiTech69 joined
Yaakov Well, this one is a 1.25GHZ PowerBook. I think I will start it on the Dual 2GHz G5. It has 4GB of RAM. 12:22
chris2 yeah
use the g5 12:23
i did it with 1.25g ram
but 1.25ghz ibook g4
Yaakov I have 1GB.
But the same machine otherwise.
I'll just be patient. :) 12:24
chris2 :) 12:26
12:31 DarkWolf84 joined
Yaakov Heh. Perl 5.8 is a GHC dependency. 12:33
12:41 gnuvince joined
coke_ I thought *parrot* took a while to build. =-) 12:44
12:44 coke_ is now known as Coke
Yaakov gcc 4.0 is also a dependency... 12:44
allbery_b yep, the Evil Mangler is written in perl 13:01
DarkWolf84 Interesting topic 13:06
gnuvince For the redditors in here, you can vote up audreyt++'s Perl 6 Today talk video: programming.reddit.com/info/1lbbr/comments 13:08
lambdabot Title: Audrey Tang - Perl 6 Today (Google Video) (reddit.com)
gnuvince </shameless attempt at getting more karma>
13:09 jerrylee joined
avar the up/down rating links aren't regular links *annoyance* 13:12
ayrnieu avar - submit the URL (not the /comments one, but video.google.com/videoplay?docid=-3...&hl=en ); reddit will take it as an upvote. 13:13
lambdabot Title: Audrey Tang - Perl 6 Today - Google Video, tinyurl.com/2j79ep
avar eek, long url
13:14 foof joined 16:17 ilogger2 joined, buetow joined
Yaakov I guess I will run it overnight on the PowerBook. 16:19
16:20 ilogger2 joined 16:21 veritos joined
veritos morning 16:21
Yaakov afternoon 16:22
DarkWolf84 for me is evening 16:33
:)
masak "good undetermined time of day" doesn't quite have that special ring to it... 16:34
Yaakov Good $local_time_of_day!
veritos 'good ' . scalar localtime 16:36
Yaakov veritos: But that's not a fuzzy time. 16:37
[particle] good +-4hrs 16:38
TimToady *.tz.good
integral 'good ' . ((localtime)[2] > 12 ? 'afternoon' : 'morning')
Yaakov integral: Can you work Math::Fuzzy into that?
offby1 in #emacs they just say "yo" or "'sup" and be done with it. Those are universal. 16:39
TimToady when I say "sup" it does an svn update...
Yaakov Heh.
integral can't see that on search.cpan.org, is there search.cpan6.org yet?
[particle] considers rand()..rand() and wonders what min and max might be :)
TimToady hmm, I wonder if rand should be 0-ary 16:41
always meaning 1.0.rand 16:42
offby1 something about rand in perl5 irks me ... I can't remember what though
it caused me to write a note in my camel book!
TimToady 7.0.rand would be rand * 7
Yaakov integral: Hrm. It is a Cocoa library, it seems.
integral: You will have to use Mac::Glue.
TimToady and 7.rand would be (0..6).pick
[particle] and (1,2).rand ? 16:43
geoffb TimToady: that dwim makes it hard for $foo.rand to dwim correctly
TimToady yeah, should just mean rand * 7, and you write 7.rand.int for the other 16:44
geoffb having to deal YET AGAIN with XS code that tries to dwim IV v. NV, and trips over NV + NV = IV if the result is an exact integer in range
avar XS will eat your family! 16:45
TimToady still bugs me that ^7.pick doesn't work
avar speaking of which, what is planned for xs-ish stuff for p6?
TimToady 'cause it parses as ^(7.pick)
some variant of Native Call Interface
geoffb How should 0..^7.pick parse. Same way? 16:46
TimToady same problem
geoffb bah
TimToady 0..^(7.pick)
nothing is tighter than postfix dot
geoffb gotcha
16:47 avar joined
TimToady ?eval pick ^7 16:47
looks like it's still computing that 1..* from the last ?eval :( 16:48
geoffb I don't see evalbot in the channel user list, actually
veritos lol
TimToady or perhaps it has solved the halting problem.
geoffb never started after feather got hupped?
Yaakov My programs solve that problem with regularity. 16:49
DarkWolf84 where is evalbot btw 16:51
TimToady examples/network/evalbot
(just did the find myself...)
DarkWolf84 i know the code is there
but why it don't respond 16:52
TimToady it's in the nether world
DarkWolf84 :>
TimToady we need a medium to call it up
Yaakov It may be in an uninstantiated state.
rindolf Hi all.
Hi TimToady
Yaakov TimToady: Perhaps a large would be more effective.
TimToady rofl 16:53
DarkWolf84 evalbot don't have many sins (bugs)
:P
TimToady as far as I know, it has only one sin
pugs> say sin 1 16:54
0.8414709848078965
DarkWolf84 ahaha :>
LOL
demq doesnt sin have a cos?
TimToady "...but if anyone has kept the whole law but stumbles in one point, he is guilty of all..." 16:55
offby1 sin has a cost, yes
DarkWolf84 maybe it has a cos not cost :) 16:56
TimToady maybe it was a cosĪø
demq yeah its a cos, cos tan.
geoffb We've all been transported to #pun, apparently 16:57
demq 'pun my manners 16:58
TimToady actually, Īø was likely pronounced as an aspirated t originally
DarkWolf84 maybe the eavalbot is retired actualy
TimToady has it got tired more than once? 16:59
[particle] no, it's tires are worn.
demq it tried more than once
[particle] ?evil sin 1 17:00
TimToady tĶŖsk, tĶŖsk
demq . o O ( Why are they always picking on us lefties )
geoffb Because you're sinister? 17:01
TimToady a dyslexic is a Greek with a broken right hand
geoffb LOL
demq heh
timtoady is there anything left that i can do to make the p5 engine closer to the p6 semantics? 17:04
DarkWolf84 moose
TimToady implement the /p6 modifier?
:
:)
demq heh.
i thought avar was all over that? 17:05
TimToady basically /p6 would turn off all string interpolation
and rely on the re engine for variable processing
demq oh yes, then avar has been working on that. sortof
DarkWolf84 oh right
the regex interpolation 17:06
demq i think the plan is to pass in an AV of vars. long termish.
TimToady it's the Big Fat Design Bug in perl 5...
demq then let the regex engine do what it likes. is that not good enough?
TimToady why do you need an AV of vars? 17:07
demq er.
demq pleads the 5th, or is it the 4th.
TimToady just don't plead the 2nd... 17:08
demq i think its just cause it what already happens.
TimToady that's the Big Fat Design Bug!!!
demq except that current the vars are joined before regcomp gets called.
currently
TimToady the lexer should just keep it's cotton pickin' hands off the regex language
demq ok. 17:09
DarkWolf84 is waiting for cristmas
demq i can have a look. 17:10
anything else? i was more thinking along the lines of \v and \h and stuff. i mean are you ok with \R? 17:11
TimToady well, it's okay in p5. it won't get into p6, since it violates a fundamental regularity there. 17:12
well, not so fundamental, but a regularity nonetheless 17:13
but p5 already has things like \A that violate it
so what's one more...
demq ok. i can understand that.
TimToady and the p5 to p6 translator will just have to translate \R to \n 17:14
demq \R is actually asymetrical in behaviour.
TimToady as long as \n encompasses \R, it's probably still the right translation 17:15
demq in the sense that not \R is the same as \V
TimToady nor is \n
but p6 defines \n as logical newline on all the major platforms, basically.
demq so is there a \N? 17:16
TimToady sure
demq and is the same as \V?
TimToady no
demq shouldnt it be?
TimToady carriage return is arguably not vertical whitespace
but \n recognizes CRLF among other things 17:17
demq its in the \v spec for parrot tho?
cause if when negated its different from \V then IMO \j and \J make more sense (for p5 with a more p6 behaviour) 17:18
i couldnt find a rationale for \v and \h, so i just took the definition that particle provided. 17:19
should i change it to remove \r from \v?
TimToady I tend to think that \r is horizontal whitespace, albeit negative...
demq . O ( macintosh uses \r as \n doesnt it? ) 17:20
TimToady when I say \r I mean \x0d
demq what you say makes sense to me on one level.
yes i mean \x0d too. :-)
TimToady but I see the other side too
CR is rarely used except in conjunction with LF 17:21
allbery_b os9 and earlier used \x0D as newline, yeh
TimToady but there are uses for it
allbery_b osx uses \x0A, since it's more or less unix under the hood
demq im ok with either. id say that if \x0d isnt in \v then it should be in \R which should really be renamed to \j so it can be reversed to \J.
TimToady which is probably why Unicode ignored older macs with \R
avar TimToady: there's more than just getting the tokenizer to leave the regex alone and stopping interpolation, you still have to map grammars to p5 somehow
which I guess you could do with packages and telling a regex to call its methods when it needs a rule/token/regex specified in it 17:22
TimToady well, that's essentially how p6 does it, by unifying grammars and classes 17:23
demq btw unicode defines \0xd as a lineboundary.
TimToady I don't like this business of re-inventing grammars inside of regexland
avar I've been cleaning up some of the stuff I'll need to get p6-ish engines to work on p5, I'm doing what I need for :rw next for instance
TimToady well, that would be a good argument for keeping it in \v 17:24
avar TimToady: You can make an engine now that supports scalars, like if ($x =~ sub {}), that'll get you pretty far..
demq which leaves \R (p6 \n) assymetrical.
TimToady arguably it could be in both \v and \h
avar just by that you can have yer closures and everything without p5 mucking with it
demq: can you think of anything else?
demq adding it to \h is ok. i can do that easily. 17:25
avar if ("str" =~ [ [ qw(ignorecase continue 3rd) ] => \&matcher ]) {} 17:26
demq i was thinking that the whole \r \n thing is conceptually quite similar to unicode case folding.
TimToady note that :rw is considered optional for p6 if it causes too much pain to the implementors
avar it's trivial-ish to implement on p5, I implemented it already with some obscure failing tests
but basically you treat the string being matched against as a scalar and do what substr does 17:27
is <foobar> in p6 regex always a method call basically? Well, that or CODE that the regexp language executes itself.. 17:28
TimToady well, but some implementations of P6 may find it difficult to map one string into the middle of another.
avar as a simple example, how would I make a rule implemented as a function in p6 that does what token { a* } does? 17:29
TimToady yes, basically always a method, with an implicit invocant representing the current match context
avar you get some ref to the string, set .pos ?
it should be noted that I don't know p6:)
offby1 duly notes
TimToady the match context has to be established by the outermost invoked rule and propagated downward. 17:30
there's more to it than just the current position in the current string
avar yeah, you might want to set match vars and whatnot, call other rules.. 17:31
TimToady basically it represents the dynamic scope of the match
and it looks like "self" to the closures embedded in the regex 17:32
avar But I've found it pretty hard just from reading s05 to understand what I'll need to do to get p6 semantics working in a non-sucky way on p5. Maybe I should look at some of the engines people have been writing:)
ah
that or test cases, any reading suggestions?
TimToady fglock probably has a better notion of that 17:33
avar I should bug him:)
but in blead now you can construct an object of your choosing, match that against a custom engine and set $1, $& et al to be objects. not %+ and %- though currently, but working on it
demq that reminds me i wanted to make it possible to use nested numbering on the capture buffers. 17:34
avar sial.org/pbot/24554
lambdabot Title: Paste #24554 from Someone at 85.197.228.236
TimToady I consider %+ and %- to be a botched API 17:35
avar demq: stuff like like that looks easy-ish when you can use the p5 engine but with your own exec/comp funcitons
demq eek.
avar any reason you can't do it with the current regex opcode? 17:36
TimToady parallel arrays are usually a code smell
avar how about ->from and ->to
TimToady: ya
TimToady submatches should look like objects, yes, with such methods
avar something like $/ in p5 would be nice, you currently have to use ${^MATCH} for that
TimToady and I can never remember whether + comes before - or vice versa...
avar %+ is the first? named capture, values in %- are arrays of all captures with a specific name 17:37
TimToady well, if you're gonna get serious about it, the $/ stand-in had better be lexically scoped.
avar @{ $-{ook } }
lambdabot Maybe you meant: . v
demq lexically and not dynamically like $1? 17:38
avar TimToady: it's not, and it really can't be without some *major* changes
TimToady $1 is lexical in P6
avar demq: amiright?
17:38 jisom joined
avar the only solution I can think of is to bind alter a qr// object you're matching against 17:39
TimToady yeah, at some point you cut it off and say you can't get the rest of P6 without P6...
17:39 edenc joined
TimToady but we're talking about emulating semantics, and at least the match object should be lexical 17:39
avar my $re = qr/(<[a .. z]>)*/; if ("ookoekaeou" =~ $re) { $re->[0]->from }
TimToady even if $1 doesn't map to it and you have to write ${^MATCH}[0] or some such 17:40
demq hrm, making matches lexically scoped, if i understand what that means properly is a simplification, and not a complication. as far as i understand things.
avar the "match object" in p5 is just $& currently
17:40 VanilleBert joined 17:41 fglock joined
TimToady well, if I recall, p5 is most of the way to having $_ be lexical, so other magicals could also do that. 17:41
avar TimToady: In case you didn't know ${^MATCH} is just another name for $& that doesn't trigger sawampersand, there are aliases for $` and $' too
$_ is lexical
But to be honest I don't know how much work it is, all that code does PM_GETPM which operates on the dynamic scope currently, don't know how hard it would be to make it a lexical 17:42
TimToady $! is also lexical in P6
avar is anything not lexical?:) 17:43
demq i dont see why it would be hard.
TimToady um...
demq the tricky part in the current implementation is dealing with PL_curpm in the first place.
bypassing it seems to me to be quite simply. 17:44
avar yup
demq er, theoretically.
TimToady anything that's not lexical in P6 tends to be named $*PID and such
nearly all the punctuation vars are just gone
demq i guess when i say simple i mean from the pov of the engine, not the toker/lexer. i have no idea what would be involved there. i guess that could be hard. 17:45
avar Not to steamroll all over your fancy new language but why aren't $* and such just READONLY scalars in as scope that's considered to be the scope before your main scope?
Sort of like you'd to it in scheme iirc, everything is just a nested lexical let binding:) 17:46
but I haven't been involved in p6 design so I'm not familiar with the tradeoffs, so please excuse any dumb questions:)
demq: Yeah, it's simple for the engine of course, it doesn't have to care :) 17:47
17:48 VanilleBert left
avar s/main scope/top level scope/ 17:48
TimToady avar: well, that's more or less what they are, but not necessarily read only
you can modify %*ENV for instance 17:49
17:49 OwlEye joined
demq im worried about what you said about %+ and %-. 17:49
TimToady but we don't automatically import global vars into the file's lexical scope.
avar so perl -e 'say $*PID' would really mean -e 'my $*PID = CORE::SCARY::COMPILER::STUFF::ZOMG::getpid(); { say $*PID }'
TimToady well, it's just copying the botch from @+ and @-, so it's not your fault. :) 17:50
avar TimToady: ya, readonly is beside the point though:)
demq heh. thats true. :-)
17:50 Psyche^ joined
TimToady if I recall, it was an Ilyaism 17:50
demq its funny actually, @+ and @- maps directly to the old internal C representation. 17:51
avar how is magic like %*ENV done in p6? Just an object that knows to to getenv/setenv on fetch/assignment
demq but now its unified internally.
avar demq: yours maybe, but not mine for long!
that last one needed a "?" 17:52
TimToady yes, just an object that does the Hash role
fglock hi
demq yes ive been meaning to get up to speed on what youve been doing.
avar I've been screwing up your code
TimToady let's you and him fight. :) 17:53
offby1 Gentlemen, you can't fight here. This is the War Room.
avar offby1++
demq wonders what avar has been up to 17:54
offby1 avar: I have that quote bound to a "dynamic abbrev" in Emacs, so I can just type "wr" :-) 17:55
TimToady fglock: hi, avar was wondering earlier what additional improvements to p5 regexen would aid emulating p6 regexen
I figgered you'd have the worm's eye view of that problem space... 17:56
[particle] thinks porting PCR to blead would be instructive
avar [particle]: Do you want to help with that?:) 17:57
[particle] want? yes.
avar I have a re::engine::Plugin interface (latest not on cpan) that should be able to do it along with Parrot::Embed or whatever
[particle] PCR is Pugs::Compiler::Rule
no parrot needed 17:58
avar if you can show me how to use the PGE object from p5 space with that it should be eeeasy
[particle] it's written in p5
avar I read that as PGE
I already have a re::engine::PGE
[particle] hrmm
avar urls 17:59
[particle] i think that can be arranged
avar I still meant PGE, I know how to use PCR, almost:)
avar notices parrot/lib/Parrot/Test/PGE.pm 18:00
[particle] that'll give you access to the basics 18:01
avar [particle]: sial.org/pbot/24555
lambdabot Title: Paste #24555 from Someone at 85.197.228.236
fglock there is also a version of PCR in Perl6, under MiniPerl6; it compiles to plain perl5 18:02
18:03 Psyche^ is now known as Patterner
fglock re improvements, I had notes somewhere - looking 18:03
avar but I broke my ::Plugin with my recent blead patches. If anyone's interested in writing pure-perl5 engines for blead I can get it cpanned sooner than later..
colabti.de/irclogger/irclogger_log/...l=248#l378 18:04
lambdabot Title: #perl6 2007-04-27,Fri, tinyurl.com/29o6pa
avar fglock: that's for you
18:04 ruoso joined
TimToady fglock: how different is that PCR from the one used by pugs? 18:04
avar it uses fancy emitted code:)
fglock it translates regex->miniperl6; it would probably useful for implemening "native" regexes in pugs itself 18:06
pasteling "TimToady" at 71.139.1.42 pasted "what PCR currently says about cheated STD.pm" (571 lines, 48.5K) at sial.org/pbot/24556 18:08
fglock it looks like it needs a bugfix or two 18:09
TimToady not too worried about the "masks earlier" warnings...
it's the last "cannot parse" that puzzles me 18:10
but that's probably a result of one of the earlier messages 18:11
fglock I think PCR 'before' requires a whitespace after it 18:12
yes it does - svn.pugscode.org/pugs/perl5/Pugs-Co...r/Rule2.pm 18:13
lambdabot tinyurl.com/2fgmop
TimToady well, but then how do you pass the parameter as an ordinary parameter? :)
18:14 Yaakov joined
TimToady I suppose <?before <$stop>> should also work in this case, but I think that fails to parse also... 18:14
fglock in short: modify the grammar; recompile; patch; implement the runtime changes
it takes some work 18:15
demq avar your latest patch applies and compiles clean, im runing test now.
fglock $stop points to a rule, right?
TimToady I believe so 18:18
ingy hola 18:19
TimToady changing to <?before <$stop>> gets the same error
fglock looking...
TimToady ingy: how's the validity of the invalid? 18:20
ingy undervalued 18:21
ingy is high on life
ingy.net
lambdabot Title: Ingy 2.ƶ
ingy :) 18:22
TimToady: I'm not so much invalid as a bionic noob 18:23
TimToady lol
ingy bionics like Perl6 take a while to get used to 18:24
6 Million Dollar Perl
rindolf Hi ingy 18:25
ingy: how are you feeling now?
ingy rindolf: my bionic arm weighs too much 18:26
kinda hurts
just to carry
rindolf ingy: bionic arm?
ingy: you've lost your hand?
ingy no 18:27
just some wrist bone
gugod.org/blog/2007/04/ingys-staus.html
lambdabot Title: gugod: Ingy's status
ingy there's a pic 18:28
more action pics comin soon
fglock hmm - <before <$stop>> works, <?before <$stop>> doesn't 18:29
TimToady I could get rid of the ?, but I also use <!before...>
[particle] ingy: air travel should be more fun now 18:31
TimToady still doesn't like it without the ? 18:32
now that I have bionic eyes, can we get stereoscopic pix? 18:34
a hologram would do in a pinch 18:35
pasteling "fglock" at 201.54.129.80 pasted "before-scalar test" (15 lines, 337B) at sial.org/pbot/24557
fglock hmm - maybe pugs/perl5 are not seeing each other variables 18:36
18:37 edenc joined 18:38 franck__ joined 18:47 justatheory joined
fglock TimToady: fixing, but I need some coffee first 18:47
TimToady first things first. :) 18:49
jisom anyone here know how to get an insane amount of debugging output with gdb to help track down a bug that occurs sporadically with parrot? 18:52
or any help with gdb other than a backtrace 18:53
19:01 vel joined
fglock dunno - my test works in perl5, but it doesn't work in pugs 19:06
19:11 justatheory joined
fglock I've been thinking about parsing STD with v6.pm, and then emitting 'pugs' code (PCR works better under v6.pm) 19:12
TimToady that'd be cool 19:13
fglock otoh, pcr could be used to generate pugs code, that could be eval'ed by pugs
TimToady we can always do more cheats to make it easier
hmm, might get you continuations for free 19:14
fglock TimToady: I'll take a look; it will need some runtime libs too
but those can be written in p6 :) 19:15
TimToady I think a top-down bootstrap might motivate people more, when they can actually see their P6 code parsed by P6 19:16
kp6 was already headed in that direction, seems like
fglock mp6 can already compile a grammar into plain p6-pugs, it can be used to build a pcr-on-pugs 19:17
TimToady that might integrate better too 19:18
not having to fight passing vars back and forth between p5 and p6, for instance
fglock TimToady: kp6 has a problem, the plan should be better documented for people to be able to help 19:19
yes
so do you think pcr-on-pugs would help? 19:20
TimToady I believe it would
how much work would it be? 19:21
fglock I've got a 4-day holiday ahead :)
TimToady are there any semantics missing from pugs that PCR would want to rely on?
fglock TimToady: it's almost straightforward, if you reuse the mp6 version
the backtracking engine need to be implemented 19:22
mp6 is ratchet only
TimToady not sure how close pugs continuations are to working... 19:23
19:23 mauke joined
TimToady looks like t/unspecced/cont.t passes all its tests 19:25
so I guess you could rely on continuations 19:26
of course, might not be the most efficient way to implement a backtrack...
19:26 dduncan joined
fglock is there something in pugs/ext/ that could be used? 19:26
TimToady used for what? 19:27
fglock for the regex engine
TimToady dunno
could probably rely on pcre for bits of it
or could rely on bits of p5-pcr for well understood matches 19:28
pcre might do the DFAish bits for us 19:29
but that linkage is probably not via ext/
fglock pure pugs would be easier to mix with p6 closures 19:30
TimToady seems like a reasonable first approx anyway
and as pugs speeds up will automatically speed up as well 19:31
19:31 polettix joined
TimToady and repeated bits can be factored out into Haskelland by lambdacamelids 19:32
fglock otoh, can STD be parsed with tokens only? then you don't need to start with a backtracking engine
TimToady good question 19:33
STD itself only uses backtracking in a couple of spots
to interpolate $foo.bar.baz()
and to recognize certain hyperoperators
we can certainly avoid those in the short term
19:34 edenc joined
[particle] maybe do a Perl-6.0.0-MIN first 19:34
TimToady well, and the cheated version assumes that a failed longer-token rule progresses to looking for a shorter token
cheat STD.pm > MIN.pm 19:35
fglock ... > plain-pugs.pm 19:37
TimToady well, it's just >foo when I do it. :)
fglock I guess a beefed-up mp6 could do that 19:38
19:38 the_dormant joined
fglock with some help (parentheses, etc) 19:38
TimToady STD does heavily rely on the grammar/class unification though
since <EXPR> is just written as a method, for instance 19:39
fglock no problem I think - mp6 compiles regex to methods
TimToady also relies a lot on the <foo($bar,$baz)> form
k 19:40
<EXPR(%assignment)> calls bottom up but stops if looser than assignment, for instance
and that's something that doesn't translate to <EXPR regex> form 19:41
you don't have to worry about multi-rules, since cheat turns those into sequenced rules for you.
(assuming they're ordered reasonably) 19:42
19:42 justatheory joined
fglock the plan is to expand rules and tokens into plain-perl6, and don't touch the existing perl6 code 19:46
just like mp6-regex does
TimToady basically, a better cheater. :) 19:47
fglock does EXPR assumes $_ := string-being-parsed ? 19:48
TimToady yes, currently 19:49
fglock and current position is $_.pos 19:50
MiniPerl6::Grammar takes almost 20s to load in pugs; I'll try precompiling to yaml 19:54
TimToady which is currently not implemented, I think
19:56 ashleyb joined
fglock MiniPerl6 will need to declare it's own $/, because pugs $/ is read-only 19:56
TimToady: is this the correct way to create a P6opaque? P6opaque.new( ... ) 19:59
TimToady P6opaque is not a type really. it's a layout 20:00
but that's probably okay for now
fglock I'm trying to create objects from scratch, for 6-in-6 20:01
TimToady maybe it's just a function
fglock P6opaque.new( ... , class => ^Int, dispatcher => $default_dispatcher )
macro? 20:02
TimToady could well be
fglock ok 20:03
TimToady it's just a "don't look behind this curtain" abstraction
so a macro would certainly do for now
long term this will have to be negotiated with the MOifiers 20:04
who are in charge of the Modus Operandi
20:04 benny joined
TimToady btw, $/ looks writable in my pugs 20:06
biab & 20:07
fglock I can't find out how to set a named capture 20:08
I didn't understand what <sym> does in STD 20:11
TimToady basically, sets up a $+sym context var
two uses: 20:12
20:12 veritos joined
TimToady can match against <sym> without repeating 20:12
and when the eventual P6 routine is written, can be used for the name of the operator
so prefix:sym<+> ends up producing prefix:<+>
but the rule has a different name so we don't confuse them 20:13
otherwise we wouldn't know whether prefix:<+> meant the current + operator or the rule to parse it
fglock ok 20:14
TimToady and within the grammar it would be ambiguous, even if the user doesn't see the ambiguity
I suppose Match objects are immutable
we need a mutable CurrentMatchState that ends up snapshotted into an immutable Match result somehow, I guess 20:15
fglock yes; $/ itself is mutable
btw, I need help with feather svk 20:17
TimToady someone will have to help with that, I'm svk-ignorant. 20:18
biab, really &
fglock thanks! have a nice weekend
veritos fglock: try 'svk help intro' 20:25
you can also (iirc) use it exactly like svn
[particle] there's also #svk
fglock yep - I'm loggin in there 20:26
the problem is: "(in cleanup) Svndiff data ends unexpectedly: Unexpected end of svndiff input" 20:27
kolibrie my feather svk is stuck at r15257 with the same error 20:31
(has been for months)
[particle] aha, maybe that's why evalbot is gone, too
kolibrie but it would be nice to get it working again
[particle] can you just update to head, without getting all the past revisions? 20:32
kolibrie I have no idea (and isn't that a bad idea?) 20:33
fglock [particle]: do you know how to do that? I can try
[particle] i don't know svk
try svk help pull
veritos [particle]: most commands are svn-compatible 20:34
[particle] yes, but this one isn't
it seems svk is trying to sync with svn
by updating each revision in order
but there's a busted revision in svn mucking up the sync 20:35
veritos oh, i see.
[particle] at least, that's what it seems like to me.
maybe it's svk sync -s WORKINGREV 20:37
veritos why's feather being so slow now anyway? 20:38
[particle] maybe somebody's not nice
fglock "svk up -r 16140" works 20:42
[particle] ah, yay
funny, that one *is* svn-compatible :) 20:43
veritos it takes me like 30s to start a new screen, and one of my consoles is frozen
kolibrie fglock: does it get all the revisions in between, or just skips to that revision? 20:44
fglock it seems to be skipping
veritos if you're on feather, isn't offline work kind of pointless? if your connection's down you won't be logging on anyway. 20:46
TimToady looks like the load average on feather is about 10
several trac.cgi processes running in parallel 20:47
fglock veritos: I work offline, then I need to upload to feather in order to commit 20:49
TimToady maybe some bot is tickling trac.cgi?
veritos fglock: you have an excuse.
fglock: can you not commit from your home pc?
fglock veritos: macbook -> computer-with-a-modem -> feather -> svn :P
veritos ah. 20:50
textmate?
fglock the macbook doesn't have a modem, and my neighbours use wep :)
for editing? I'm finally getting used to vim 20:51
TimToady heh, looks like both googlebot and msnbot are grilling feather 20:59
looks like googlebot is downloading changesets from trac... 21:01
so is msnbot, looks like 21:04
21:04 larsen_ joined
TimToady commuting & 21:04
cj commuting-- 21:06
kolibrie short commutes aren't too bad 21:10
kolibrie does his on a recumbent bicycle and finds them quite enjoyable
fglock kolibrie: nice - I used to commute by bicycle year ago; now it's 30min by car 21:13
years
kolibrie I did the car thing, but didn't find it to my liking 21:14
cj kolibrie: maps.google.com/maps?f=d&hl=en&...0&om=1
lambdabot Title: Google Maps, tinyurl.com/27ytod
kolibrie cj: that does not look like a nice commute 21:15
cj kolibrie: there's a train that travels along the water. It's better than the drive, but still sucks up the day 21:16
21:18 randomity joined
fglock & 21:28
21:32 SubStack joined, devogon joined 21:34 Aankhen`` joined, aggregat4 joined 21:46 gnuvince_ joined 22:02 rashakil joined
TimToady well, as it happens, I walk to work when I commute... 22:05
22:11 thorat joined 22:21 thorat left, thorat joined
Eidolos walking to work is great. used to live across the street from my current place of employment 23:33
23:40 davem joined
avar biking++ 23:58