6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 Set by wolverian on 12 February 2006. |
|||
00:01
PaulWay[w] joined
|
|||
xinming | hmm, May I know what's wrong with the progress of perl 6 self-hosting please? Now, We have a half-working perl 6(pugs), Why can't we use pugs the write a parser which will compile perl 6? :-/ | 00:10 | |
Sorry, I still don't understand... :-/ | 00:11 | ||
00:18
khisanth_ joined
|
|||
putter | hi xinming, | 00:30 | |
xinming | putter: hi :-) | 00:32 | |
putter | re your question, basically because of the "half-working" part. it's not quite the right "half". ;) | ||
xinming | putter: do you mean the rule engine? | 00:33 | |
putter: IMHO, It's possible to write the perl 6 itself right now. :-P, though, It's a bit like a more advanced C language. :-/ | 00:34 | ||
Juerd | putter: What relevant functionality does Perl 5 have that Perl 6 does not yet? | 00:38 | |
Perl 6 as implemented by Pugs today, that is. | |||
putter | hmm, let me try to be precise. if you do something big in current-pugs-p6, like a parser or compiler, you will hit pugsbugs. each one can either be avoided, fixed, or it stops the show. fixing is somewhat feasible by oneself, much more feasible with audreyt's help. pugs at the moment has accumulated | 00:39 | |
Juerd | accumulated$ | 00:40 | |
Isn't hitting pugsbugs valuable by itself? | |||
And consider that you'll also find design bugs in Perl 6, making your own work easier, because then they can be solved before you fully supported them... | 00:41 | ||
putter | a largish set of things that cannot be easily fixed even by audreyt. this is normal aspect of exploratory development. you build something, evolve it, it gets crufty, and you eventually replace it. some of pugs is on the "need replacing when we have the tuits" list. bottom line, | ||
fixing isn't too dependable a strategy at the moment. so the question is, what are the odds you will be able to avoid (workaround) pugsbugs you encounter. modulo perhaps getting audreyt to fix some. now, experience with large p6 projects is limited. but my own experience/impression at least, is that | 00:45 | ||
avoidance isn't a viable large scale strategy. one ends up wandering a constraint maze of different workarounds tickling different pugsbugs. | 00:47 | ||
so the idea behind "build something on another platform for now", is that while p5 sucks compared to p6, we can anticipate (almost;) exactly what works and doesnt in p5, permitting better large scale planning. | 00:48 | ||
I think that's the argument. | |||
Juerd: so re "What relevant functionality does Perl 5 have that Perl 6 does not yet?", perhaps "predictability". | 00:49 | ||
Juerd | I see. | 00:51 | |
putter | Juerd: re "Isn't hitting pugsbugs valuable by itself?", yes, though less so than it has been at times in the past. some of them will now be "yes, known to be broken, rewrite coming soon for some value of soon". so the question is, is the value of the pugsbugs you turn up comparable to the development cost you pay encountering them. | 00:53 | |
p5 has the nice property that if the code doesn't do what you intended, it's clearly your fault. ;) | 00:54 | ||
00:55
Limbic_Region joined
|
|||
avarab | putter: not always | 00:55 | |
putter | :) | 00:56 | |
Besides, CPAN has needed a _backtracking_ recursive descent parser for *years*. :) | 00:57 | ||
Also note that a big hunk of the work creating a p5 impl of p6, is the Prelude, written in p6. Which pugs needs anyway. The only question is will the p5 stuff, or PIL^N, be ready to run it first. :) | 01:01 | ||
xinming | hmm, by the way, for perl 6, Array and Scalar are in different namespace. So, `class A { has $.a; has @.a };' what will ` A.new.a' return? :-) | 01:06 | |
an array or a scalar? | |||
putter | hmm... good question. I don't know. | 01:07 | |
xinming | I'll ask on p6l | 01:08 | |
putter | my guess is it creates a rule'ish conflict, generating a warning and no accessors. but... what if one is declared write only, the the other is the default read only. no conflict! but do you really want read and write applying to different variables? maybe that's just a warning? | 01:13 | |
xinming | My guess is @larry will tell us, if It is list context, It will return the @, if It is scalar context. then, become $. If only there is only @, then, and the context is $, It will then trun the list into scalar. | 01:18 | |
hmm, I am not sure either. :-) | 01:19 | ||
oops.. even myself can't read what I typed just now. :-P | 01:20 | ||
putter | :) | ||
01:22
grayson joined
01:23
Shachaf joined
01:34
justatheory joined
|
|||
xinming | why my post to perl 6 language will become 'YTsgaGFzIEAuYSB9OwoKd2hhdCB3aWxsIE' things? | 01:41 | |
:-/ | |||
hm, I think I know, utf-8 encoding. :-/ | |||
Juerd | putter: There is no good use for a write only accessor. | 01:42 | |
02:30 < xinming> My guess is @larry will tell us, if It is list context, It will return the @, if It is scalar context. then, become $. | 01:43 | ||
If only there is only @, then, and the context is $, It will then trun the list into scalar. | |||
That would be very bad. | |||
My guess is that the second declaration overwrites the accessor and emits a warning. | |||
While retaining both $.a and @.a as individual instance-private variables. | 01:44 | ||
svnbot6 | r8976 | putter++ | regexp_engine_demo.pl update - it's been a few hours since the last check in. things are actually starting to work. speed and space look good so far. | 01:45 | |
xinming | Juerd: hmm, How about the accessor? | 01:46 | |
Juerd | xinming: As said: overwritten. | 01:47 | |
xinming | Juerd: hmm, yes, your proposal is much better than mine. :-) | ||
Juerd | xinming: Also more consistent with the definition of the has operator. | 01:48 | |
putter | Juerd: re write-only accessor, why not? clients can set it, and the class can read it internally. no? | 01:50 | |
Juerd | putter: Which would mean you'd need a method to be fired to do anything with the variable, in which case it's very highly more likely that the value should have been passed as an argument. | 01:51 | |
Write only only ever makes sense for security of sensitive data, for example when creating a data backup automatically: you don't want someone compromising that script's identity to be able to read the backups, in some cases. | 01:53 | ||
Within a programming language I cannot think of any reason to have this, especially if you have direct memory access as an option to evade it. | |||
It would only create a great false sense of security. | |||
This is why I do propose <-> in addition to ->, and not <-. | 01:54 | ||
(Though <- is also made unattractive by clashing with <>) | |||
(Something <= already does, mind you.) | |||
putter | re "very highly more likely that the value should have been passed as an argument", oo, what a pythonic argument. timtowtdi, or something vaguely like that. ;) | 01:56 | |
Juerd | I request you to take that back | ||
putter | *lol* :) | ||
taken back | |||
Juerd | Thanks :) | ||
putter | :) | 01:57 | |
Juerd | And good night :) | ||
(3am) | |||
putter | eeep. good night & | ||
putter wonders if it's a good thing, or a bad thing, that you can leave all sorts of printf-style debugging code turned on, and prove still works flawlessly. nice for development, not so nice when you download a cpan module which debugs at you. mabye prove has an option to toggle tolerance.. | 02:00 | ||
bah. >5 failing tests because (a|b)* is capturing the first match, rather than the last. mumph. | 02:03 | ||
02:07
vel joined
02:09
kanru joined
|
|||
putter | ah. fixed | 02:19 | |
02:31
xinming joined
02:37
drbean joined
02:40
hcarty joined,
hcarty left
|
|||
svnbot6 | r8977 | putter++ | regexp_engine_demo.pl added \1 backrefs and non-greedy quant. half of re_tests now passes. | 02:43 | |
putter | ah well. so much for doing it one calendar day. ;) | 02:44 | |
02:48
vel joined
|
|||
Alias_ | purl, seen audreyt? | 02:48 | |
seen audreyt | 02:49 | ||
(damned muscle memory) | |||
putter | ;) | ||
hmm. the engine looks like it's running re_tests in 6x the time it takes p5. failing half the tests though, which no doubt saves time. ;) | 02:52 | ||
well, woot diddley doot. half was failing because things went book half way through. now at 82% pass. :) | 03:07 | ||
and 8x runtime. :) | 03:08 | ||
putter wonders if it would be mission creep to knock that up to 90+%, now that the purpose of the exercise, to see if such a thing was feasible, has been completed. | 03:10 | ||
03:23
scook0 joined
03:42
MrFarts joined
|
|||
MrFarts | hey, is there anything i can do about cpan freezing ? | 03:42 | |
for some reason it's taking forever to read an index from a mirror | |||
when i do it manually, everything is ok ... | |||
anyone ? :( | 03:48 | ||
putter | perhaps as in #perl ? | 03:50 | |
s/as/ask/ | |||
MrFarts | #perl is evil | 03:51 | |
this channel has been much more helpful | |||
kattana_ | perhaps because there is no perl6 people have more time to help here. | ||
MrFarts | :) | 03:52 | |
cpan is throwing a fit .. | |||
Alias_ | which #perl? :) | 03:53 | |
MrFarts | the one here | 03:54 | |
i don't go in there after i got banned for saying that 'sleep' is not my idea of a proper timer | |||
Alias_ | heh | ||
I'm sure it wasn't that simple, but still, heh | |||
MrFarts | well i offended some "guru" i guess | 03:55 | |
Alias_ | You know about Time::HiRes of course? | ||
:) | |||
MrFarts | i was asking about some pointers on setting up timers in perl | ||
yeah i know about it now | |||
the guy said "use sleep" | |||
i said "sleep isn't what i'm looking for" | |||
he said "yes it is" | 03:56 | ||
i said "no it's not" | |||
he did +kb | |||
:) | |||
lovely guy :) | |||
Alias_ | The trouble with asking for help in technical channels, is that there's a lot of anal retentives, and you never get as much information across as you think, because of missing subtext | ||
So you have to ask very very specific questions | |||
MrFarts | Alias_, any idea why cpan is throwing a fit ? | 03:57 | |
Alias_ | no, sorry | ||
Except to comment "you are using the latest version, right?" | |||
MrFarts | as far as i know | ||
Alias_ | x.83 | ||
MrFarts | it can't download anything though | ||
how can i check the vresion ? | |||
Alias_ | perl -MCPAN -e 'print $CPAN::VERSION . "n"' | 03:58 | |
MrFarts | 1.7601 | ||
Alias_ | default version | ||
try installing Bundle::CPAN | |||
MrFarts | i don | ||
Alias_ | (which will upgrade you to current) | ||
MrFarts | t think it'll do anything | 03:59 | |
but let me try | |||
Alias_ | neither do I, but it's general medicine :) | ||
MrFarts | Fetching with LWP: | ||
ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz | |||
LWP failed with code[404] message[File '01mailrc.txt.gz' not found] | |||
wtf | |||
the file is there | |||
Alias_ | oh right :) | ||
That looks familiar | |||
Are you on Windows perchance? | |||
MrFarts | nope | ||
Alias_ | I've seen that error emit due to FTP problems | 04:00 | |
When an attempt at using active FTP fails | |||
MrFarts | right now one of the ftp.perl.org servers is down | ||
Alias_ | As a guess, try setting export FTP_PASSIVE=1 | ||
ah | |||
You might also have hit a bad server in the rotation | |||
MrFarts | yeah, i did ... | ||
it's doing something after the server timed out .. | 04:01 | ||
Alias_ | ignore 404, it's a catchall error | ||
MrFarts | pretty lame : | ||
:) | |||
Alias_ | It's been thrown incorrectly before | ||
MrFarts | it shouldn't tell me 404 if it's not really a 404 | ||
Alias_ | it's a bug | ||
MrFarts | it's a transport error in reality | ||
Alias_ | Somewhere in LWP or Net::FTP | ||
MrFarts | nice :) | ||
Alias_ | yeah | ||
MrFarts | cpan has a lot of dependencies apparently ... | 04:02 | |
doesn't sound like the 404 should be a hard one to track down .. | 04:03 | ||
Alias_, it's working now | 04:05 | ||
thanks a lot | |||
Alias_ | (phone) | 04:06 | |
MrFarts: That particular 404 is trickier than you might think. I've managed to to debug my way down to it _once_, but I've never been able to accurately replicate the situation in a standalone test case | 04:18 | ||
Add to that you have three different authors for Net::FTP, LWP and CPAN | |||
sort of | |||
:) | |||
MrFarts | Alias_, it seems to happen as a result of a dead host | 04:19 | |
Alias_ | or failed active FTP | ||
or a few other reasons | |||
MrFarts | one of the perl.cpan.org machines goes down and if it hits that machine the 404 occurs | ||
Alias_ | It's not quite that simple :) | ||
MrFarts | i guess not | ||
but thanks anyway | |||
cpan is working well enough for me to do what i wanted | 04:20 | ||
Alias_ | It's being used as a default error in some specific context, and fixing it means understanding every OTHER way you'd need to error :) | ||
MrFarts | yeah, but that's not too hard | ||
it's just a pain :) | |||
Alias_ | right | ||
especially when you aren't the author :) | |||
MrFarts | find the author and tell him to stop being so sloppy | 04:21 | |
:) | |||
Alias_ | we call that rt.cpan.org | ||
MrFarts | rt ? | ||
Alias_ | Feel free to file a bug for your specific case | ||
The CPAN bug tracker | |||
A seperate bug queue for all 9000 dists in CPAN | |||
MrFarts | if it happens again with new cpan i'll put in a bug report | 04:22 | |
Alias_ | ok | ||
04:27
stevan joined
|
|||
putter | hey stevan | 04:30 | |
pasteling | "DigiLife" at 80.190.252.124 pasted "xchat perl script to notify on dialog" (24 lines, 495B) at sial.org/pbot/15848 | 04:44 | |
DigiLife | sorry :/ | 04:45 | |
Alias_ ponders the idea of hooking up summonning to SMS | |||
04:47
Khisanth joined
|
|||
Daveman | :o | 04:50 | |
putter is looking for a heavily backtracking, large target string, regexp. any thoughts? | 04:51 | ||
say order 1000 terms and a target of order 10k or 100k bytes. | 04:52 | ||
obra | a grammar for C? | 04:53 | |
putter | yeah, I was trying to find one of those I did years ago, but, well, sigh. anything on cpan? i search briefly, but only found little "parse the declaration" things. | 04:54 | |
svnbot6 | r8978 | Darren_Duncan++ | r2400@darren-duncans-power-mac-g4: darrenduncan | 2006-02-11 20:36:53 -0800 | 04:58 | |
r8978 | Darren_Duncan++ | /ext/Rosetta : continued rewrite of Language.pod | |||
r8979 | Darren_Duncan++ | r2406@darren-duncans-power-mac-g4: darrenduncan | 2006-02-12 00:27:26 -0800 | |||
r8979 | Darren_Duncan++ | /ext/Rosetta : continued rewrite of Language.pod | |||
r8980 | Darren_Duncan++ | r2424@darren-duncans-power-mac-g4: darrenduncan | 2006-02-12 20:52:05 -0800 | |||
r8980 | Darren_Duncan++ | /ext/Rosetta : chopped half of Overview.pod, some Language.pod updates, minor TODO.pod updates | |||
dduncan | those first 2 are actually duplicate pushes | 05:01 | |
05:10
Alias_ left
|
|||
spinclad | putter: something genesearchy, maybe? sorry, no specific suggestions... | 05:45 | |
05:47
Cryptic_K joined
|
|||
putter | spinclad: ah, well. thanks for the idea. :) | 05:50 | |
matching this ((a)*)*x against a long string of aaaaaab, | 05:51 | ||
a 500 "a" string is taking 12sec and 200mb, 3sec if one uses non-capturing parens. | 05:52 | ||
I *think* that's good, yes? | |||
kattana_ | compare it to pcre and see. | 05:53 | |
putter | the problem is this is a standard special case to... well, special case. ;) | ||
but, yes, that's a definitely good diea | 05:54 | ||
idea even | |||
06:12
usr-src joined,
penk joined
06:13
penk joined
|
|||
putter | kattana_: thanks! pcre has an interactive ./pcretest, and... | 06:13 | |
well, I'm not sure I completely understand what's going on, which is always the kiss of death when profiling. but... | |||
with (?:(?:a)*)*x , pcre gives up (PCRE_ERROR_MATCHLIMIT) on measely little 30 "a" strings. once you mess with the end a bit (add a "aaax") to defeat "oh, that just can't match" optimization. and even with capturing groups, the new engine is doing 500. and I'm positive it's not optimizing ;) | 06:18 | ||
so... maybe not entirely unusable. perhaps. | |||
06:24
Cryptic_K joined
06:29
Cryptic_K joined
|
|||
putter | p5 tailcalls ++ # aka, goto &$sub | 06:40 | |
svnbot6 | r8981 | putter++ | regexp_engine_demo.pl update. Now 90+% of re_tests passes, with for me a 3sec run. Limited time and space performance tests are good enough to suggest continuing down this development path. So the next steps are to make sure the last few percent aren't hiding gotchas, and then do a major cleanup for maintainability. And then on to p6 syntax, using Regexp::Parser's Perl6::Rule::Parser. japhy++ | ||
putter | 06:41 | ||
MrFarts | man, this is pissing me off | 06:43 | |
putter | If someone was looking for a little CPAN module to write, using Regexp::Parser one can easily write a p5 to p6 regexp converter. just decorate the Objects.pm nodes with a conversion method. where conversion method is, well, quite trivial. the hardest things to do are figuring out RP, and wrapping it for cpan. ;) | 06:44 | |
MrFarts | i put in a localtime line and part of th eprogram no lionger works | ||
it's not related to that line | |||
no variables are being affected by that line | |||
f*cking voodoo | |||
what in the world could calling "localtime" possibly do ? | |||
ayrnieu | MrFarts - paste? | 06:45 | |
putter | It looks like I'll need something like it tomorrow or so... | ||
MrFarts | ayrnieu, pastebin ? | ||
ayrnieu | MrFarts - topic? | ||
06:46
r0nny joined
|
|||
pasteling | Someone at 71.198.129.75 pasted "my ($sec,$min,$hour,$mday,$mon" (18 lines, 819B) at sial.org/pbot/15853 | 06:48 | |
MrFarts | if i take out the localtime line it works as supposed to | ||
friggin' bizarre | |||
ayrnieu | oh, this is perl5? | 06:49 | |
MrFarts | yes | ||
ayrnieu | You don't have to bind the entire return: perl -le 'print 1900+(localtime(time))[5]' | 06:50 | |
also, you might ask over in #perl , where they assume perl5 :-) | 06:51 | ||
MrFarts | pardon ? | ||
#perl is evil | |||
integral | but they know perl5 backwards :) | 06:52 | |
MrFarts | actually my experience is that this channel is much more knowledgable | ||
what could possibly cause this problem | 06:53 | ||
i'm almost inclined to blame the perl compiler | |||
it's just screwy | |||
putter | audreyt: liked your ltu post. though "hermeneutics"... there is a word from cultural anthropology which means exactly what you said... and I have no idea what it is at the moment. :/ | 06:54 | |
way past end of day for me. good night folks & | 06:55 | ||
integral | my question is: "what does 'doesn't work' mean this week?" | ||
MrFarts: I bet it's failing when $mon, $mday or $year is a single-digit | |||
try using POSIX::strftime to format your dates. | 06:56 | ||
MrFarts | integral, nothing is visibly failing | ||
the program finishes executing | |||
but that mail block never happens | |||
integral | right, so how do you know something is wrong. | ||
MrFarts | because no message is delivered | ||
the only thing i can imagine is there is something weird going on with scoping | |||
integral | no, you just know that no message is delivered. Have you checked your smtp server logs to see if a message is _received_? | ||
MrFarts | integral,yes | 06:57 | |
integral, there is no message going out | |||
the smtp server and netstat both confirm this | |||
integral | okay, now that's useful to know. | ||
So how about my point about $mon or $mday being a single digit? | |||
MrFarts | integral, they *are* a single digit | 06:58 | |
integral, but what does that have to do with the mail block ? | |||
integral | okay, so the file is called "$MESSAGEDIR/csv/$puid.2132006.csv? | ||
rather than .02132006.csv | |||
07:00
blm joined
|
|||
integral | umm? | 07:03 | |
07:04
blm joined
|
|||
MrFarts | integral, no | 07:04 | |
integral, that is set elsewhere | 07:05 | ||
integral | "no"? so that means it is called .2132006. hmm. much weirder problem then | ||
MrFarts | no it's called .0213206 | ||
integral | well that's not the filename you're constructing. | ||
MrFarts | integral, yes it is | ||
integral | There will not be a leading zero added to $mon. | ||
MrFarts | the filename is built with something else | ||
different scope | |||
integral | not in the code you pasted, it is built on the last line. | ||
MrFarts | i pad that stuff | ||
integral | eval: my ($sec, $min, $hour, $mday, $mon) = localtime time; "$mon$mday" | 07:06 | |
p5evalbot | integral: Return: 113 | ||
MrFarts | integral, one sec ... | ||
you want to see where the filename are written ? | 07:07 | ||
ayrnieu | eval: join '', (localtime(time))[4,3] | ||
p5evalbot | ayrnieu: Return: 113 | ||
integral | The filename is built in the code you pasted on the last line. | ||
MrFarts | no it isn't | ||
integral | Yes, IT IS. | ||
MrFarts | let me take a look | ||
integral | file => "$MESSAGEDIR/csv/$puid.$mon$mday$year.csv" specifically | ||
MrFarts | oh crap | ||
:) | |||
integral | In future, please do not be so fucking offensive when someone is trying to point out the obvious to you. And #perl would have been perfectly capable of handing this, since I am also there. | 07:08 | |
MrFarts | offensive ? | ||
what did i say that was so offensive ? | |||
integral | the swearing, the lying, calling #perl evil, and your general tone. | 07:09 | |
MrFarts | lying ? | ||
swearing ? | |||
now i'm going to swear: | |||
are you fucking delusional ? | |||
ayrnieu | he and I both! :-) | 07:11 | |
MrFarts | seems like it | ||
i wasn't cursing or lying | |||
ayrnieu | No, you definitely were. | 07:12 | |
MrFarts | cursing is arguable | ||
ayrnieu | It'd probably help to see that 'lying' here doesn't require malicious intent. | ||
MrFarts | why would i lie about something ? | ||
integral | As far as I'm concerned you were making me looking publically stupid for asking the questions I did. | ||
integral leaves now | |||
MrFarts | integral, get over yourself | ||
07:14
GeJ joined
07:21
drbean joined
07:22
iblechbot joined
07:23
Cryptic_K joined
07:30
Cryptic_K joined
07:33
Cryptic_K joined
|
|||
spinclad | MrFarts: get over yourself | 07:38 | |
and take it to #perl | 07:39 | ||
GeJ | morning gentlemen | 07:41 | |
has anything been decided on the evolution of pugs? | |||
gaal | putter: url to audrey's ltu post? | 07:50 | |
08:01
drrho joined
08:07
xern joined,
G2 joined
08:11
Cryptic_K joined
|
|||
audreyt | I'm off to airport now | 08:12 | |
gaal: | 08:13 | ||
lambda-the-ultimate.org/node/1298#comment-14589 | |||
gaal | audreyt: have a great flight! | ||
audreyt | thanks! | 08:14 | |
gaal | I was thinking of 7 as I read that too :-) | 08:16 | |
08:49
kanru joined
09:02
dada joined
09:28
szbalint joined
09:47
bsb joined
10:04
avarab joined
10:19
grayson joined
10:29
avarab joined,
drbean left
10:35
avarab joined
10:52
Nouk joined
|
|||
audreyt | greetings from the CKS airport | 11:04 | |
audreyt starts reading up on p5-rules spike work | 11:05 | ||
meppl | good morning audrey | 11:08 | |
audreyt | hey meppl | 11:15 | |
11:16
Nouk is now known as Kuon
11:23
Aankhen`` joined
11:28
Odin-LAP joined
|
|||
audreyt | boarding now... see you :) *wave* | 11:37 | |
meppl | cya | 11:42 | |
12:24
drbean joined
12:31
chihchun joined
13:03
grayson joined
13:14
chris2 joined
13:23
s7n joined
13:40
stevan joined
13:56
drbean left
14:02
Qiang joined
14:03
stevan joined
14:24
iblechbot joined
14:33
nnunley joined
14:43
vel joined
14:52
vel joined
14:55
vel joined
14:56
vel joined
15:02
rantanplan_ joined
15:10
Southen joined
15:39
hcarty joined,
hcarty left
15:46
Amnesiac joined
15:52
Jetpack joined,
Jetpack left
16:02
SamB joined
16:24
Nouk joined
16:25
Nouk is now known as Kuon
16:32
elmex joined
16:37
mncharity_ joined,
mncharity_ is now known as putter
17:02
audreyt joined
|
|||
gaal | BKK? | 17:10 | |
17:18
Aankh|Clone joined
17:25
justatheory joined
17:27
PerlJam joined
|
|||
putter | One-line summary of the new p5 parser spike development plan: fork demo file; one side gets cleaned up to gestate a backtracking macro api to simplify writing this stuff; the other gets rules (yes, on p5), and :parsetree, just enough to shift off the Regexp::Parser ast onto something simpler that we can also do p6 on. | 17:34 | |
svnbot6 | r8982 | putter++ | regexp_engine_demo.pl - added notes on the new/current development plan. | ||
putter | Oh, we'll then be able to spike a real, fully flexible, p6 parser. Albeit one which only understand rx:perl5//'s. More than one day (10 hrs) development away, less than seven. :) | 17:36 | |
wolverian | what does it output? | 17:37 | |
putter | I hope to have a few hours for it this evening. | ||
what does what output? ;) | |||
wolverian | the parser :) | ||
putter | oh, the parser spike? ast. :parsetree-like output. | ||
let's see, where's a :parsetree reference... | 17:38 | ||
wolverian | ..oh, I'm just now learning haskell for real finally. I can parse an irc log! I haven't been this pitifully proud of myself since I learned scheme, I think :) | 17:39 | |
PerlJam | wolverian++ | ||
putter | congrats! :) | ||
wolverian | I mean, I had to use liftM! that's deep magic to me ;) | ||
integral | o_O I've never used that, you must be doing really cool stuff :) | 17:40 | |
gaal | putter spikes the punch and now look, wolverian is learning haskell. | ||
world domination has never been closer | |||
wolverian | integral, I split the readFile into lines. | 17:41 | |
which isn't that special and not even the only way to do it, but still.. | |||
putter | I guess :parsetree is now called :keepall. and doesn't have the implication that nodes are blessed. Hmm. Well, what the parser spike returns _wont_ include all the whitespace etc stuff. The objective is just to get to a bunch of nested hashes, blessed into classes. | ||
putter should update the dev plan to say this. isn't going to happen just now. | 17:42 | ||
wolverian | ah. and the classes are what? | ||
putter | Rule <foo> creates a class Someprefix::foo. One which is Match. | 17:43 | |
The blessing doesnt really need to be entangled with the parsing, which i guess is why it didnt make the Snn. | 17:44 | ||
Because it's a simple postprocessing step to walk a Match tree and rebless or copy it into an ast. | 17:45 | ||
The key line from dev.perl.org/perl6/doc/design/syn/S05.html is | 17:47 | ||
given $source_code { $parsetree = m:keepall/<Perl.prog>/; } | |||
wolverian | right. | 17:48 | |
putter | I *think* it's only a couple of solid days' work. But will see. | 17:51 | |
Oh, and just in case I ever forget to say it, japhy++ japhy++. | 17:53 | ||
18:10
G2 joined
|
|||
putter | bbl & | 18:12 | |
18:13
elmex joined
18:21
jp-autark joined
18:22
arcady joined
18:32
Aankh|Clone is now known as Aankhen``
18:36
TMTOWTDIt joined
18:50
nnunley joined
19:09
dduncan joined
19:16
nnunley joined
19:17
marmic joined
19:34
grayson joined
19:35
jp-autar1 joined
20:05
stennie joined
20:45
jp-autark joined
21:13
p5evalbot joined
21:23
usr-src left,
p5evalbot joined
21:39
DesreveR joined
21:41
p5evalbot joined
21:54
jp-autark joined
22:08
bsb_ joined
22:12
larsen joined
22:34
grayson joined
22:52
Supaplex joined
22:56
Supaplex joined
23:09
jp-autark joined
23:11
TMTOWTDIt left
23:20
avar joined
23:36
putter joined
|