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 |