Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-02-13

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 PaulWay[w] joined perl6
00:10 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:11 xinming Sorry, I still don't understand... :-/
00:18 khisanth_ joined perl6
00:30 putter hi xinming,
00:32 xinming putter: hi :-)
00:32 putter re your question, basically because of the "half-working" part.  it's not quite the right "half". ;)
00:33 xinming putter: do you mean the rule engine?
00:34 xinming 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:38 Juerd putter: What relevant functionality does Perl 5 have that Perl 6 does not yet?
00:38 Juerd Perl 6 as implemented by Pugs today, that is.
00:39 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:40 Juerd accumulated$
00:40 Juerd Isn't hitting pugsbugs valuable by itself?
00:41 Juerd 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,
00:45 putter 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:47 putter avoidance isn't a viable large scale strategy.  one ends up wandering a constraint maze of different workarounds tickling different pugsbugs.
00:48 putter 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 putter I think that's the argument.
00:49 putter Juerd: so re "What relevant functionality does Perl 5 have that Perl 6 does not yet?", perhaps "predictability".
00:51 Juerd I see.
00:53 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:54 putter p5 has the nice property that if the code doesn't do what you intended, it's clearly your fault. ;)
00:55 Limbic_Region joined perl6
00:55 avarab putter: not always
00:56 putter :)
00:57 putter Besides, CPAN has needed a _backtracking_ recursive descent parser for *years*.  :)
01:01 putter 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:06 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 xinming an array or a scalar?
01:07 putter hmm... good question.  I don't know.
01:08 xinming I'll ask on p6l
01:13 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:18 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:19 xinming hmm, I am not sure either. :-)
01:20 xinming oops.. even myself can't read what I typed just now. :-P
01:20 putter :)
01:22 grayson joined perl6
01:23 Shachaf joined perl6
01:34 justatheory joined perl6
01:41 xinming why my post to perl 6 language will become 'YTsgaGFzIEAuYSB9OwoKd2hhdCB3aWxsIE' things?
01:41 xinming :-/
01:41 xinming hm, I think I know, utf-8 encoding. :-/
01:42 Juerd putter: There is no good use for a write only accessor.
01:43 Juerd 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 Juerd                 If only there is only @, then, and the context is $, It will then trun the list into scalar.
01:43 Juerd That would be very bad.
01:43 Juerd My guess is that the second declaration overwrites the accessor and emits a warning.
01:44 Juerd While retaining both $.a and @.a as individual instance-private variables.
01:45 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:46 xinming Juerd: hmm, How about the accessor?
01:47 Juerd xinming: As said: overwritten.
01:47 xinming Juerd: hmm, yes, your proposal is much better than mine. :-)
01:48 Juerd xinming: Also more consistent with the definition of the has operator.
01:50 putter Juerd: re write-only accessor, why not?  clients can set it, and the class can read it internally.  no?
01:51 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:53 Juerd 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 Juerd 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.
01:53 Juerd It would only create a great false sense of security.
01:54 Juerd This is why I do propose <-> in addition to ->, and not <-.
01:54 Juerd (Though <- is also made unattractive by clashing with <>)
01:54 Juerd (Something <= already does, mind you.)
01:56 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
01:56 putter *lol* :)
01:56 putter taken back
01:56 Juerd Thanks :)
01:57 putter :)
01:57 Juerd And good night :)
01:57 Juerd (3am)
01:57 putter eeep.  good night &
02:00 * 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:03 putter bah.  >5 failing tests because (a|b)* is capturing the first match, rather than the last.  mumph.
02:07 vel joined perl6
02:09 kanru joined perl6
02:19 putter ah.  fixed
02:31 xinming joined perl6
02:37 drbean joined perl6
02:40 hcarty joined perl6
02:40 hcarty left perl6
02:43 svnbot6 r8977 | putter++ | regexp_engine_demo.pl added \1 backrefs and non-greedy quant.  half of re_tests now passes.
02:44 putter ah well.  so much for doing it one calendar day. ;)
02:48 vel joined perl6
02:48 Alias_ purl, seen audreyt?
02:49 Alias_ seen audreyt
02:49 Alias_ (damned muscle memory)
02:49 putter ;)
02:52 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. ;)
03:07 putter well, woot diddley doot.  half was failing because things went book half way through.  now at 82% pass.  :)
03:08 putter and 8x runtime.  :)
03:10 * 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:23 scook0 joined perl6
03:42 MrFarts joined perl6
03:42 MrFarts hey, is there anything i can do about cpan freezing ?
03:42 MrFarts for some reason it's taking forever to read an index from a mirror
03:42 MrFarts when i do it manually, everything is ok ...
03:48 MrFarts anyone ? :(
03:50 putter perhaps as in #perl ?
03:50 putter s/as/ask/
03:51 MrFarts #perl is evil
03:51 MrFarts this channel has been much more helpful
03:51 kattana_ perhaps because there is no perl6 people have more time to help here.
03:52 MrFarts :)
03:52 MrFarts cpan is throwing a fit ..
03:53 Alias_ which #perl? :)
03:54 MrFarts the one here
03:54 MrFarts i don't go in there after i got banned for saying that 'sleep' is not my idea of a proper timer
03:54 Alias_ heh
03:54 Alias_ I'm sure it wasn't that simple, but still, heh
03:55 MrFarts well i offended some "guru" i guess
03:55 Alias_ You know about Time::HiRes of course?
03:55 Alias_ :)
03:55 MrFarts i was asking about some pointers on setting up timers in perl
03:55 MrFarts yeah i know about it now
03:55 MrFarts the guy said "use sleep"
03:55 MrFarts i said "sleep isn't what i'm looking for"
03:56 MrFarts he said "yes it is"
03:56 MrFarts i said "no it's not"
03:56 MrFarts he did +kb
03:56 MrFarts :)
03:56 MrFarts lovely guy :)
03:56 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
03:56 Alias_ So you have to ask very very specific questions
03:57 MrFarts Alias_, any idea why cpan is throwing a fit ?
03:57 Alias_ no, sorry
03:57 Alias_ Except to comment "you are using the latest version, right?"
03:57 MrFarts as far as i know
03:57 Alias_ x.83
03:57 MrFarts it can't download anything though
03:57 MrFarts how can i check the vresion ?
03:58 Alias_ perl -MCPAN -e 'print $CPAN::VERSION . "n"'
03:58 MrFarts 1.7601
03:58 Alias_ default version
03:58 Alias_ try installing Bundle::CPAN
03:58 MrFarts i don
03:58 Alias_ (which will upgrade you to current)
03:59 MrFarts t think it'll do anything
03:59 MrFarts but let me try
03:59 Alias_ neither do I, but it's general medicine :)
03:59 MrFarts Fetching with LWP:
03:59 MrFarts  ftp://ftp.perl.org/pub/CPA​N/authors/01mailrc.txt.gz
03:59 MrFarts LWP failed with code[404] message[File '01mailrc.txt.gz' not found]
03:59 MrFarts wtf
03:59 MrFarts the file is there
03:59 Alias_ oh right :)
03:59 Alias_ That looks familiar
03:59 Alias_ Are you on Windows perchance?
03:59 MrFarts nope
04:00 Alias_ I've seen that error emit due to FTP problems
04:00 Alias_ When an attempt at using active FTP fails
04:00 MrFarts right now one of the ftp.perl.org servers is down
04:00 Alias_ As a guess, try setting export FTP_PASSIVE=1
04:00 Alias_ ah
04:00 Alias_ You might also have hit a bad server in the rotation
04:00 MrFarts yeah, i did ...
04:01 MrFarts it's doing something after the server timed out ..
04:01 Alias_ ignore 404, it's a catchall error
04:01 MrFarts pretty lame :
04:01 MrFarts :)
04:01 Alias_ It's been thrown incorrectly before
04:01 MrFarts it shouldn't tell me 404 if it's not really a 404
04:01 Alias_ it's a bug
04:01 MrFarts it's a transport error in reality
04:01 Alias_ Somewhere in LWP or Net::FTP
04:01 MrFarts nice :)
04:01 Alias_ yeah
04:02 MrFarts cpan has a lot of dependencies apparently ...
04:03 MrFarts doesn't sound like the 404 should be a hard one to track down ..
04:05 MrFarts Alias_, it's working now
04:05 MrFarts thanks a lot
04:06 Alias_ (phone)
04:18 Alias_ 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 Alias_ Add to that you have three different authors for Net::FTP, LWP and CPAN
04:18 Alias_ sort of
04:18 Alias_ :)
04:19 MrFarts Alias_, it seems to happen as a result of a dead host
04:19 Alias_ or failed active FTP
04:19 Alias_ or a few other reasons
04:19 MrFarts one of the perl.cpan.org machines goes down and if it hits that machine the 404 occurs
04:19 Alias_ It's not quite that simple :)
04:19 MrFarts i guess not
04:19 MrFarts but thanks anyway
04:20 MrFarts 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 :)
04:20 MrFarts yeah, but that's not too hard
04:20 MrFarts it's just a pain :)
04:20 Alias_ right
04:20 Alias_ especially when you aren't the author :)
04:21 MrFarts find the author and tell him to stop being so sloppy
04:21 MrFarts :)
04:21 Alias_ we call that rt.cpan.org
04:21 MrFarts rt ?
04:21 Alias_ Feel free to file a bug for your specific case
04:21 Alias_ The CPAN bug tracker
04:21 Alias_ A seperate bug queue for all 9000 dists in CPAN
04:22 MrFarts if it happens again with new cpan i'll put in a bug report
04:22 Alias_ ok
04:27 stevan joined perl6
04:30 putter hey stevan
04:44 pasteling "DigiLife" at 80.190.252.124 pasted "xchat perl script to notify on dialog" (24 lines, 495B) at http://sial.org/pbot/15848
04:45 DigiLife sorry :/
04:45 * Alias_ ponders the idea of hooking up summonning to SMS
04:47 Khisanth joined perl6
04:50 Daveman :o
04:51 * putter is looking for a heavily backtracking, large target string, regexp.  any thoughts?
04:52 putter say order 1000 terms and a target of order 10k or 100k bytes.
04:53 obra a grammar for C?
04:54 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:58 svnbot6 r8978 | Darren_Duncan++ |  r2400@darren-duncans-power-mac-g4:  darrenduncan | 2006-02-11 20:36:53 -0800
04:58 svnbot6 r8978 | Darren_Duncan++ |  /ext/Rosetta : continued rewrite of Language.pod
04:58 svnbot6 r8979 | Darren_Duncan++ |  r2406@darren-duncans-power-mac-g4:  darrenduncan | 2006-02-12 00:27:26 -0800
04:58 svnbot6 r8979 | Darren_Duncan++ |  /ext/Rosetta : continued rewrite of Language.pod
04:58 svnbot6 r8980 | Darren_Duncan++ |  r2424@darren-duncans-power-mac-g4:  darrenduncan | 2006-02-12 20:52:05 -0800
04:58 svnbot6 r8980 | Darren_Duncan++ |  /ext/Rosetta : chopped half of Overview.pod, some Language.pod updates, minor TODO.pod updates
05:01 dduncan those first 2 are actually duplicate pushes
05:10 Alias_ left perl6
05:45 spinclad putter: something genesearchy, maybe?  sorry, no specific suggestions...
05:47 Cryptic_K joined perl6
05:50 putter spinclad: ah, well.  thanks for the idea.  :)
05:51 putter matching  this  ((a)*)*x  against a long string of aaaaaab,
05:52 putter a 500 "a" string is taking 12sec and 200mb, 3sec if one uses non-capturing parens.
05:52 putter I *think* that's good, yes?
05:53 kattana_ compare it to pcre and see.
05:53 putter the problem is this is a standard special case to... well, special case. ;)
05:54 putter but, yes, that's a definitely good diea
05:54 putter idea even
06:12 usr-src joined perl6
06:12 penk joined perl6
06:13 penk joined perl6
06:13 putter kattana_: thanks!  pcre has an interactive ./pcretest, and...
06:13 putter well, I'm not sure I completely understand what's going on, which is always the kiss of death when profiling.  but...
06:18 putter 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 putter so... maybe not entirely unusable.  perhaps.
06:24 Cryptic_K joined perl6
06:29 Cryptic_K joined perl6
06:40 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++
06:41 putter
06:43 MrFarts man, this is pissing me off
06:44 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
06:44 MrFarts it's not related to that line
06:44 MrFarts no variables are being affected by that line
06:44 MrFarts f*cking voodoo
06:44 MrFarts what in the world could calling "localtime" possibly do ?
06:45 ayrnieu MrFarts - paste?
06:45 putter It looks like I'll need something like it tomorrow or so...
06:45 MrFarts ayrnieu, pastebin ?
06:45 ayrnieu MrFarts - topic?
06:46 r0nny joined perl6
06:48 pasteling Someone at 71.198.129.75 pasted "my ($sec,$min,$hour,$mday,$mon" (18 lines, 819B) at http://sial.org/pbot/15853
06:48 MrFarts if i take out the localtime line it works as supposed to
06:48 MrFarts friggin' bizarre
06:49 ayrnieu oh, this is perl5?
06:49 MrFarts yes
06:50 ayrnieu You don't have to bind the entire return: perl -le 'print 1900+(localtime(time))[5]'
06:51 ayrnieu also, you might ask over in #perl , where they assume perl5 :-)
06:51 MrFarts pardon ?
06:51 MrFarts #perl is evil
06:52 integral but they know perl5 backwards :)
06:52 MrFarts actually my experience is that this channel is much more knowledgable
06:53 MrFarts what could possibly cause this problem
06:53 MrFarts i'm almost inclined to blame the perl compiler
06:53 MrFarts it's just screwy
06:54 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:55 putter way past end of day for me.  good night folks &
06:55 integral my question is: "what does 'doesn't work' mean this week?"
06:55 integral MrFarts: I bet it's failing when $mon, $mday or $year is a single-digit
06:56 integral try using POSIX::strftime to format your dates.
06:56 MrFarts integral, nothing is visibly failing
06:56 MrFarts the program finishes executing
06:56 MrFarts but that mail block never happens
06:56 integral right, so how do you know something is wrong.
06:56 MrFarts because no message is delivered
06:56 MrFarts the only thing i can imagine is there is something weird going on with scoping
06:56 integral no, you just know that no message is delivered.   Have you checked your smtp server logs to see if a message is _received_?
06:57 MrFarts integral,yes
06:57 MrFarts integral, there is no message going out
06:57 MrFarts the smtp server and netstat both confirm this
06:57 integral okay, now that's useful to know.
06:57 integral So how about my point about $mon or $mday being a single digit?
06:58 MrFarts integral, they *are* a single digit
06:58 MrFarts integral, but what does that have to do with the mail block ?
06:58 integral okay, so the file is called "$MESSAGEDIR/csv/$puid.2132006.csv?
06:58 integral rather than .02132006.csv
07:00 blm joined perl6
07:03 integral umm?
07:04 blm joined perl6
07:04 MrFarts integral, no
07:05 MrFarts integral, that is set elsewhere
07:05 integral "no"?  so that means it is called .2132006. hmm.   much weirder problem then
07:05 MrFarts no it's called .0213206
07:05 integral well that's not the filename you're constructing.
07:05 MrFarts integral, yes it is
07:05 integral There will not be a leading zero added to $mon.
07:05 MrFarts the filename is built with something else
07:05 MrFarts different scope
07:05 integral not in the code you pasted, it is built on the last line.
07:05 MrFarts i pad that stuff
07:06 integral eval: my ($sec, $min, $hour, $mday, $mon) = localtime time; "$mon$mday"
07:06 p5evalbot integral: Return: 113
07:06 MrFarts integral, one sec ...
07:07 MrFarts you want to see where the filename are written ?
07:07 ayrnieu eval: join '', (localtime(time))[4,3]
07:07 p5evalbot ayrnieu: Return: 113
07:07 integral The filename is built in the code you pasted on the last line.
07:07 MrFarts no it isn't
07:07 integral Yes, IT IS.
07:07 MrFarts let me take a look
07:07 integral file => "$MESSAGEDIR/csv/$puid.$mon$mday$year.csv" specifically
07:07 MrFarts oh crap
07:07 MrFarts :)
07:08 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 ?
07:08 MrFarts what did i say that was so offensive ?
07:09 integral the swearing,  the lying,  calling #perl evil,  and your general tone.
07:09 MrFarts lying ?
07:09 MrFarts swearing ?
07:09 MrFarts now i'm going to swear:
07:09 MrFarts are you fucking delusional ?
07:11 ayrnieu he and I both! :-)
07:11 MrFarts seems like it
07:11 MrFarts i wasn't cursing or lying
07:12 ayrnieu No, you definitely were.
07:12 MrFarts cursing is arguable
07:12 ayrnieu It'd probably help to see that 'lying' here doesn't require malicious intent.
07:12 MrFarts why would i lie about something ?
07:12 integral As far as I'm concerned you were making me looking publically stupid for asking the questions I did.
07:12 * integral leaves now
07:12 MrFarts integral, get over yourself
07:14 GeJ joined perl6
07:21 drbean joined perl6
07:22 iblechbot joined perl6
07:23 Cryptic_K joined perl6
07:30 Cryptic_K joined perl6
07:33 Cryptic_K joined perl6
07:38 spinclad MrFarts: get over yourself
07:39 spinclad and take it to #perl
07:41 GeJ morning gentlemen
07:41 GeJ has anything been decided on the evolution of pugs?
07:50 gaal putter: url to audrey's ltu post?
08:01 drrho joined perl6
08:07 xern joined perl6
08:07 G2 joined perl6
08:11 Cryptic_K joined perl6
08:12 audreyt I'm off to airport now
08:13 audreyt gaal:
08:13 audreyt http://lambda-the-ultimate.​org/node/1298#comment-14589
08:13 gaal audreyt: have a great flight!
08:14 audreyt thanks!
08:16 gaal I was thinking of 7 as I read that too :-)
08:49 kanru joined perl6
09:02 dada joined perl6
09:28 szbalint joined perl6
09:47 bsb joined perl6
10:04 avarab joined perl6
10:19 grayson joined perl6
10:29 avarab joined perl6
10:29 drbean left perl6
10:35 avarab joined perl6
10:52 Nouk joined perl6
11:04 audreyt greetings from the CKS airport
11:05 * audreyt starts reading up on p5-rules spike work
11:08 meppl good morning audrey
11:15 audreyt hey meppl
11:16 Nouk is now known as Kuon
11:23 Aankhen`` joined perl6
11:28 Odin-LAP joined perl6
11:37 audreyt boarding now... see you :) *wave*
11:42 meppl cya
12:24 drbean joined perl6
12:31 chihchun joined perl6
13:03 grayson joined perl6
13:14 chris2 joined perl6
13:23 s7n joined perl6
13:40 stevan joined perl6
13:56 drbean left perl6
14:02 Qiang joined perl6
14:03 stevan joined perl6
14:24 iblechbot joined perl6
14:33 nnunley joined perl6
14:43 vel joined perl6
14:52 vel joined perl6
14:55 vel joined perl6
14:56 vel joined perl6
15:02 rantanplan_ joined perl6
15:10 Southen joined perl6
15:39 hcarty joined perl6
15:39 hcarty left perl6
15:46 Amnesiac joined perl6
15:52 Jetpack joined perl6
15:52 Jetpack left perl6
16:02 SamB joined perl6
16:24 Nouk joined perl6
16:25 Nouk is now known as Kuon
16:32 elmex joined perl6
16:37 mncharity_ joined perl6
16:37 mncharity_ is now known as putter
17:02 audreyt joined perl6
17:10 gaal BKK?
17:18 Aankh|Clone joined perl6
17:25 justatheory joined perl6
17:27 PerlJam joined perl6
17:34 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.
17:36 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:37 wolverian what does it output?
17:37 putter I hope to have a few hours for it this evening.
17:37 putter what does what output? ;)
17:37 wolverian the parser :)
17:37 putter oh, the parser spike?  ast.  :parsetree-like output.
17:38 putter let's see, where's a :parsetree reference...
17:39 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++
17:39 putter congrats! :)
17:39 wolverian I mean, I had to use liftM! that's deep magic to me ;)
17:40 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.
17:40 gaal world domination has never been closer
17:41 wolverian integral, I split the readFile into lines.
17:41 wolverian which isn't that special and not even the only way to do it, but still..
17:41 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.
17:42 * 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?
17:43 putter Rule <foo> creates a class Someprefix::foo.  One which   is Match.
17:44 putter The blessing doesnt really need to be entangled with the parsing, which i guess is why it didnt make the Snn.
17:45 putter Because it's a simple postprocessing step to walk a Match tree and rebless or copy it into an ast.
17:47 putter The key line from http://dev.perl.org/perl6/doc/design/syn/S05.html is
17:47 putter given $source_code {  $parsetree = m:keepall/<Perl.prog>/; }
17:48 wolverian right.
17:51 putter I *think* it's only a couple of solid days' work.  But will see.
17:53 putter Oh, and just in case I ever forget to say it, japhy++ japhy++.
18:10 G2 joined perl6
18:12 putter bbl &
18:13 elmex joined perl6
18:21 jp-autark joined perl6
18:22 arcady joined perl6
18:32 Aankh|Clone is now known as Aankhen``
18:36 TMTOWTDIt joined perl6
18:50 nnunley joined perl6
19:09 dduncan joined perl6
19:16 nnunley joined perl6
19:17 marmic joined perl6
19:34 grayson joined perl6
19:35 jp-autar1 joined perl6
20:05 stennie joined perl6
20:45 jp-autark joined perl6
21:13 p5evalbot joined perl6
21:23 usr-src left perl6
21:23 p5evalbot joined perl6
21:39 DesreveR joined perl6
21:41 p5evalbot joined perl6
21:54 jp-autark joined perl6
22:08 bsb_ joined perl6
22:12 larsen joined perl6
22:34 grayson joined perl6
22:52 Supaplex joined perl6
22:56 Supaplex joined perl6
23:09 jp-autark joined perl6
23:11 TMTOWTDIt left perl6
23:20 avar joined perl6
23:36 putter joined perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo