Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-03-12

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:24 kane_ joined perl6
00:49 kane_ joined perl6
01:01 hexmode` joined perl6
01:33 jisom joined perl6
02:15 Shachaf joined perl6
02:24 svnbot6 r9424 | fglock++ | Pugs-Compiler-Rule - ready; still needs Match object
02:29 fglock joined perl6
02:29 svnbot6 r9425 | fglock++ | Pugs-Compiler-Rule - added missing files
02:33 fglock audreyt: re your blog link - I changed the place of Grammar/Rule.pm to Grammar/Rule/Rule.pm, in order to add a wrapper
02:36 DesreveR joined perl6
02:39 justatheory joined perl6
02:40 Shachaf left perl6
02:40 fglock pmurias: p5hacks.pl is no longer necessary in Pugs-Compiler-Rule, but I need to make more tests before replacing the code in lrep.
03:16 Shachaf joined perl6
03:16 Shachaf left perl6
03:18 svnbot6 r9426 | fglock++ | Pugs-Compiler-Rule - Match.pm, tests (incomplete)
03:48 stennie joined perl6
03:53 svnbot6 r9427 | fglock++ | Pugs-Compiler-Rule - TODO - "What's missing for releasing"
04:11 Shachaf joined perl6
04:13 coumbes left perl6
05:08 K joined perl6
05:10 Cryptic_K joined perl6
05:11 sapper joined perl6
05:16 FurnaceBoy_ joined perl6
05:41 mattie joined perl6
05:42 mattie is now known as codermattie
05:58 codermattie is now known as coder
05:59 coder is now known as lambda
05:59 lambda left perl6
06:02 Cryptic_K is now known as K
06:09 nothingmuch joined perl6
06:42 roarke joined perl6
07:22 nothingmuch morning
07:26 iblechbot joined perl6
07:26 FurnaceBoy_ happy am, 0much
07:27 Yassai joined perl6
07:59 nothingmuch joined perl6
08:01 nothingmuch morning
08:03 nothingmuch step #1 of job leaving is complete: mailed boss to set a meeting
08:03 Aankhen`` joined perl6
08:03 * nothingmuch is kinda nervous ;-)
08:18 svnbot6 r9428 | Darren_Duncan++ |  r2969@darren-duncans-power-mac-g4:  darrenduncan | 2006-03-12 00:08:35 -0800
08:18 svnbot6 r9428 | Darren_Duncan++ |  ext/Rosetta/ : in Rosetta.pm, replaced class list and rewrote DESCRIPTION ; added file SeeAlso.pod
08:19 ghenry joined perl6
08:19 nothingmuch nhola ghenry
08:20 ghenry hi nothingmuch
08:43 K joined perl6
08:54 Alias_ joined perl6
08:55 Alias_ A question about v6-pugs for anyone that knows it
08:55 Alias_ ?
08:55 Alias_ Any takes?
08:55 jisom need to know the question before I can know if I know the answer
08:56 Alias_ What is the Perl 5 being generated from, and can that thing also handle Haskell -> ??? -> Perl 5
08:56 jisom I think PIL
08:58 jisom and it's neither haskell nor perl...
08:58 jisom but I'll defer to someone who's sure
09:01 ayrnieu Alias - I think the place to look is the 'perl5' subdirectory in a pugs checkout.
09:08 integral none of the pugs stuff does Haskell -> ?
09:08 Alias_ I thought it did... or used to?
09:08 integral pretty sure it's never compiled haskell
09:09 integral it's targetted it though
09:09 Alias_ audreyt: Re: Approachability. I'm reading your blog and the thought occurs to me that you guys need some very basic for of roadmap, even it it's very fuzzy
09:09 Alias_ form
09:09 Alias_ ah
09:09 Alias_ That makes more sense
09:09 Alias_ So while Haskell can use CPAN modules, we can't use Haskell $modules
09:09 integral http://pugs.blogs.com/photos/visiolization/timeline.html # timeline
09:09 integral Alias_: oh, we had that going
09:10 Alias_ That's a goodwill and adoption graph, not a roadmap
09:10 Alias_ very lacking in detail of where the milestones are :)
09:11 Alias_ Although we seem to be at "Hack, hack, hack..." now
09:11 integral hmm, we used to have milestones with the version number, but that doesn't fit the new directions
09:11 integral I suspect it hasn't been used in a few releases though, but if you've got hs-plugins, you should be able to call haskell from perl
09:11 integral I think there's a sort of "eval_haskell" too
09:39 drbean joined perl6
10:13 nothingmuch so... talked with boss's boss... next step is boss's boss's boss
10:13 nothingmuch and then it's final
10:13 nothingmuch how does one write a letter of resignation?
10:13 nothingmuch i herby resign from foo bar, signed moose?
10:13 audreyt echo "/bye" | mail boss
10:13 jisom "I would like to provide you with my two weeks notice, with XXX being my last day.  Cordially, me"
10:13 nothingmuch audreyt: i already did that part
10:14 nothingmuch gotta sign something though
10:14 ayrnieu "I hereby resign.  This is how you do what I did.  This is what I think of you and your mothers."
10:14 nothingmuch ayrnieu: =)
10:14 Alias_ nothingmuch: Do you like them?
10:14 nothingmuch Alias_: yes, very much
10:14 nothingmuch i don't like the location or the hours though
10:14 nothingmuch i want to work less in a different city
10:14 nothingmuch and on more intersting stuff
10:14 Alias_ Then try if at all possible to part on good terms. It's rare and can be very helpful later
10:14 nothingmuch but the people are great
10:14 Alias_ Leave with grace
10:14 nothingmuch that part is settled, actually
10:15 nothingmuch i already talked about it face to facce with my immediate project manager dudette and our team manager guy
10:15 nothingmuch and they were slightly sad and regretful but understanding
10:15 nothingmuch and we're on good terms anyway
10:15 Alias_ Then keep it to the point and under within half a dozen paragraphs
10:15 Alias_ under or within
10:16 nothingmuch i was thinking more like 2 lines ;-)
10:16 nothingmuch should I provide technical details?
10:16 nothingmuch like, final tasks, how to pick up after me, etc?
10:16 Alias_ I was thinking more about "had a great time, yada yada"
10:16 nothingmuch aha
10:16 nothingmuch okay
10:16 Alias_ And then write specific information to the individuals that need it
10:16 nothingmuch okay
10:16 Alias_ Make sure you mention why you are leaving, so people don't start rumors
10:17 Alias_ etc
10:17 nothingmuch okay
10:17 Alias_ And if you are going into consulting, pimp yourself :)
10:17 nothingmuch hehe
10:17 nothingmuch i already started pimping myself
10:17 nothingmuch http://nothingmuch.woobling.org/cv.pdf
10:17 nothingmuch wrote that a while ago
10:17 nothingmuch spammed all my close friends with it
10:18 Alias_ well, more "and if anyone needs $foo, give me a call at my new number $xxx
10:18 nothingmuch i suspect my next short term gig will be in italy for 2 months or so, if that goes well
10:18 Alias_ (in the circular to your workmates)
10:18 nothingmuch and then $stevan
10:18 nothingmuch okay
10:18 nothingmuch i'll do that
10:18 nothingmuch the problem is that the technical focus of most of my coworkers is not near to my intended focus
10:18 nothingmuch that is
10:18 Alias_ doesn't matter
10:18 nothingmuch they are C++ people
10:19 jisom joined perl6
10:19 nothingmuch oh, you mean more of a p2p ish thing?
10:19 Alias_ right
10:19 nothingmuch like, tell your friends to tell their friends?
10:19 nothingmuch fair enough
10:19 Alias_ or maybe in their next job they need $you
10:19 Alias_ etc
10:19 nothingmuch aye
10:22 nothingmuch lunchtime
10:22 nothingmuch thanks Alias_, jisom, ayrnieu ;-), audreyt ;-)
10:23 ingy hola nothingmuch
10:23 Alias_ ingy++
10:23 ingy ?
10:23 audreyt ingy: hey. I didn't touch the code last night :)
10:23 Alias_ YAML/Spiffy/Test::Base may be a bit nuts, but at least the all install cleanly on Vanilla Perl, unlike half the rest of Bundle::CPAN
10:23 jisom nothingmuch: no problem, that's pretty much exactly what my resignation letter was at my last job, but the details were complex
10:24 ingy Alias_: funny
10:24 Alias_ ingy: It's been something of a nightmare
10:24 ingy but then again I tested on vanilla :p
10:24 Alias_ ah :)
10:25 Alias_ I find myself emailing the most-active luminaries of Perl for fixes
10:25 Alias_ Or at least, they were pre-2000
10:25 ingy and it's going to get way nuttier!
10:25 Alias_ Now they reply slowly, resist change and sow confusion
10:26 Alias_ Or have been lost to MMORPG universes
10:27 Alias_ Or insist that the REAL problem is that CPAN.pm should work completely differently
10:27 Alias_ *headdesk*
10:27 Juerd Argh. I have to start planning some things, and YAPC::Europe dates are still unknown. This will probably lead to me *again* not being able to attend...
10:28 DesreveR is now known as r0nny
10:29 ingy I'm in some kind of filter loop >_<
10:30 Alias_ Highlander Problem
10:30 Juerd Sort of
10:31 Juerd Most problems are
10:31 Juerd It'd be handy if the highlander problem applied to the domain of problems itself.
10:31 Alias_ only when you are playing with evil
10:31 Juerd I'm a perl hacker; I always play with evil :)
10:31 Alias_ Just don't make it a dependency of CPAN.pm :)
10:32 |mjk| joined perl6
10:35 Juerd "Really, if you think the Perl 6 we have now should have been called something other than Perl 6, then what kind of language should have been called Perl 6?"
10:35 Juerd -- [Aristotle]
10:35 Juerd That's a hard one.
10:35 Juerd Well, the question isn't hard; the answer is.
10:36 chris2 joined perl6
10:37 Alias_ I would say, perhaps that c++ rewrite
10:37 ayrnieu Juerd - possibly 5.10, following arguments that perl5 itself was not much of a big change.  If 5.10 were but named perl6, we might've been able to argue that features it adds (such as threads that work, and unicode that works, and really nifty modules brought into core) change the way people (ought to) code.
10:37 Alias_ A full version is by necesity, a rewrite
10:37 Alias_ by convention, sorryt
10:38 ayrnieu Alias - I thought so too, but someone said recently that perl6 is the first actual complete rewrite.
10:39 Alias_ fair nuff
10:39 Juerd A >50% rewrite warrants a new major imo
10:39 Juerd But a >50% *change of API* is better off with an entirely new name.
10:40 Alias_ Foo2
10:40 Alias_ But for a language, that is trickier
10:40 ayrnieu Juerd - windows is still called windows, and can still run windows 3.1, but offers a totally new API.  I think this is the (unfortunate ^_^) analogy for perl6.
10:40 ayrnieu (3.1 programs.)
10:41 Juerd I think that's very different.
10:41 audreyt ayrnieu: p5 not much of a big change? wow.
10:41 Juerd That's an end user product, not something that is defined by its API mostly.
10:42 ayrnieu audreyt - *shrug*, I keep hearing competing factoids, and people keep calling bullshit.  Everybody is still alarmed by perl5 written perl4ly.
10:42 audreyt ayrnieu: indeed, if you don't use "my" variables and don't use any modules...
10:43 Alias_ Do some degree, Perl is a bit like Windows
10:43 audreyt ayrnieu: then it might be of the perl4 subset. but somehow I don't run into those code anymore :)
10:43 Alias_ A bit loose, a bit messy, but tries hard to keep back-compatibility, and is used all over the place, despite bad press
10:43 ayrnieu juerd - well, nobody writes programs with 3.1y designs (resize your window... and you get lots of unused space added to your window!  Yay!) in 95.
10:43 Juerd ayrnieu: False
10:44 ayrnieu juerd - well, that's alarming :-)
10:44 nothingmuch hola ingy
10:44 ingy :)
10:44 audreyt ingy: so, how's your cycle looks like for getting ::PMC out today?
10:44 nothingmuch boss told me that I can even leave earlier than 1 month if I finish my current task
10:44 ingy I'm hacking on it right now :)
10:44 nothingmuch which should take me < 2 weeks
10:44 nothingmuch YAY!
10:44 Alias_ ayrnieu++
10:44 Alias_ ayrnieu++
10:44 Alias_ ayrnieu++
10:45 audreyt nothingmuch: yay!
10:45 Alias_ ayrnieu++ # Politely telling people to shut up and stop spewing junk in ports
10:45 Alias_ posts
10:46 ayrnieu :-)  I anticipated <Alias_> # giving me a great new idea for a talk: Perl Is Like Windows.
10:46 Alias_ heh
10:47 * nothingmuch rubs his hands together while thinking of what he will do to pugs in a short while ;-)
10:47 nothingmuch having more than 2 hrs of working brain per week should be lovely
10:47 Alias_ Although there may well be a "Making Win32 Perl into a first class citizen" coming anyway
10:47 ingy heading to cafe&
10:48 nothingmuch ingy: cia
10:48 nothingmuch o
10:48 audreyt nothingmuch: draw us a roadmap that alias asked for? :)
10:49 nothingmuch which roadmap?
10:51 audreyt nothingmuch: the dependency chart for 6.28.0 and 6.283.0 and various subprojects and how they tie together
10:53 nothingmuch ah
10:53 nothingmuch okay
10:53 nothingmuch i was going to also start implementing the perl 6 program in perl 6
10:53 audreyt cool
10:53 nothingmuch as in a component factory
10:53 nothingmuch ask it to get a runtime
10:53 nothingmuch ask it to get a cache
10:53 nothingmuch and a compiler
10:54 nothingmuch give the cache to the compiler
10:54 nothingmuch ask it to compile the current file and all it's deps
10:54 nothingmuch take the reuslting unit, give it to the runtime
10:54 Alias_ nothingmuch: The Visolization of the octopus, and which direction the legs are all moving in
10:54 nothingmuch all in nice, clean OO ;-)
10:54 nothingmuch Alias_: i'll put it in my todo list
10:54 Alias_ Because honestly pugs is growing in all sorts of weird directions and I have NFI where or where next most of the time :)
10:55 Alias_ And of course, the bets are starting to roll in on "first P6 release by the end of the year" or not
10:55 nothingmuch okay
10:55 nothingmuch both in my todo list
10:56 Alias_ audreyt: In fact, we should contrive a high profile bet of some sort :)
10:57 integral parrot lost the last time that was tried...
10:57 audreyt Alias_: riight, look how well it worked for Dan
10:57 f0rth joined perl6
10:58 Alias_ audreyt: I was thinking more about the chess computer beating the human Master AI dude
10:58 audreyt I will not let a pie destroy my makeup ;)
10:58 Alias_ By high profile I meant more like laying $1000 on the line :)
10:58 audreyt I don't have a spare $1k :)
10:58 Alias_ At the rates you charge? :)
10:58 Alias_ Do an extra half day of consulting
10:58 Alias_ :)
10:59 kane_ joined perl6
11:00 audreyt Alias_: you probably have no idea how expensive some surgeries are :)
11:00 Alias_ I seem to recall offers of assistance :)
11:01 Alias_ But yeah, true
11:02 audreyt obra: ping
11:04 jisom joined perl6
11:10 Yassai left perl6
11:13 larsen joined perl6
11:13 ingy audreyt: ping
11:15 audreyt pong
11:16 ingy proceeding well... but I have a concern
11:16 ingy I don't like the name Filter::PMC
11:16 ingy it implies source filtering
11:16 integral which it does...
11:17 Juerd audreyt: Is nothing of that covered by some kind of insurance?
11:17 ingy and since it currently uses F::U::C, it will always be associated with source filtering, even if it does things differently one day
11:18 Alias_ Could you just do the different implementation as a different module?
11:18 integral Embed::OtherLanguages?  Compile::Something?
11:18 audreyt Juerd: in .nl yes. in .tw no, I'm not a .nl citizen
11:18 nothingmuch Alias_: the interface should be pluggable
11:18 audreyt ingy: Compile::PMC?
11:18 Alias_ PMC::Filter
11:18 audreyt ingy: Compile::Cached?
11:18 nothingmuch Embed::PMC
11:19 audreyt ingy: Dialect::Cached?
11:19 Alias_ Dialect?
11:19 audreyt as in p5 dialects.
11:19 audreyt ok, not very useful
11:19 Alias_ :)
11:19 kanru joined perl6
11:19 * integral tries to think of anything at all similar and fails
11:19 ingy IMO, Filter:: in a name is the KOD
11:19 audreyt Inline::Cached
11:20 integral Module::PMC ?
11:20 ingy how about ust PMC?
11:20 ingy goddmmit lag!
11:20 audreyt I know you like toplevel namespaces
11:20 integral because PMC is a term for .pmc files and something else might want to manipulate them :-/
11:20 audreyt but in this case PMC is very parroty
11:20 Alias_ ingy: Hiding the fact it uses filter is only really putting shrink-wrap box around the problem though
11:20 audreyt Alias_: it's just coincidendial
11:21 audreyt Alias_: we can do without F::U::C some day
11:21 audreyt Alias_: the mechanism has very little to do with source filtering
11:21 integral But it's using filters not to do what filters normally do:  mangle perl5 badly
11:21 Alias_ Then PMC::Filter
11:21 audreyt it's more like precompilation
11:21 Alias_ or PMC::Compile::Filter or something?
11:21 audreyt use Module::Precompile;
11:21 audreyt I like that
11:21 Alias_ ditto
11:21 audreyt it says what it does, not how it does it
11:21 Alias_ how are you implementing it?
11:22 Alias_ as a M:I:Admin thing?
11:22 Alias_ callout to the compiler?
11:22 audreyt Alias_: well, like M::I, but not using the M::I framework
11:22 ingy how about Module::PMC?
11:22 audreyt Alias_: instead of saving to ./inc/, we save to .pmc
11:22 Juerd audreyt: Hm - I often don't realise how lucky I am to live here
11:22 elmex joined perl6
11:22 integral I like the conceptual name rather than the implementation-specific one
11:22 audreyt Juerd: ah, you are indeed very lucky. I wish I can be a .nl citizen some day.
11:23 audreyt Pre::Module::Compile
11:23 Alias_ Juerd: Anywhere up in the top tenish places in the HCI list are nice places
11:23 Juerd What's HCI?
11:23 * Alias_ checks the acronym and finds the list
11:23 audreyt ingy: I think I like Module::Precompile better than Module::PMC, but your call
11:23 nothingmuch btw
11:23 nothingmuch isn't .pmc a big overhead to load?
11:24 ingy Precompile might be too specific
11:24 audreyt nothingmuch: no! it's just perl code
11:24 audreyt nothingmuch: ByteLoader is a big overhead
11:24 nothingmuch oh
11:24 nothingmuch i thought it has to be ByteLoader stuff
11:24 audreyt nothingmuch: the interp doesn't care less :)
11:24 integral and ByteLoader itself is a source filter :-)
11:24 Alias_ Juerd: Ah, sorry, HDI
11:24 audreyt nothingmuch: try
11:24 nothingmuch oh, i see
11:24 nothingmuch hehe
11:24 nothingmuch nevermind, i get it
11:24 audreyt echo 'print 1' > foo.pm
11:24 Alias_ Juerd: United Nations Human Development Index
11:24 audreyt echo 'print 2' > foo.pmc
11:24 audreyt perl -Mfoo
11:24 nothingmuch yeah
11:24 Juerd Alias_: I see. I'll google for the list; thank you
11:24 Alias_ Juerd: It's a statistical ranking of every country in the world from "best" to "worst"
11:24 ingy vague names like PMC are cool, because the community attaches their own meaning to it
11:25 nothingmuch ingy: haha
11:25 audreyt ingy: if not for parrot taking the meaning of PMC to mean Parrot Magick Cookie
11:25 audreyt ingy: I'd agree with you
11:25 Alias_ ingy: You're just a colonophobe :)
11:25 integral ingy: like "pmc => parrot => wastes of time"
11:25 ingy like Spiffy == "Stay the fuck away from crazy ingy code"
11:25 audreyt ingy: but everybody I talked to has the association pointed out by integral
11:25 Juerd Alias_: Okay, make that top 9 :)
11:25 audreyt (not neccessarily waste of time, but definitely not a p5 precomp)
11:25 ingy Alias_: untrue
11:25 nothingmuch wow, i just got a spam for July 2004
11:25 Juerd Alias_: And .nl isn't in the top 10
11:25 nothingmuch time warp!!!!!
11:25 Alias_ ingy: They ALWAYS deny it
11:26 jisom don't forget perl for "perl module compiled"
11:26 Alias_ Juerd: I did say "ish"
11:26 audreyt nothingmuch: take anotther turn!
11:26 nothingmuch another turn? where? huh?
11:26 audreyt use Module::Compiled;
11:26 Alias_ Perl645!
11:26 nothingmuch use Code::Compiled; # more "General"
11:26 Juerd Alias_: But the US is #10, and I wouldn't want to live there
11:26 audreyt nothingmuch: http://www.magicdeckvortex.com/cardpics/BLUE/time_warp.jpg
11:26 nothingmuch 6x4.5 is a pretty cool photo format
11:26 audreyt ingy: actually this is a base class
11:27 audreyt ingy: so Module::Compiler
11:27 Alias_ Perl645 has that whole "Hawai 50" feel
11:27 audreyt is best, and agrees with terminology
11:27 nothingmuch is it always just for Modules?
11:27 audreyt ingy: and fits with Module::Install metaphor
11:27 audreyt nothingmuch: yes, it has to be .pm
11:27 nothingmuch or is it general enough for anything
11:27 nothingmuch okay
11:27 ingy audreyt: Module::Compile?
11:27 audreyt ingy: Module::Compile workstoo
11:27 ingy it's not really a compiler
11:28 audreyt it certainly is
11:28 audreyt .pmc is the object code
11:28 ingy ok, deal
11:28 Alias_ Still liking Precompile
11:28 Alias_ Module::Precompile::PMC?
11:28 audreyt Alias_: but Compile begins with C
11:28 nothingmuch i want it to be a pony!
11:28 nothingmuch Module::Compile::Pony!
11:28 ingy the compilers are in the subclasses I mean
11:28 nothingmuch Pony::Module::Compiler
11:28 nothingmuch see? .pmc
11:28 Juerd PMC: Modular Coolness
11:29 ingy nothingmuch++
11:29 Alias_ Note: Nobody outside the cabal ever thing funny names are funny
11:29 Juerd The rest of the world has recursive acronyms too
11:29 nothingmuch PONY pONY PONY PØNY!
11:29 audreyt use perl5:Module::Compile;
11:29 Alias_ Which of course is why I called PITA, PITA
11:29 Juerd Alias_: That's not true, I think :)
11:29 Juerd Alias_: Pain in the ass gyros.
11:29 Alias_ Juerd: They just confuse people mostly
11:29 Alias_ Juerd: You know why nobody uses GNU/Linux?
11:29 ingy perl5::Module::Compiler
11:29 Juerd Oh, right. I forgot that nobody uses that :)
11:29 Alias_ Juerd: Because GNU is a stupid name that seemed funny at the time but you can't explain
11:29 Juerd (I'm nobody :/)
11:30 audreyt ingy: Module::Compiler::Indented can by subclass
11:30 audreyt ingy: s/by/be/
11:30 nothingmuch HURD is even worse, but at least it sounds cool
11:30 audreyt ingy: and as such reads quite good
11:30 audreyt ingy: I think go with Module::Compile or ::Compiler
11:30 nothingmuch HIRD of Unix Replacing Daemons
11:30 Alias_ I bet if stallman got rid of GNU and picked something more sane, we'd get ROX/Linux overnight
11:30 Juerd Alias_: End users don't *care*. I believe that over 95% of all web users don't know what "http" stands for, but they use it all the time.
11:30 ayrnieu Alias - I was delighted with all of the funny names and weirdness that Sun leaked with OpenSolaris.  Technical documents that explain the development system with terms like WOS (Wad of Stuff).
11:30 nothingmuch also, Linux is unique enough for 95% of the cases in use today
11:31 Alias_ ayrnieu: At least those are somewhat relevant though, and in that case promotion doesn't count :)
11:31 Juerd Alias_: Lots of people understand what pop3 is and does, but have no idea what it stands for.
11:31 nothingmuch nobody runs Gentoo GNU/FreeBSD unless they are involved
11:31 audreyt ingy: I think Module::* space has slight preference of verbs, and Compile is shorter (And hence golfer), but I'm fine with Precompile, Compile, or Compiler.
11:31 Alias_ Juerd: See, because you can say it :)
11:31 Juerd Alias_: GNU is more pronouncable than HTTP
11:31 Alias_ Pugs is a great name, because you can actually say it :)
11:31 ayrnieu also, 'golf' is a fun term.
11:31 Alias_ who needs to know HTTP?
11:31 nothingmuch i think that people don't say GNU/Linux also because the GNU is implied 95% of the time
11:31 Alias_ You just type "www.google.com"
11:32 ingy I like the verbiness of ::Compile
11:32 Juerd C++ works too. It's hardly more pronouncable than any other TLA.
11:32 nothingmuch ingy: you'll like Verby ;-)
11:32 nothingmuch (the name)
11:32 nothingmuch it was kind of named after your modules
11:32 audreyt ingy: good, and we can actually ship Module::Compile::Bytecode
11:32 audreyt (which uses B::Bytecode for people who like unportable pain)
11:32 ingy :)
11:32 nothingmuch =)
11:32 ingy done deal then...
11:32 Alias_ Would Compile be the bit that actually compiles the thing author-side?
11:32 audreyt yay
11:32 Juerd Alias_: In any case, the people who need to know what the acronyms mean, generally do understand, and most of them --weirdly-- think recursive names are funny.
11:33 audreyt Alias_: yes, and the user doesn't need those M::C modules
11:33 audreyt Alias_: the magic is inlined into the .pmc
11:33 Alias_ ok, then Noun::Verb works perfectly
11:33 audreyt yup, just like a certain M::I :)
11:33 Alias_ Juerd: I tried that idea out
11:34 audreyt and v6.pm would just be shorthand to Module::Compile::Perl6
11:34 Alias_ Juerd: I used 3 different acronyms for PPI in three successive presentations of the PPI talk
11:34 ingy audreyt: I've made all compile steps subclassable
11:34 audreyt ingy: yay
11:34 Alias_ Juerd: Varying between different "cool" things... palindromic backronym etc
11:34 Alias_ Juerd: Nobody thought any of them were funny
11:34 Juerd Alias_: With three different audiences... :)
11:34 Alias_ Juerd: So now I've ditched the lot and gone with "Perl Parsing Interface"
11:35 Juerd Alias_: So that can never be a good test :)
11:35 Alias_ Which makes sense to people :)_
11:35 ingy audreyt: with our rule that the first used compiler has the most control
11:35 Alias_ Juerd: Also, I suspect silly naming games just distracts
11:35 * nothingmuch asks his bossen to release his very comprehensive unix shell environment as opensource
11:35 audreyt ingy: yes. I think it's good policy. per-module control implied on the first statement is the current p6 spec anyway
11:35 Juerd Alias_: Silly is, well, silly. But cute works for me.
11:35 Alias_ Juerd: Except for PITA of course, which people will be reminded of every time they see someone use PITA
11:35 Juerd I like cute names.
11:36 Juerd I like "pugs", I like "Ponie"
11:36 Juerd s/pugs/Pugs/
11:36 Alias_ They are quite workable
11:36 ayrnieu nothing much - ooh, last requests.  "This is how you do what I did.  These are my last requests.  This is what I think of you and your mothers" # revised.
11:36 Juerd I hate recursive acronyms
11:36 Alias_ Larry's MADProps series are a little crazy
11:36 audreyt but they _are_ crazy.
11:36 Alias_ Right
11:36 Juerd heh
11:36 Alias_ And since nobody beyond about 20 people ever need to understand them, it's totally fine :)
11:36 nothingmuch ayrnieu: yes... my rationale is that if they release it as opensource I will have a reason to continue maintaining it =)
11:37 Alias_ if that... :)
11:37 ayrnieu nothingmuch - *nod*.  Free maintainership.  ISTR someone selling a CPAN release on the value of free testing.
11:37 Alias_ Juerd: BTW, Nederlands 12th, DOWN from 7th. Ouch
11:37 Juerd nothingmuch: What is special about it?
11:37 Juerd Alias_: Yep.
11:37 Alias_ Been a rough last few years there?
11:38 Juerd Alias_: We have a GREAT government atm. Elections 2007, everyone's looking forward.
11:38 ingy audreyt: I think the DATA section handling will be a little testy
11:38 Juerd And until 2007, consider this country economically, socially, and developmentally, on hold.
11:38 ingy but i have some ideas
11:38 nothingmuch Juerd: it has a convenient interface to manage env variables, agnostic to tcsh/bash, easy to deploy on many machines through the network, and is very "cascady", as in the user can override everything, without creating update hell when the "default" config is managed
11:38 Juerd Whether it will get better from 2007, we'll see...
11:38 Alias_ Juerd: If you get hold of the big PDF report it shows the areas the UN considers you went ahead or backwards on
11:38 nothingmuch we had a huge cargo culted soup of .tcshrc scripts everywhere
11:38 nothingmuch so this was the solution to that problem
11:38 Alias_ Juerd: To some degree it's just other countries improving, and things being tight at the top
11:38 nothingmuch it's also got unit tests ;-)
11:39 Juerd afk  # toilet; badly.
11:39 nothingmuch that did *not* sound good ;-)
11:39 Alias_ Juerd: But living in country 3. I have to say there's not many other places I'd want to be. And I've seen a few now
11:39 ingy you can't Filter a DATA section, but the DATA section must be propagated to the .pmc IMO
11:40 Alias_ Juerd: Interestingly, the only other place I really though was great was Luxumbourg. And I noticed it's leaped ahead the last few years
11:40 ingy I mean, you can filter it, but if you do it is not readable by <DATA>
11:40 audreyt ingy: yup.
11:41 ingy Spoon/SPiffy taught me how to deal with that
11:41 Alias_ Wow... Libya is the second best country in Africa
11:41 Alias_ Oh wait, Libya is the one that gave up the weapons isn't it... I'm thinking Syria
11:42 nothingmuch Syria is in a pretty dull shape
11:42 nothingmuch neighbors
11:42 Alias_ nothingmuch: It's doing better than Niger and Sierra Leone apparently
11:42 ayrnieu Alias - http://gapminder.org/Projects/BangladeshSVT2005Eng/swfVersion/swfview.asp?fref=start.swf&amp;cref=ADjuZwab/Oll1Q2cnVJA7XpEUJsA
11:42 nothingmuch most of them are screwed up pretty bad =(
11:42 rantanplan_ joined perl6
11:42 Alias_ yeah, none in the top 50
11:42 ayrnieu ugh, or http://reddit.com/info?id=21d3 for a shorter link.
11:42 * jisom wonders how many in America consider Egyptians to be african american
11:43 nothingmuch jisom: i think that most of north africa is considered arab
11:43 jisom yeah, but it's Africa
11:44 nothingmuch marroco, egypt, lybia, tunisia, algeria
11:44 Alias_ ayrnieu: interesting
11:44 nothingmuch yes, i agree
11:44 Alias_ ayrnieu: I'd love to see some totals based on the un hdi though
11:44 cognominal_ hypenated american, _that_ is a concept!
11:44 Alias_ It's the most complete scoring there is
11:44 nothingmuch but conceptually people consider african to be from africa but not from north africa
11:45 jisom sub saharan african
11:45 Alias_ that bubblemap is cool
11:45 ingy audreyt: 'perl -c lib/Foo.pm' really does what it says now XD
11:46 jisom and then there's the Afrikaans, the Dutch descendants in South Africa
11:47 nothingmuch afrikaan-american ;-)
11:47 jisom try finding that check box
11:47 nothingmuch looks like rapper-speak ;-)
11:47 nothingmuch mc parsec in the house yo
11:47 audreyt ingy: huh? :)
11:47 pdcawley joined perl6
11:47 ingy -c == compile
11:48 audreyt ingy: rofl, yes!
11:48 nothingmuch i think that tagging and union shoudld also join the wrapper jargon
11:48 nothingmuch by YAPC::NA we should have a whole pugs rap
11:50 audreyt the last time I rapped with ingy at OSCON it was... not exactly a disaster, but close
11:50 nothingmuch what did you guys rap about?
11:50 audreyt (practically no rehearsal, too loud, etc)
11:50 Alias_ :)
11:51 ingy audreyt: we just needed another 3 or 4 minutes of prep time :(
11:51 audreyt ingy: yeah :( that was mchawkings or something
11:51 audreyt I think I prefer mandarin for rapping
11:52 ingy I had it all figured out... but we ended up hacking on Spork plugins or somesuch
11:52 audreyt yeah, because _you_ insisted we alternate pink/blue slides
11:52 ingy MC Hawking itmfhy
11:52 audreyt (which did turn out well. oh well)
11:52 jisom can you rap with an Irish accent?
11:53 audreyt jisom: no, not me
11:53 nothingmuch rap.txt in misc ;-)
11:53 ingy House of Pain
11:53 svnbot6 r9429 | nothingmuch++ | notes for the pugs rap song
11:53 nothingmuch jisom: svk up svk up and get down
11:54 ingy nothingmuch-- # too much time on his hands
11:54 Juerd re
11:54 nothingmuch ingy: actually i'm writing code as we speak ;-)
11:54 nothingmuch adding a weird no performance loss debug hook to some code at work
11:54 ingy nothingmuch++ # jk ;)
11:59 svnbot6 r9430 | nothingmuch++ | adad svk up to rap.txt
12:01 elmex joined perl6
12:02 ingy nothingmuch: when are we going to Italy?
12:03 nothingmuch ingy: we'll see if I am first
12:03 * ingy needs to plan
12:03 nothingmuch plan?
12:03 ingy my global itinerary
12:04 clkao inline-marketing for svk in trap?
12:05 TimToady joined perl6
12:06 * ingy wonders if it is pure coincidence that TimToady is in *camel* case
12:07 ruz joined perl6
12:08 nothingmuch ingy: i mean, why do you need to plan?
12:09 ingy when we will be living together in Italy :p
12:10 TimToady joined perl6
12:12 Alias_ So the rumors are true.
12:12 ingy indeed!
12:12 ingy all of them!
12:12 Alias_ TimToady: You do turn up on IRC after all
12:12 Alias_ TimToady: Out of curiousity, what sort of document AST are you using in the MAD stuff?
12:12 audreyt Alias_: you call my journal _rumours_?
12:13 Alias_ audreyt: Of course :)
12:13 ingy :)
12:13 * audreyt pouts
12:13 ingy audreyt: what do *you* call them?!
12:15 Alias_ Hard Journalism!
12:15 ayrnieu Truth.
12:15 clkao Pugs Daily
12:15 * Alias_ cues the opening credits music
12:15 ayrnieu aufact
12:15 iblechbot joined perl6
12:15 * ingy fails to see the difference
12:15 audreyt ingy: factoids?
12:15 Alias_ "LIVE from her studio at an undisclosed location, it's the Pugs New Hour!"
12:15 ayrnieu (aupine)
12:15 clkao so how far are we with the pmc hack? pugs-compiler-rule doesn't pass 'make' for me
12:15 ingy clkao: rsn!
12:16 clkao i would be really happen with source-filter generated files rather than bizzare runtime source code morphing
12:16 clkao s/happen/happy
12:17 ingy clkao: it's both!
12:18 Alias_ ugh, CPAN the Gathering continues...
12:18 * Alias_ uploads Data::Digest
12:18 * Alias_ is starting to get bored of this game a little
12:19 Alias_ So many things missing from CPAN, so much work in even the smaller simple components...
12:19 Alias_ Maybe it's just my bug count creeping up
12:19 Juerd What, your code has bugs?
12:19 Juerd Bad coder! ;)
12:19 Alias_ I have this theory that CPAN fatigue is directly related to rt.cpan.org bug counts
12:20 Alias_ Juerd: Ignoring PPI and Module::Install, about 0.1 per CPAN dist
12:20 Juerd Didn't you get the memo? CPAN code should be bug free, since January 1st.
12:20 Alias_ including them, 0.3 :)
12:20 Juerd "CPAN fatigue" - another problem the PHP community doesn't have ;)
12:20 Alias_ heh
12:21 Alias_ I wish we had a graph of the movement of the top 20 or so authors over time
12:21 Alias_ I bet you could see them hit the wall
12:21 Juerd No namespace issues to worry about, no lexical scope t
12:21 Juerd No namespace issues to worry about, no lexical scope to track
12:21 clkao ingy: where's the wip?
12:21 Juerd No CPAN to have a love/hate relationship with
12:21 Juerd Life of a PHP coder is simple.
12:22 Alias_ Debugging is hell, but life is simpler
12:22 Juerd They have lots of extra time to debug :)
12:22 Alias_ Still, the life of a PHP maintainer... I mean programmer... is not one I envy
12:22 Juerd PHP maintainer? :)
12:22 Alias_ Sure
12:22 ingy clkao: http://svn.kwiki.org/ingy/Filter-PMC/lib/Filter/PMC.pm
12:23 Alias_ Most big PHP apps are a big ball of spagetti, so you spend a lot more time doing maintenance coding than new things :)
12:23 Juerd The cool thing about PHP is that once people get smarter, they leave the language. Hence, nearly nobody has to ever maintain his own code. Explains a lot, right? :)
12:23 ingy but that url will change in a couple commits
12:23 Alias_ Juerd: I wonder how true that is
12:23 Juerd Alias_: I wish it were.
12:23 Alias_ Juerd: You never know...
12:23 Juerd The real truth is that PHP keeps the people dumb.
12:23 Alias_ I did a talk to PITA to this business group
12:23 Juerd These people don't WANT to learn more, so they stick to PHP. And within PHP, the possibilities for getting smarter are rather limited.
12:24 Alias_ More a "here's one test, here's a file of tests, here's a package of tests, here's PITA (coming soon)" talk really
12:24 Alias_ And he asked about testing in PHP
12:24 Alias_ Because at his work, they have a team of 20-30 guys working on a PHP application
12:24 Juerd Och
12:24 Alias_ And he's been trying to convince them to start doing testing
12:24 Juerd s/c/uc/
12:25 Alias_ So I talked a bit about TAP, and how they could use the TAP PHP lib, and a Perl LWP tester harness, and sent him back to them
12:25 Juerd I've never been able to convince PHP coders that testing is important.
12:25 Alias_ Wonder if anything happened
12:25 Alias_ I know one
12:25 Juerd Are they PHP coder by choice?
12:25 Alias_ But he's one of my best friends, reads my Perl modules from time to time, and does Java for a living
12:26 Alias_ At an airline
12:26 ayrnieu Was Perl-community hate for Tcl as ever as strong as Perl-community feelings for PHP now?
12:26 Alias_ He does PHP helping-out on one of those webmin-y projects
12:26 Juerd My problem is that I am unable to refute bullshit arguments.
12:26 Juerd I'm just amazed that people come up with them, and then don't know what to say.
12:26 Alias_ I wonder if what we really need is a Test::Inline for PHP
12:27 Alias_ Just drop test fragments into PHP code, and it all sort of just works
12:27 Alias_ God knows how you'd make it work though
12:27 Juerd PHP isn't easily embeddable
12:27 Juerd Or source filterable
12:27 Alias_ It has comments though?
12:27 Juerd Yes.
12:27 Alias_ You'd just put the TI fragments into some specially formatted comment
12:27 Alias_ As it is for POD now
12:27 Juerd I see
12:28 Alias_ The test compiler would be the tough bit
12:28 Juerd I think what we really need is to ignore PHP more though :)
12:28 Alias_ But I imagine you could do a really simple version
12:28 Alias_ heh
12:28 Alias_ good idea
12:28 Juerd (A hypocritical remark)
12:28 * Alias_ goes for food, then back to PITA
12:28 Juerd I've compared PHP to Perl too much, too many times, to get myself in the don't-care mode. But I should.
12:29 Juerd Food's a great idea
12:40 bsb joined perl6
12:50 hlen joined perl6
12:52 hlen_ joined perl6
12:58 ruoso joined perl6
12:58 svnbot6 r9431 | audreyt++ | * Pugs::Compiler::Rule: First got at a Match object.
12:59 netanya_guy joined perl6
13:01 svnbot6 r9432 | audreyt++ | * eol style for all of P::C::R
13:02 nothingmuch joined perl6
13:06 ingy we have .pmc!
13:06 audreyt yay!
13:06 * audreyt ponders re::override::PGE
13:06 audreyt should be fun
13:07 * jisom ponders Pugs::Compiler::Rule::Expression
13:07 bsb hi all
13:08 audreyt bsb: hey
13:09 pasteling "bsb" at 192.115.25.249 pasted "audreyt, S06 Splicing hygiene patch" (53 lines, 2.5K) at http://sial.org/pbot/16264
13:10 bsb I posted this yesterday but then ran away for sushi
13:10 ingy audreyt: perl -c just worked :)
13:10 ingy checking in...
13:13 audreyt bsb: danke, committing
13:13 bsb no wuckers
13:16 audreyt r8213. :)
13:18 audreyt (bbiab)
13:20 marmic joined perl6
13:21 nothingmuch IGHHHHUIHJHHH
13:22 nothingmuch windows API sucks!
13:22 nothingmuch to do a simple second comparison MSDN reccoemnds that I:
13:22 nothingmuch GetSystemTime to get a SYSTEMTIME thing
13:22 nothingmuch then convert it to FILETIME
13:22 nothingmuch then copy it to ULARGE_INTEGER
13:22 nothingmuch and use 64bit math
13:22 nothingmuch instead of just providing me with a gettimeofday work alike
13:22 nothingmuch *sigh*
13:23 nothingmuch this is the worst kind of language tax
13:23 nothingmuch or actually standard library tax
13:25 Juerd roftlol
13:25 nothingmuch aha!
13:25 nothingmuch http://www.winehq.com/hypermail/wine-devel/2003/06/0512.html
13:29 Alias_ :)
13:29 Alias_ Then write a wrapper and upload it to CWIN32PAN and... oh, wait
13:29 nothingmuch seriously, i thought stdc was badly designed, but this..... ack
13:29 Alias_ Although I really wish someone would build one of those
13:29 nothingmuch screw that.. i won't ever need to touch it again =)
13:30 Alias_ A dependency-based system for installing open source .dlls
13:30 Alias_ and other software components of that nature
13:31 * Alias_ &
13:31 svnbot6 r9433 | clkao++ | test count.
13:39 masak joined perl6
13:58 ingy Alias_: yo
13:58 Alias_ pong
13:59 ingy was audreyt talking about stashing recompiled modules into .pmc/ ?
13:59 Alias_ I didn't quite get that bit
13:59 Alias_ I may have been Foo/Bar.pmc
13:59 ingy I think they can just be distributed in lib
14:00 Alias_ Possibly
14:00 ingy might take some minor M::I handholding
14:00 ingy but I think that is totally sane and doable
14:00 Alias_ By .pmc it may have meant a .pm loader with .pmc holding the compiled stuff
14:00 Alias_ Which would make some sense
14:01 Alias_ use v6-pugs could do caller()->%INC-> .= 'c' -> *mumble*
14:01 ingy you distribute both, but you don't need to distribute M::C or any of the compilers
14:01 Alias_ That's how it works
14:01 Alias_ That much I'm pretty sure
14:02 Alias_ Module::Compile would be a Module::Install::Admin type thing
14:02 lumi How come no one thought of this since 1999?
14:02 Alias_ Thought of what?
14:02 audreyt abusing .pmc?
14:02 lumi Yeah
14:03 audreyt lumi: well, people thought about it alright - Malcolm of B:: certainly did
14:03 audreyt lumi: people also thought about re::override and PAR-like things (ex::lib::zip)
14:03 audreyt lumi: it just... takes another level of insanity to code them together
14:03 Alias_ lumi: People also thought of PPI-like things
14:03 lumi Heh
14:03 Alias_ Most of the crazy working idea have had several crazy not-working ideas precede them
14:04 lumi #perl6 - Insanity to critical mass
14:04 audreyt lumi++
14:04 audreyt Perl6 - Extensible even by sane people
14:04 lumi Just crazy enough to work
14:05 Alias_ audreyt: 1. Debatable, 2. Is it worth it
14:05 ingy :)
14:05 Alias_ :)
14:05 ingy lumi++
14:05 jisom has anyone worked on a PIL->perl6 yet?
14:05 jisom or something of that nature
14:07 audreyt jisom: -CParse-Pretty as well as -CPIL-Perl6 will both help
14:07 audreyt s/Pretty/Perl6/
14:08 audreyt jisom: anatoly started looking at the first (taking Pugs.Pretty and emit Perl 6 instead of some pseudo notation)
14:08 jisom I remember something about one of the stages for the eventually perl6 compiler being able to compile perl6 to perl6
14:08 audreyt but I havn't heard from him. want to tage a try?
14:08 audreyt jisom: yup
14:08 jisom it involves a lot of haskell I take it?
14:09 audreyt not neccessarily; you can take -CParse-YAML
14:09 audreyt load it in p5/p6/rb/hs/your-favourite-language
14:09 audreyt and write a pretty printer thereby
14:09 ingy > module -release Module-Compile-0.10.tar.gz
14:09 ingy cpan-upload -mailto [email@hidden.address] -user INGY -password ******** Module-Compile-0.10.tar.gz
14:09 audreyt ingy++
14:09 ingy need to leave $cafe
14:09 ingy move source to pugs tree then
14:10 audreyt ok, will do
14:10 Alias_ ingy: I really need to get around to dealing with that last step
14:10 ingy it works!
14:10 audreyt ingy++
14:10 audreyt Alias_: we need Module::Install::PMC support
14:10 audreyt it need to touch the .pmc after pm_to_blib
14:10 ingy audreyt: I mean I'll move it in ten minutes
14:10 Alias_ And why are you looking at me now? :)
14:10 audreyt ingy: cool
14:10 Alias_ "touch"
14:10 Alias_ ?
14:10 ingy audreyt: correct, then everything should jjust work
14:11 ingy TOUCH!
14:11 audreyt Alias_: I don't know, because you happen to be around? the magic is in perl5/Pugs-Compiler-Rule/Makefile.PL already
14:11 audreyt touch, as in @(TOUCH)
14:11 audreyt need to refactor Makefile.PL magic out
14:11 audreyt fortunately we have M::I
14:11 * audreyt praises M::I
14:11 ingy audreyt++
14:11 ingy &
14:12 audreyt I think it needs to be magickal
14:12 nothingmuch audreyt: want me to fudge Module::Signature?
14:12 audreyt i.e. M::I should check if the PMs are .pmc'ed
14:12 audreyt without additional command
14:12 nothingmuch wrt the perl-qa thread thing
14:12 audreyt nothingmuch: sure!
14:12 nothingmuch okies
14:12 nothingmuch got svn for it?
14:13 audreyt nothingmuch: http://svn.openfoundry.org/modinstall/trunk/Module-Signature/
14:13 audreyt nothingmuch: a commit bit will be set shortly
14:13 Alias_ I've done some refactoring of ModSig that isn't released yet
14:14 Alias_ Mostly the Makefile.PL
14:14 audreyt Alias_: can you hand nothingmuch a commit bit?
14:14 Alias_ So double-check that
14:14 Alias_ will do
14:14 audreyt to modinstall tree
14:14 audreyt danke, he is "nothingmuch" in foundry
14:14 nothingmuch yummy goodness
14:17 Alias_ audreyt: What does a PM look like when it has been PMC'ed?
14:18 Alias_ nothingmuch: added
14:18 nothingmuch Alias_: grazie
14:19 nothingmuch will hack tonight
14:19 * nothingmuch is sick of his modules getting test fails
14:19 Alias_ what test fails?
14:20 Alias_ You mean 0-signature.t ones?
14:20 nothingmuch no
14:20 Juerd Alias_: Blue
14:20 nothingmuch i mean, err yes
14:20 nothingmuch that and also SIGNATURE couldn't be verified because key was not fetchable
14:20 Alias_ Aren't 0-signature pointless now that CPAN.pm has support?
14:20 nothingmuch yes
14:20 nothingmuch they are
14:20 Alias_ Also, keyserver network connections hang on Win32
14:20 Alias_ nasty nasty
14:21 nothingmuch i don't include them though
14:21 nothingmuch except maybe once by accident due to Test::Distribution
14:21 Alias_ So that Makefile.PL disables Module::Signature altogether one Win32
14:21 nothingmuch which I should have put in MANIFEST.SKIP but didn't know better
14:21 Alias_ on
14:21 jisom_ joined perl6
14:21 nothingmuch ugh
14:21 Alias_ ModSig uses non-blocking IO sockets, which don't not-block on Win32
14:22 nothingmuch haha
14:22 Alias_ Because all those tests are SKIPPED on Win32
14:22 Alias_ magically
14:22 Alias_ in the core
14:22 nothingmuch lovely
14:22 Alias_ right
14:22 pmurias joined perl6
14:22 nothingmuch UGHHHH!!!! http://www.nntp.perl.org/group/perl.cpan.testers/296998
14:22 nothingmuch why do *I* get the report if it's Devel::Caller that couldn't be installed?
14:22 nothingmuch oh wait
14:22 nothingmuch it didn't fail
14:23 Juerd Truth--  # harsh. My dad boots to Windows because... Outlook Express asks him if he wants photos to be scaled down.
14:23 nothingmuch it just sent failing diagnostics
14:23 Alias_ nothingmuch: wanna help out on PITA :)
14:23 Alias_ I promise 99% less suck
14:23 nothingmuch ENOTUITS
14:23 Alias_ true
14:24 nothingmuch http://www.nntp.perl.org/group/perl.cpan.testers/296994
14:24 Juerd I have two tuits. Shall I send you one?
14:24 nothingmuch it says that Catalyst.pm was *NOT* loaded, how the fuck did it load version 0?!
14:24 nothingmuch AAAAAAAAAH
14:24 nothingmuch i think all the test systems should be forced to have a manual "accept" process for fails
14:24 * audreyt hides
14:24 nothingmuch 99% of them are bullshit
14:25 audreyt I'm sorry to have started this mess :)
14:25 nothingmuch audreyt: ?
14:25 nothingmuch actually back in the day it was better
14:25 Alias_ [MSG] [Sat Mar 11 11:06:25 2006] Warning: prerequisite Catalyst 5.49 not found.
14:25 Alias_ ?
14:25 audreyt nothingmuch: (cpan-smoke was mostly my doing)
14:25 nothingmuch but then they started using that new "no output what soever" script
14:26 audreyt Alias_: re what does a .pmc look like, it looks like just perl5 code
14:26 Juerd I have bogus test scripts in modules that I didn't have tests for, just to avoid the automated "you should have tests" emails.
14:26 audreyt Alias_: how the .pm->.pmc translation happens is controlled by the Module::Compile plugin
14:26 Alias_ But is it a Foo.pm with a mated Foo.pmc file?
14:26 audreyt yes.
14:26 Alias_ ok
14:26 Juerd Apparently bogus tests are better than admitting you didn't write any tests, as I no longer get messages.
14:26 Alias_ And you want what now?
14:26 nothingmuch crap, i forgot a dep
14:26 Alias_ To touch it?
14:27 audreyt Alias_: right.
14:27 audreyt touch the blib one
14:27 Alias_ Because it would done outside of MI?
14:27 audreyt because perl5 requires .pmc to be newer in mtime than .pm
14:27 audreyt but pm_to_blib doesn't have that guarantee
14:27 audreyt so .pmc needs to be touched after pm_to_blib
14:27 Alias_ I'm not sure we have that guarentee either
14:28 audreyt currently I hacked this up with a postamble
14:28 audreyt pure_all ::
14:28 audreyt \t\$(NOECHO) \$(CHMOD) 644 $pmc
14:28 audreyt \t\$(NOECHO) \$(TOUCH) $pmc
14:28 Alias_ A build takes place in less than a second for many things
14:28 audreyt that works.
14:28 Juerd audreyt: Maybe the .pm can somehow do the touching?
14:28 audreyt Juerd: lib/Foo.pm does touch lib/Foo.pmc
14:28 nothingmuch aha! http://www.nntp.perl.org/group/perl.cpan.testers/226548
14:28 nothingmuch there's a stupid test fail
14:28 audreyt Juerd: but mtime info are lost once they get copied to blib/lib
14:28 nothingmuch that's Test::Distribution though
14:28 Alias_ ooohh..
14:28 nothingmuch oh wait, no, i think that's my own idiocy
14:28 nothingmuch "tried to plan twice"
14:28 Juerd audreyt: But that's a one-time problem that solves itself, and a performance issue only, or am I misunderstanding the problem?
14:28 Alias_ And I don't support you'd change it to "newer than or equal to"?
14:29 Alias_ suppose
14:29 audreyt Juerd: it doesn't solve itself as blib/lib/Foo.pmc is marked a-w
14:29 Juerd Ohh
14:29 nothingmuch mtime can be reset with utimes
14:29 Juerd That's unfortunate.
14:29 Juerd nothingmuch: utime == touch
14:29 audreyt Juerd: also, the user needs to have v6.pm to do the compiling->touching
14:29 audreyt Juerd: because Foo.pm is just "use v6-pugs; say 'hi'"
14:30 Alias_ audreyt: This is sounding more an more like an inelegant hack to fix something that should be done differently upstream
14:30 Juerd audreyt: Is the idea to make it work without?!
14:30 audreyt Juerd: and the idea was the user will not need v6.pm.
14:30 audreyt Juerd: yes.
14:30 Juerd Ahh
14:30 Juerd Hm
14:30 Juerd You're absolutely crazy :)
14:30 Juerd But it's a good idea
14:30 audreyt Juerd: thank you. but I think it will really help p6 adoption.
14:30 audreyt Alias_: I... totally agree. .pmc should carry a signature with itself and perl5 interp should check it
14:30 audreyt Alias_: however, that's not going to happen at least until 5.10
14:30 audreyt Alias_: but I want people to start using .pmc now.
14:31 Alias_ Is there any particular reason we can't make people install v6.pm?
14:31 * Juerd had always thought .pmc needed to be bytecode.
14:31 Alias_ Is it just the runtime?
14:31 audreyt Alias_: it's the compiler
14:31 nothingmuch hoh, this is a lovely one: http://www.nntp.perl.org/group/perl.cpan.testers/219119
14:31 nothingmuch it failed some tests
14:31 audreyt Alias_: it requires Pugs::*, Pugs::*::*, and Pugs::*::*::*
14:31 nothingmuch but i will never know which
14:31 audreyt Alias_: probably not going to inflict it to users
14:31 nothingmuch ditto: http://www.nntp.perl.org/group/perl.cpan.testers/211568
14:32 audreyt Juerd: yeah, but if you look at -MO=Bytecode output, it's actually perl5 code (the first line, anyway,it's a srcfilter)
14:32 ingy audreyt: why do you want the pmc to check its signature
14:32 ingy I kind of don't like the idea
14:32 nothingmuch .
14:32 nothingmuch .. and another: http://www.nntp.perl.org/group/perl.cpan.testers/202973
14:32 audreyt ingy: because if I change .pm, I want .pmc to become invalid?
14:32 ingy but am willing to be persuaded
14:33 Juerd audreyt: I've never really played with bytecode, because it wasn't fast enough :)
14:33 ingy audreyt: but Perl checks the time, no?
14:33 ingy s/Perl/perl/
14:33 audreyt ingy: yeah, but time can be inadvertently reset just by copying files
14:33 nothingmuch moose
14:33 ingy ok
14:33 Alias_ Is ExtUtils::Install going to break it on the installation copy?
14:34 integral (line 3021 of pp_ctl.c)
14:34 integral hmm, I hope PERL_DISABLE_PMC hasn't been used anywhere
14:34 audreyt Alias_: no, EU::I preserves mtime
14:34 audreyt integral: it has; Mandriva disables it
14:34 ingy what is the time granularity?
14:34 integral ouch :-/
14:34 Juerd integral: Their problem, I'd say.
14:35 Alias_ audreyt: So what we REALLY want is a pm->blib that preserves mtime
14:35 audreyt ingy: if .pmc doesn't check validation, then .pm must
14:35 Alias_ Or does that cause other problems
14:35 integral Juerd: maybe, maybe,  but it's the users who complain, and they tend to complain at the wrong people
14:35 Juerd integral: They choose to not use the default settings, and disable some functionality. That always eventually fucks up upgrade paths...
14:35 Juerd integral: They will complain in the wrong places, but those wrong places can have an answer ready.
14:35 ingy audreyt: ok, I'll play with it a bit
14:36 audreyt Alias_: yes, that is what we really want.
14:36 integral Juerd: until yesterday I almost enabled that flag myself because *nothing* used it, and there was absolutely no hint that anyone ever would
14:36 Juerd integral: Which, if crafted correctly, might even convince Mandriva to in the future not do such silly things anymore, as an added benefit.
14:36 Alias_ audreyt: Can we leave this for 24 hours and pick it up tomorrow? It's late and I don't have the mental capacity to intuit the elegant solution right now
14:36 integral I really don't think it was a "silly" thing.   Just as valid as disabling threads imho
14:36 audreyt Alias_: sure!
14:36 Alias_ ok
14:36 audreyt Alias_: it uses File::Copy, btw
14:36 audreyt it's F::C's problem
14:36 ingy audreyt: do we need to assume the granularity of mtime is 1 second?
14:37 Juerd integral: Can't say I've never considered doing so, for performance. Didn't disable the feature because I suspected that one day it'd be used.
14:37 Alias_ So we move from F::C to EU:I maybe
14:37 Alias_ EU:I is underdoing some good platform-compatibility work at the moment, so the timing might be judicious
14:37 audreyt Alias_: maybe, but sleep first :)
14:37 Alias_ yeah
14:37 audreyt ingy: no
14:37 Alias_ Or rather, a little PITA hacking first, then sleep, then you
14:37 Alias_ Because PITA is just work atm, not mental effort
14:38 Alias_ alas
14:38 Juerd integral: The right course of action is probably to inform Mandriva asap
14:38 * integral goes to find their bug reporting service
14:38 Juerd integral: So that they can fix the problem in their next release, and we can just tell people to upgrade.
14:38 Juerd Iff they are cooperative.
14:38 ingy audreyt: what granularity do we assume then?
14:38 Alias_ we don't probably
14:38 integral is it rgs that's with them?
14:39 Alias_ There's probably an entry in perlport which says "don't assume mtime granularity"
14:39 Juerd Is this thing in perl -V?
14:39 Alias_ But then there's entries for pretty much "don't assume ..." everything
14:39 integral Juerd: should be under the configure flags
14:40 rgs what ?
14:41 Juerd integral: Is that "Compile-time options" in perl -V?
14:41 ingy I'm liking the idea of putting the runtime check in the .pm
14:41 rgs you probably want perl -V:ccflags
14:41 integral Juerd: I'm not sure :-/  should be under config_args I think
14:41 ingy "Foo.pmc timestamp is borked. Please touch it."
14:42 rgs perl 5 doesn't check mtimes of pmc files
14:42 integral rgs: my copy of perl-current does
14:42 audreyt ingy: whatever granularity -M has
14:42 ingy audreyt: ok
14:42 audreyt rgs: perl5 does
14:42 rgs right, I stand corrected
14:43 audreyt it'd be better if it doesn't
14:43 audreyt but it does, so we are working around it
14:43 rgs I can patch it away
14:43 audreyt rgs++ # please patch it away
14:43 rgs but I've a question :
14:43 audreyt it should be the .pmc generated code's duty to validate itself
14:43 audreyt because mtime is too weak a guarantee and too easily broken
14:43 rgs aren't @INC-hooks sufficent for what you want to do ?
14:43 ingy my thing is once the pmc is loaded, I don't want to recompile under any circumstances.
14:44 ingy just detect and die
14:44 audreyt rgs: well, the .pmc solution means that the user doesn't need to install any additional module
14:44 Alias_ because you won't have the compiler
14:44 integral just like .so's do at the moment
14:44 audreyt ingy: that's fine with me
14:44 rgs .pmc files are a leftover of malcolm's beattie's byteloader attempt
14:44 audreyt rgs: but with @INC-hooks, the user need something like PAR.pm
14:44 rgs the Plan was to completely deprecate them in 5.10.
14:44 ingy and we fix the toolchain so that becomes a rarity
14:44 Juerd rgs: Does it matter that it's a leftover? It's incredibly useful.
14:44 rgs audreyt: ok
14:44 Alias_ WE ARE NOT USING @INC HOOKS
14:45 audreyt Alias_: er, nobody implies we are going to
14:45 Arathorn joined perl6
14:45 Alias_ MAJOR MAJOR Tragedy of the Commons problem
14:45 Alias_ audreyt: Just making it clear to rgs
14:45 rgs Juerd: you're the first ones to find a use for it since 5.002
14:45 audreyt yes, I agree that @INC hooks are generally bad ideas.
14:45 rgs but that is, no prob, I can patch bleadperl in the direction you want
14:45 rgs and change the CCFLAGS of Mandriva's perl :p
14:45 audreyt rgs++ # yay bleadperl
14:45 Juerd rgs: I'm not one of the people who have; I wish I were that smart :) Still, though, there now *is* a use for it, and a very good use too.
14:45 Alias_ This whole pmc thing is interesting though
14:46 Alias_ It's a good example of evolution in action
14:46 Alias_ The genes for pmc have hung around, because there was no clear reason to remove them
14:46 Juerd Alias_: It's also a good example of unintended manipulexity working out quite well.
14:46 rgs also, if people use it, it needs to be documented.
14:46 Alias_ And later on they come in handy and move to prominence
14:46 audreyt rgs: it's in perldoc -f require
14:46 rgs hmm
14:46 Alias_ rgs: You'd be astonished what is documented if you look deep enough
14:46 rgs I'm probably the author of that doc in fact
14:47 Juerd Having hooks in weird places allows for interesting hacks. This is a problem with a lot of software.
14:47 Juerd (lack of hooks)
14:47 * ingy pops a boner thinking about putting Spiffy back in YAML.pm
14:47 Juerd rgs: lol :)
14:47 Alias_ rgs: Most people only see the forest, they miss the fractally-complex depths
14:47 * Arathorn is totally failing to wrap his head around this .pmc thing :/ - would the .p6 source get uploaded into cpan as well as the .pmc 'object code'?
14:47 Alias_ ingy: It's already in YAML isn't it
14:47 Alias_ ingy: That is, it's in Test::Base, which is in YAML
14:47 rgs right. I'm the author of that doc, perl rev #19466
14:47 Juerd Arathorn: Perl 6 would be compiled back to Perl 5, and the result put in the .pmc, which will be loaded instead of the .pm
14:47 ingy that's not the same thing, Alias
14:47 audreyt Arathorn: .pm source, and .pmc object code, yes.
14:48 Juerd Arathorn: Note that this is entirely unrelated to magic cookies.
14:48 Alias_ ingy: From an installation point of view it is, which was what most of the problems were, wasn't it?
14:48 Arathorn yup, i get the pmc v. pmc distinction
14:48 ingy Alias_: no
14:48 Alias_ ah
14:48 Alias_ ok
14:48 Arathorn i guess it just seems slightly weird to be uploading code-generated code into cpan
14:48 ingy Spiffy everywhere!
14:48 audreyt rgs: so: take the mtime check away, reflect that in docs, and also note in docs that .pm doesn't need to exist really
14:49 * ingy does an evil dance
14:49 Juerd Arathorn: Why? That's been happening for years, for many things.
14:49 Juerd Arathorn: perl itself has generated bits in its distribution.
14:49 * Arathorn is just iggerant, then :)
14:49 rgs audreyt: ok
14:49 audreyt rgs++ # pumpkineering
14:49 Juerd Arathorn: What's iggerant?
14:49 Alias_ Generation is just fine
14:49 Arathorn a variation on ignorant from one who is ignorant
14:49 Alias_ As long as the original source is available on request
14:49 Alias_ (based on the GPL usage etc)
14:50 ingy audreyt: how can you not check mtime!?
14:50 Juerd audreyt: Maybe add to that that using pmc instead of pm for performance is a BAD idea?
14:50 audreyt ingy: by delegating the duty to generated .pmc, which knows best
14:50 Juerd audreyt: Or otherwise note the intended use...
14:50 * Alias_ mumbles PPI functional signatures, and runs
14:50 rgs no, pmc are always checked first for existence
14:50 ingy audreyt: I'm not so sure
14:50 Juerd audreyt: We will need full control over .pmc for this trick to really work and stay compatible with the rest of the world.
14:51 audreyt rgs: try this
14:51 audreyt $ echo 'print 123' > rgs.pmc ; perl -Mrgs
14:51 rgs can't do it now, need to recompile without PERL_DISABLE_PMC first :)
14:51 Juerd Haha :)
14:51 Arathorn lol
14:51 audreyt rgs: ok, but it prints 123 :)
14:51 Juerd rgs: Feel free to use feather ;)
14:52 Alias_ audreyt: I have non-client-work meetingy stuff about 9amish GMT, so you thrash out the details and I'll show up around then
14:52 Alias_ audreyt: And we can work up some MI code
14:52 Juerd rgs: Can you mail me your perl -V?
14:52 Juerd rgs: Before recompiling :)
14:52 Arathorn would new versions of the p6-language modules be released purely to distribute versions of the .pmc code compiled by a newer version of pugs, even if the actual p6 source hasn't changed?
14:52 Juerd rgs: [email@hidden.address]
14:52 audreyt rgs: because stat for empty file has mtime of 0
14:52 rgs [rafael@localhost ~]$ perl -V:ccflags
14:52 rgs ccflags='-DPERL_DISABLE_PMC -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm';
14:52 audreyt rgs: so the check at pp.ctl line 3030 always work
14:52 Juerd That works too. Thank you.
14:53 audreyt rgs: the existence of .pm is never explicitly checked
14:53 rgs yes
14:53 rgs there's only a failure to open file
14:53 audreyt which isn't caught
14:54 rgs that's why one can "load" directories whose names end in .pp
14:54 rgs .pm
14:55 audreyt $ perl -MFoo
14:55 audreyt Directory ./Foo.pm not allowed in require.
14:56 rgs audreyt: do you want to load the .pmc even if the .pm is present ?
14:58 audreyt rgs: I think on-diskmtime is a weak/bogus check; either do like python by embedding in-file mtime/version/other_meta
14:58 audreyt in .pmc
14:58 audreyt rgs: or do nothing and always prefer .pmc
14:58 audreyt I'd think that the elaborate check is .pmc's duty
14:59 audreyt but if we settle on a common #comment line
14:59 audreyt then that'd also work.
14:59 jisom_ embedding the mtime would require all your clocks are mostly accurate
14:59 rgs and you'll have distributed installation problems
14:59 Alias_ audreyt: Brain catching up a little... how attached are you to using the pmc mechanism
14:59 audreyt rgs: distributed installation?
15:00 rgs rpms, for one thing
15:00 audreyt Alias_: not at all - initially I was thinking .pm6 compiled to .pm.
15:00 fglock joined perl6
15:00 * rgs doesn't like mtimes
15:00 Alias_ audreyt: rgs's perl -V:ccflags is a big red flag.
15:01 Alias_ Personally, I'd put out a survey of "who has PMC support" request to places
15:01 Alias_ Before you even continue
15:02 rgs I think only mandriva shipped a perl without pmc support
15:02 rgs and only in the 2006 release of the OS
15:02 * Arathorn just had a look around every box he has access to and can't find any perls with PERL_DISABLE_PMC... (mixture of debian, slack, netbsd, obsd on various archs)
15:02 Alias_ rgs: The problem is we don't know, do we?
15:02 audreyt Alias_: well, rgs added that flag and used it in 2006
15:02 rgs Alias_: well, it's part of my $job to survey that
15:02 Alias_ Do we have a report on ActivePerl?
15:02 Alias_ That's the sort of thing that might turn that on
15:03 Juerd http://tnx.nl/4576FVNQ  # please read and comment
15:04 Arathorn there hasn't been an activeperl release this year yet, has there?
15:04 Alias_ 5.8.8 any time now I'm sure
15:04 Juerd Alias_: This is more or less the survey you suggested
15:04 Arathorn ActivePerl-5.8.7.815 was 2nd november
15:04 Alias_ There's already VanillaPerl 5.8.8
15:04 Alias_ let me check that
15:04 Alias_ PMC ok for Vanilla
15:05 audreyt Alias_: activeperl has it off, so PMC ok
15:05 Alias_ Don't have an ActivePerl handy any more
15:05 Juerd Alias_, audreyt, rgs: please see the tnx.nl url
15:05 Juerd Do you think sending out such a message is a good idea? I'm thinking of perlmonks, for example.
15:05 audreyt Juerd: send to p5p?
15:05 Juerd p5p too
15:05 Juerd And perhaps usenet
15:05 audreyt Juerd: people don't add flags by random, packagers do
15:05 Alias_ hmmm...
15:05 ingy GO TEAM!
15:05 audreyt p5 packagers almost always are on p5p
15:06 Alias_ I wonder...
15:06 Juerd audreyt: Sysadmins add flags.
15:06 integral David Dyck on p5p has it enabled and doesn't appear to use mandriva
15:06 Juerd audreyt: Especially those in high-end environments that need topmost performance.
15:06 audreyt Juerd: okay. in that case, v6.pm needs to be installed, which will contain the magick to recompensate it; the user will just need to install v6.pm but nothing else
15:06 Arathorn what do you plan to do about releasing additional versions of modules to cpan when only the .pmc code has changed (due to an update in pugs)?
15:06 rgs fine for me
15:07 Juerd I think data mining would work.
15:07 Alias_ Arathorn: You increment and release
15:07 Juerd And it spreads awareness at the same time.
15:07 Alias_ Arathorn: Same problem exists in other situations
15:07 f0rth joined perl6
15:07 audreyt Juerd: include one line of test?
15:07 Juerd audreyt: What do you mean?
15:08 audreyt echo "print 'ok'" > testpmc.pmc
15:08 audreyt perl -Mtestpmc
15:08 audreyt instaed of telling people to see perl -V
15:08 Alias_ audreyt: ok. I have a cunning plan, but I want to whiteboard it first and sleep on it.
15:08 Juerd audreyt: Good idea
15:08 Kattana joined perl6
15:08 Alias_ audreyt: Let me go run the algorithm at home, and we can Gobby this tomorrow?
15:08 audreyt Alias_: sure thing
15:08 Alias_ Now where did I leave my copy of Acme::Bleach
15:08 * Alias_ cackles
15:09 audreyt bleached.pmc
15:09 audreyt run Buffy code without installing Acme::Buffy!
15:09 audreyt ...that doesn't sound too hot
15:09 rgs add pie
15:10 Alias_ Imagine a version of Acme::Bleach where instead of changing the current file, it leaves the current file the same, writes the bleach out to blib::arch
15:10 Alias_ err blib/arch
15:10 rgs evilness !
15:10 Juerd audreyt: I'll use "echo print uc ok > test.pmc" for platform compatibility (different kinds of quoting)
15:10 Alias_ But yeah, whiteboard needed
15:10 audreyt Alias_: I don't see the arch bit. it's not arch dep
15:11 hlen__ joined perl6
15:11 Alias_ audreyt: Well, essentially coopting the autosplit-like mechanisms ala ::Share
15:11 Alias_ But I want to whiteboard it first, there's __DATA__ and permissions and some other problems
15:11 audreyt Juerd: worksforme. clever golfing technique.
15:11 Arathorn from a political point of view, kicking up a huge search to see if .pmc execution works seems like a good idea - in terms of clueing the p5 masses in to the idea that pugs is targetting p5...
15:12 Alias_ heading home, see you tomorrow
15:12 audreyt Alias_: ciao
15:12 rgs audreyt: http://public.activestate.com/cgi-bin/perlbrowse?patch=27483
15:13 audreyt rgs: yay!
15:13 audreyt Arathorn: agreed :)
15:14 Juerd http://tnx.nl/4577BNCE  # second draft; please comment
15:14 f0rth joined perl6
15:15 * Arathorn feels sorry for anyone who ever expects the .pm to be used if its mtime's newer
15:16 audreyt Arathorn: very likely 0 people
15:16 Juerd http://tnx.nl/4578AGQJ  # third
15:16 audreyt (because of the widespread conception that .pmc, like .pyc, is binary format, and then ByteLoader proves to be slower than reparse)
15:17 Juerd audreyt: And if there's more, then it'll still be <5, and we can easily kill^Wconvince those ;)
15:17 audreyt s/conception/misconception/
15:17 integral if that's the case why was it going to be deprecated in 5.10 rather than just removed?
15:17 audreyt integral: perl5 doesn't remove anything lightly
15:17 audreyt if at all.
15:17 rgs I removed $*
15:17 audreyt with the longer release cycle comes very long deprecation cyce
15:17 integral right, so why is the mtime check allowed to be removed then?
15:17 Juerd integral: Becaus we still have do SUBNAME (LIST) too :)
15:17 Juerd integral: To call a sub.
15:18 rgs integral: because nobody uses it the way it is. (via ByteLoader.pm)
15:18 rgs Now I think this change is likely to go in next 5.8.x, but better ask Nicholas.
15:18 Juerd integral: The social answer is probably that it's now a Perl 6 feature, and Perl 6 developers care much less about theoretical use ;)
15:18 audreyt rgs: already asked Nicholas on #p5p.
15:18 * rgs checks backlog
15:19 integral Juerd: I was mainly wondering why there was different rules for removable versus major modification
15:19 integral i
15:19 Juerd integral: I think the people doing it are different, and use their own rules.
15:19 Arathorn audreyt: should v6-pugs(?) generate a warning if it runs a .pmc (with cached mtime of the source .pm, a la .pyc?) which is older than a .pm of the same name in that dir, at least?
15:19 fglock audreyt: @{$match} can return Match objects - it can bless on demand
15:19 integral *sigh*
15:19 Juerd integral: I think that if these people made the rules, then removal would be just as simple
15:20 f0rth joined perl6
15:20 Juerd integral: There's no *good* answer, I think.
15:20 Juerd That's the price of inconsistency.
15:20 Arathorn (and would v6-pugs use pugs (if installed) to refresh the .pmc if it's stale?)
15:20 audreyt integral: there is no clear social convention for "deprecating the mtime check"
15:21 audreyt integral: and hence the path of least resistance is different.
15:21 integral Arathorn: can't do that!  joe user can't write to /usr/lib/perl5
15:21 Arathorn well, joe user wouldn't have pugs installed, no?
15:21 Juerd audreyt: Is my current draft good enough for posting on PM?
15:21 audreyt Arathorn: if .pmc is stale it will warn and die
15:21 Arathorn audreyt: phew - that's all sane, then :D
15:21 integral Arathorn: pugs is a binary package in at least one major distro :-)
15:21 hlen joined perl6
15:22 audreyt BEGIN { (stat(substr(__FILE__, 0, -1)))[9] < 123456789 or die "scary looking message" }
15:22 * Arathorn nods
15:22 rgs integral: mandriva, yes
15:22 rgs I made it
15:22 Arathorn integral: okay - then refreshing would be turned off by default. I was more wondering if audreyt & co were ever expecting v6-pugs to be able to invoke pugs in order to refresh the pmc
15:22 Juerd Two major distros then :)
15:22 integral Arathorn: ah
15:22 rgs I'll send a mail to P5P to advertise the pmc change
15:23 audreyt Arathorn: Module::Compile would probably leave it to the compiler plugin
15:23 pasteling "fglock" at 200.102.180.211 pasted ".pmc "permission denied" error" (9 lines, 418B) at http://sial.org/pbot/16265
15:23 audreyt Arathorn: and for v6.pm, I think autorefresh is not wise
15:23 Juerd rgs: Can you also read my latest draft before I send it to perlmonks?
15:23 Arathorn rigiht
15:23 * Arathorn nods
15:23 Juerd http://tnx.nl/4578AGQJ
15:23 audreyt fglock: hm, chmod failed?
15:23 audreyt fglock: have you rerun Makefile.PL?
15:23 fglock audreyt: maybe?
15:23 audreyt fglock: look at Makefile; it should have "        $(NOECHO) $(CHMOD) 644 /home/autrijus/work/pugs/perl5/Pugs-Compiler-Rule/blib/lib/Pugs/Grammar/Rule/Rule.pmc
15:24 rgs Juerd: looks ok (except that -le1 is hard to parse :)
15:24 fglock audreyt: looking
15:24 Juerd rgs: Doesn't have to be parsed by humans :))
15:24 Arathorn btw, from the point of view of someone lurking on the irc logs & audrey's blog, the distinction between v6(-pugs)? and Filter::PMC and Module::Compile(::.*)? is rather unclear ;)
15:24 f0rth joined perl6
15:25 Juerd firefox--  # Stop stealing my focus
15:26 fglock audreyt: Makefile is ok - should I remove blib and retry?
15:26 audreyt fglock: yeah, or investigate why the CHMOD failed
15:26 fglock audreyt: checking
15:26 audreyt fglock: maybe it should chmod the dir instead? not sure. I can boot to win32 if needed
15:27 audreyt Arathorn: #perl6 is too fast - Filter::PMC is now renamed to Module::Compile
15:27 audreyt Arathorn: v6.pm is a Module::Compile subclass
15:27 audreyt Arathorn: v6-pugs is a way to compile using pugs.
15:27 audreyt Juerd: looks fine.
15:28 Arathorn audreyt: right - thanks (on behalf of myself and anyone else lurking in the shadows) for spelling it out :)
15:28 audreyt np, thanks for asking :)
15:29 Juerd audreyt: Okay, thank you
15:32 Juerd http://perlmonks.org/index.pl?node_id=536101
15:32 audreyt Juerd++
15:32 fglock audreyt: I retried the chmod by hand - no errors. But now the error message is gone...
15:32 audreyt fglock: so perl's chmod is broken somehow? hm
15:35 pasteling "fglock" at 200.102.180.211 pasted ""got: 12, expected: 12"" (16 lines, 447B) at http://sial.org/pbot/16266
15:36 audreyt fglock: fixing
15:37 fglock audreyt: what is the problem? (curious)
15:41 nothingmuch joined perl6
15:43 ingy I need to checkout pugs with svk
15:43 fglock audreyt: I want to add 'bless $_, "Match"' to the submatches, but I can't follow your code yet :(
15:43 svnbot6 r9434 | audreyt++ | * pmc timestamping.
15:43 svnbot6 r9435 | audreyt++ | * p6compiler.pl: add a "generated file - do not edit" line
15:43 ingy what's the fastest way to do that?
15:44 nothingmuch ingy: svk co pugs....
15:44 nothingmuch and only mirror head revision
15:44 ingy I thought that was slower sometimes
15:44 audreyt ingy: the easiest way is to download a bootstrapping tarball
15:44 svnbot6 r9436 | audreyt++ | * Pugs::Runtime::Rule always from Pugs::Grammar::Rule
15:44 svnbot6 r9436 | audreyt++ | * regen PMC
15:44 svnbot6 r9436 | audreyt++ | * 04match.t now numifies with 0+, not +
15:45 nothingmuch err
15:45 nothingmuch i don't think so
15:45 nothingmuch clkao: ping
15:45 * nothingmuch redirects to ingy
15:45 audreyt fglock: we need to talk a bit about matches
15:46 audreyt fglock: a match result conceptually in p6 looks like
15:47 audreyt class Match {
15:47 audreyt    has Bool  $ok;
15:47 audreyt    has Int   $from;
15:48 audreyt    has Int   $to;
15:48 audreyt    has Any   $result;
15:48 audreyt    has Match @sub_positional;
15:48 audreyt    has Match %sub_named;
15:48 audreyt }
15:48 audreyt the $result, aka $() is usually a string
15:48 audreyt but can be reset with {return}
15:49 audreyt fglock: it seems that you are somehow conflating capture the submatches and the result
15:49 elmex joined perl6
15:49 fglock audreyt: the capture is stored in the capture key; everything else goes in the match key
15:50 fglock audreyt: this is implemented in Emitter::Perl5.pm
15:51 audreyt fglock: but the capture is a structure in your version even for vanilla
15:51 audreyt fglock: but normally capture is just a string
15:51 audreyt it's the perl5 $&
15:52 fglock audreyt: it could be stringified by Match (i.e., lazily)
15:52 audreyt fglock: well, if you keep a ref to the original string, then it can also be lazily calculates with $from and $to
15:53 justatheory joined perl6
15:53 audreyt fglock: but ok
15:53 fglock audreyt: yes - that's how match::str works in lrep
15:53 mncharity joined perl6
15:54 mncharity is now known as putter
15:54 fglock audreyt: the idea is - the engine works as fast as possible - so Match needs to do more work
15:55 audreyt fglock: ok
15:55 ingy audreyt: I just realized how easy it would be to inline a M::C subclass in your module to, say, override the freshness check
15:55 fglock audreyt: but I didn't grok all about Match yet
15:55 svnbot6 r9437 | audreyt++ | * proper numification for Match.
15:55 fglock M::C?
15:56 audreyt Module::Compile
15:56 ingy Module::Compile
15:56 ingy jinks
15:56 audreyt fglock: ok... a sec
15:57 audreyt fglock: so, if I use /../
15:57 audreyt to match "123"
15:58 audreyt +$/ will be come... 0?
15:58 audreyt ?eval 123 ~~ /../; +$/
15:58 evalbot_9402 is now known as evalbot_9437
15:58 evalbot_9437 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
15:59 fglock audreyt: this might need a 'print Dumper $match' - it may be an error in how the emitter build the match struct
16:00 fglock audreyt: it should look like ... [ '1', '2,'] ... tail=>'3' ...
16:01 putter hi fglock :)
16:01 fglock putter: hi!
16:02 putter the backlog is biiiiggggg...
16:02 putter Match questions?
16:02 audreyt fglock: so match::str should work as the stringification?
16:02 fglock putter: audreyt and I are trying to build the interface between i_e and Match
16:03 fglock audreyt: yes
16:03 putter which Match?
16:03 audreyt fglock:
16:03 audreyt Undefined subroutine &grammar1::alt called at lib/Pugs/Runtime/Rule.pm line 64.
16:03 audreyt this is with latest lrep
16:03 fglock putter: p6 Match
16:04 putter pugs Match?  or is there a new Match written in p6?
16:04 fglock audreyt: lrep writes 'grammar1' when it generates :P5 - I've fixed that, but it was lost in a merge - I'll redo it
16:05 audreyt putter: http://svn.openfoundry.org/pugs/perl5/Pugs-Compiler-Rule/lib/Pugs/Runtime/Match.pm
16:05 svnbot6 r9438 | audreyt++ | * fix test count and add another stringify test
16:07 audreyt fglock: also, it's not clear to me how named and positional submatches are separated
16:07 audreyt seems you stash them all into ->{match}
16:07 memelo joined perl6
16:08 fglock audreyt: yes - unnamed matches just get a generic name
16:09 audreyt fglock: but I need to tell them apart
16:09 audreyt @$/ and %$/ needs to tell a named match named "any"
16:09 audreyt from a positional capture (.)
16:09 * putter puzzles over Match...
16:10 Kattana joined perl6
16:10 audreyt putter: it needs to bless its submatches, but we need to figure out the mapping to p6 Match first
16:10 audreyt i.e. the ok/from/to/result/sub_pos/sub_named mappings
16:11 fglock audreyt: Emitter::Perl5 line 268 - that's the node that stores the unnamed submatches
16:11 svnbot6 r9439 | ingy++ |  r5488@bytes:  ingy | 2006-03-12 08:10:02 -0800
16:11 svnbot6 r9439 | ingy++ |  PMC Insanity in Pugs
16:11 audreyt hooray!
16:11 audreyt ingy++ ingy++
16:11 ingy woo hoo!
16:11 GeJ joined perl6
16:12 ingy audreyt: the freshness_check currently does none
16:12 ingy I'll let you do it
16:12 audreyt k
16:12 fglock audreyt: you can get the array of unnamed matches by looking for 'capturing_group' keys
16:12 ingy I was noticing that mtimes might be localized
16:13 audreyt fglock: yup, that's exactly what ::Match does
16:13 nothingmuch http://www.gizmodo.com/gadgets/gadgets/pong-wall-clock-coolness-to-the-max-139434.php
16:13 svnbot6 r9441 | audreyt++ | * M::C - remove .swp, MANIFEST and META.yml as per Pugs conventino.
16:13 audreyt fglock: I'll change it to ''.
16:13 ingy :)
16:14 fglock audreyt: ok. you can also write a 'XXX - optimize this!' :)
16:14 audreyt I'll leave it to you :) also, please fix the grammar1:: thing so I can test
16:14 ingy I'm keeping the CPAN version of M::C under svn.kwiki
16:14 ingy so I'll just patch back and forth
16:15 audreyt ingy: comaint with me?
16:15 ingy audreyt: sure
16:15 fglock audreyt: I'm stuck with a problem with my lrep - you can just s/grammar1::// in the .pmc until I fix it
16:15 ingy you have access to both repos
16:16 audreyt fglock: ok
16:16 audreyt fglock: also match::str is quite broken -- more later
16:16 ingy audreyt: just make sure you upload to CPAN from svn.kwiki.org
16:17 fglock audreyt: 'write fast, test little' == problems later
16:17 ingy or better yet, coordinate with me if I'm reasonably available
16:18 audreyt ingy: sure, this is just in case you are away for 3+ days
16:18 svnbot6 r9442 | audreyt++ | * unnamed matches are now internally using '' as key, not 'capturing_group'.
16:18 svnbot6 r9442 | audreyt++ | * fix .pmc to remove grammar1:: borkeness.
16:18 Juerd So far, things look real good.
16:18 Juerd No negative test results yet (irc + pm chatterbox + email)
16:19 audreyt cool
16:20 putter so capture is an array of hashes of arrays.  any/all hash entry capturing_group values end up flattened in @$match, all other entries end up %$match, after their values have been inlined into the list of pairs and values.  which constrains the second arrays to be a value in position 0, followed by key and value pairs.  am I reading that right?  that seems very odd.
16:21 audreyt putter: and totally wrong.
16:21 audreyt "capturing_group" is renamed ""
16:21 audreyt also @$ and %$ should rebless
16:21 audreyt and they should consult ->{match} not ->{capture}
16:21 audreyt I'm fixing them
16:22 fglock audreyt: thanks!
16:22 fglock audreyt: lrep stopped working for me
16:22 audreyt fglock: np, this reminds me of my Template::Extract / Template::Generate a lot
16:22 clkao bwahah
16:22 fglock bbiab - food &
16:22 putter so the reason for punting the simpler Match.pm in Common/ is...?  the unimplemented array entries show up as hash entries aspect?  something specific to the ie implementation?
16:22 tuxxboxx joined perl6
16:23 audreyt putter: i_e didn't supply the same kind of results
16:23 putter right
16:23 putter or rather, ok
16:23 audreyt thought "describe" seems reusable
16:23 audreyt once I finish converting the i_e results
16:27 putter one other thing that Match.pm in Common doesnt get quite right is state while the search is still running.  it needs to get told a .from when the capture matching begins.  and stringification has to return substr($_,.from,pos-.from) if asked during the capture matching, before the capture closes and .to is known.  so says p5 anyway.
16:27 audreyt yes.
16:27 putter eg, "aa" =~ /^(a\1)$/  in p5.
16:28 putter k
16:28 audreyt and I can't seem to recover the info from fglock's code
16:28 audreyt after match concludes
16:28 audreyt fglock: gobby when you are back?
16:28 putter TimToady: ping?
16:29 fglock audreyt: ok (the computer is by the table :)
16:29 ingy is there a dmg for gobby?
16:29 putter audreyt, TimToady: After my argument a couple of days back that spec'ing should happen asap, it seems only fair to provide a counter argument....
16:30 audreyt fglock: connect to perlcabal.org
16:30 fglock audreyt: re grammar1 - emit.pl, line 57 - but I can't test it now
16:31 audreyt ingy: no, just darwinports, very annoying
16:31 fglock audreyt: in ~15min, ok?
16:31 audreyt sure
16:31 gaal the pmc hack is so cool\
16:31 ingy :)
16:31 gaal I can't believe I saw strace output so many times and didn't realize that happening
16:32 Juerd gaal: I felt the same.
16:32 Juerd I have also always been under the impression that it could only be bytecode. I also didn't know that a sourcefilter was used to load bytecode.
16:33 putter Namely that if, as currently seems plausible, it looks like something will be running by _this_ christmas, taking 6 months rather than 3 in order to get is more right is at least a plausible argument.  In part my desire for spec and running p6 asap is driven by a fear that until working code is at hand, if audreyt gets hit by a bus, and parrot never converges, then p6 may just never happen.
16:33 Juerd afk
16:33 putter At some point that fear becomes silly.
16:33 ingy ah bus termination problem
16:34 ingy the problem that never happens
16:34 rgs mandriva's perl is now updated (is the dev version of the OS)
16:34 ingy putter: p6 doesn't *have* to happen anyway
16:34 gaal bsb: ping
16:34 Juerd rgs++
16:34 ingy rgs++
16:35 ingy the earth won't stop turning if perl 6 never happens
16:35 bsb gaal: pong
16:35 obra audreyt: pong
16:35 ingy obra: timely
16:36 audreyt obra: see /msg
16:36 obra looked
16:36 obra replied
16:36 putter One other self-counter argument.  One advantage over CPAN's chaotic naming scheme is it avoids long classification arguments which can eat enormous amounts of time.  "it doesn't matter" is much much much shorter than ontology wars.  So a more thoughtfully organized hierarchy might have nontrivial costs, too. ;)
16:37 putter ingy: re, never happens - sure it does.  people change jobs, have kids, reprioritize their always "more things to do than time available".  lots of projects and languages die for "buses".
16:38 clkao ban the buses
16:38 putter ingy: re *have* to happen... yes it does. :)
16:38 ingy heh
16:39 ingy kill the projects
16:39 svnbot6 r9443 | pmurias++ | xgrammar2p6 generates cleaner code; a *lot* of refactoring
16:39 svnbot6 r9443 | pmurias++ | + use Attribute::Handlers
16:39 svnbot6 r9443 | pmurias++ | a lot of regressions;but choice and sequence are translated
16:39 ingy too many projects
16:42 * putter gives up on backlogging for now, searches for "putter"... ;)
16:42 putter Regexp::PCRE!!!
16:42 audreyt putter: it's now re::override::PCRE
16:42 audreyt already on CPAN
16:42 clkao ingy: 'use XXX' in m::c :)
16:42 audreyt putter: also in perl5/re-override/
16:42 putter with (??{...}) callback support??
16:43 audreyt putter: we need another run of hacking to get the hooks into re::override instead of conflating the two
16:43 ingy clkao: thanks
16:43 audreyt putter: _then_ we can write re::override PGE
16:43 clkao let's make XXX.pm
16:43 audreyt and re::override Pugs
16:43 ingy clkao: done
16:43 audreyt putter: I didn't have time to finish grokking PCRE callout API, but it's very possible.
16:43 audreyt putter: but first we need to decouple re::override with ::PCRE
16:43 clkao you have XXX.pm privately rating your own module as sadult only?
16:43 audreyt putter: it's mostly your code, I just repackaed :)
16:43 ingy clkao: http://search.cpan.org/~ingy/XXX-0.10/
16:45 clkao orz
16:45 putter note that my code was/is very much work in progress, development snapshots, very buggy.
16:45 putter cpan?!?  eeep!
16:45 * ingy laughs the crazy laugh
16:49 putter eg, _not_ currently lexical.  i was confused about what %^H does.  which seems to basically be a compile-time dynamic(ie, local).  not the right thing for this.  and then there are the segfaults and... eeep.
16:50 putter ;)
16:52 pmurias is making multiple small commits per editing session considered bad practice?
16:52 svnbot6 r9444 | audreyt++ | * Module::Compile: reduce minimum version to 5.6.0 (on the author side).
16:52 svnbot6 r9444 | audreyt++ | * Also, remove the need for XXX.pm.
16:53 putter stevan: pong
16:54 f0rth joined perl6
16:54 vel joined perl6
16:54 integral pmurias: if you're worried use svk and a local branch.  It can batch up the small commits you make to your local branch into one single commit to public
16:54 integral which is also good since your small commits can now break the build! :-)
16:57 [M]erk joined perl6
16:57 svnbot6 r9445 | audreyt++ | * Module::Compile: pod cleanup.
16:59 f0rth_ joined perl6
17:00 putter re "pmc"... any relation to parrot's pmc?  or no...?
17:00 putter oh wow
17:01 integral no, pmc is a _C_ompiled _P_erl _M_odule :-)
17:04 ingy integral: that's cpm :p
17:05 pmurias integral: thanks, I'll give svk a try sometime
17:06 audreyt ingy: M::C looks good. 0.11?
17:06 audreyt ingy: (removed XXX.pm and cleaned up the pod)
17:06 ingy I'm working on an 0.11
17:07 svnbot6 r9446 | audreyt++ | * re::override - provide "no re::override"; update docs to clarify its extent.
17:07 audreyt ok, then you may wait to pickup pugs r9448 and r9447.
17:07 audreyt s/wait/want/
17:07 ingy I'll merge and release soon
17:07 putter oh, wow
17:07 ingy I have a special surprise for clkao
17:08 audreyt putter: I've been catalysting a lot :)
17:08 [M]erk left perl6
17:08 putter go away for the weekend and the entire constraint space for cpan module design changes.
17:09 ingy funny that
17:09 audreyt yes, because perl5 is now a statically linked language ;)
17:11 putter a "peek at singularity" experience
17:11 putter ok, I'll go back to hacking override unless there's something else I should do.
17:11 audreyt putter: I'd most appreciate override hacking.
17:12 putter k
17:12 audreyt putter: I think re::override::PGE and re::override::Pugs are going to rock :)
17:12 lumi Has anyone managed to pull gobby from darwinports?
17:12 audreyt lumi: stevan started compiling and was never heard since
17:13 putter :)
17:13 lumi Oh dear
17:13 lumi Maybe it can't be done
17:14 m__ joined perl6
17:14 nothingmuch lumi: ?
17:15 nothingmuch you pang?
17:15 lumi I did.. nothingmuch: same question :P
17:15 lumi gobby from ports
17:15 Juerd Haha. One PMC survey response where PMC doesn't work...
17:15 Juerd But it's ... 5.005
17:15 nothingmuch ah
17:15 nothingmuch no clue =)
17:16 Juerd How can someone still use that?
17:16 audreyt Juerd: it's known that 5.6.0+ is needed.
17:16 Juerd And another, but that's Mandrake, so fixed already
17:16 integral they bought SCO :-)
17:16 Juerd audreyt: Yea, but I didn't include that :)
17:16 Juerd audreyt: So I get reports from older systems as well
17:16 audreyt Juerd: and we can't reasonably expect sane semantic for e.g. strings or our-scoping for 5.005 anyway
17:16 Juerd audreyt: Agreed.
17:16 audreyt compiling p6 to 5.005 is probably not a sane exercise
17:16 Juerd audreyt: And it's not reasonable to expect ANY upgrade path from 5.005 to 6.
17:17 Juerd There are too many years in between.
17:17 putter though, "expectation management caveat", this being a really nasty reach into deep into perlguts, far far far beyond perlapi, until it is actually passing the full p5 t/ suite, and not leaking, it will be unclear to me whether this whole thing is even possible.  let alone supporting multiple versions of perl.
17:17 Juerd http://perlmonks.org/?node_id=536108
17:17 Juerd japhy found a perlbug regarding PMCs
17:18 putter putter-- for not making speculative nature of project clear.  think TimToady's characterization of insane about covers it.
17:18 Juerd __FILE__ reports .pm instead of .pmc, even if the .pm doesn't even exist.
17:18 audreyt Juerd: yeah.
17:19 fglock joined perl6
17:19 audreyt Juerd: that's known (see backlog to rgs)
17:19 putter let alone leaving any shred of p5 security model intact.
17:19 audreyt Juerd: it means v6.pm needs to do #line management or something
17:20 fglock /&
17:21 putter on the up side, regexp.t, p5's re_test wrapper, just did a 80% pass. :)
17:21 audreyt what fails? :)
17:22 putter (key point being absence of segfaults;)
17:22 madz joined perl6
17:25 fglock audreyt: are you in gobby?
17:26 putter havent looked.  my guess is lack of support for /i /m etc, and (??{}), and...?   lack of support for \G and split ("must end after pos x") shouldnt have an effect there, but are also todos.
17:26 audreyt fglock: no, I'm pairing with leo right now, just a sec
17:27 audreyt putter: no segfaults = hopeful
17:27 fglock audreyt: np - I'll take a llok at lrep 'grammar1'
17:28 pmurias could any one with more copyright-fu than me check whats the legal status of the xquery grammar avalible from http://www.w3.org/2004/08/applets/xqueryApplet.html, please?
17:28 * fglock thinks the irc protocol scrambles characters when you type fast
17:29 * audreyt thinks it's the finger(0) protocol
17:29 * pmurias agrees
17:30 audreyt fglock: ok, I'm back
17:30 putter yes but... the regexp struct on which this all hangs is really pawed at all over the place.  this is a legacy system reverse engineering project.  we really may get to the very end, everything looking like we're winning, and discover/come-to-fully-appreciate constraint X which says "you just can't do it without a patched perl source".  And all of this is assuming this api-free reach deep into perl guts becomes so socially important that it
17:31 audreyt fglock: try connect to gobby again?
17:32 fglock audreyt: "connection lost"
17:33 audreyt fglock: tryagain
17:33 fglock audreyt: looks good
17:37 svnbot6 r9447 | pmurias++ | severe cleanup
17:37 svnbot6 r9447 | pmurias++ | +optional
17:37 putter gobby?  collaborative editing?!! :)   pugs pulls in more art of collaborative development...
17:41 audreyt putter: yeah, welcome to gobby to perlcabal.org
17:41 audreyt putter: also I'm thinking about using hiveminder.com to log subproject todos
17:41 audreyt putter: but I'm still hacking with fglock+leo
17:41 audreyt well, really /leo
17:44 Arathorn does gobby use see:// uri's? or is that something else?
17:45 * pdcawley boggles like a boggly thing at http://pugs.blogs.com/pugs/2006/03/use_v6pugs.html
17:45 pdcawley That works?\
17:45 pdcawley Wow.
17:45 ingy audreyt: have you written a M::C module yet?
17:45 audreyt Arathorn: something else - I'm not on a mac at this moment
17:45 audreyt ingy: no, I'll yield the honour to you :)
17:46 ingy :)
17:46 audreyt ingy: Spiffy is natural
17:46 ingy coming up
17:46 ingy I got something better
17:46 audreyt I want Perl6::Sub
17:46 audreyt MCized using pugs as the parser
17:46 Arathorn aaah
17:46 * Arathorn finally makes the SubEthaEdit ~ SEE connection
17:48 audreyt pdcawley: yeah, except we renamed it as Module::Compile
17:48 audreyt no longer Filter::PMC
17:48 audreyt I'll update journal now
17:48 * pdcawley is *so* writing a bloody summary this week.
17:49 audreyt pdcawley: caveat: only very little p6 is actually emittable to p5 -- only the ones that required for rules bootstrapping are supported
17:49 audreyt pdcawley: but with M::C, that can improve quickly and easily
17:49 audreyt we can depend on the whole of CPAN but not inflict it to users!
17:49 pdcawley But... but... P6Rules in P5...
17:50 pdcawley How complete are rules?
17:50 audreyt good enough to parse rules
17:50 pdcawley So, pretty good.
17:50 pmurias most of the basic stuff
17:50 audreyt pdcawley: http://svn.openfoundry.org/pugs/perl5/Pugs-Compiler-Rule/README
17:50 putter _expectation management_ please.   p6 already has such a flakey reputation in p5 land, pugs has to be _extra_ cautious.  please.
17:51 pdcawley So we now have Perl 6 rules, written in Perl 6 and using Perl 6 rules?
17:51 audreyt actually it's a bit outdated.
17:51 pdcawley Cool.
17:51 pdcawley Will do.
17:51 audreyt indeed.
17:52 pdcawley I shall concentrate on how crap it is.
17:52 audreyt "we have rules in p5 that are good enough to parse rules, but it's far from complete; we have ways to hook PCRE/PGE/PugsRules into perl5 regular regex syntax, but regex options and leakiness/performance/portability is unknown"
17:53 audreyt "we have a way to ship precompiled code without inflicting the dependency of a compiler to the user, but it's 5.6+ only and some people (percentage unknown) have perl built without this support"
17:53 putter might be nice to summarize pugs with an extra week time-lag, so there is at least some chance it actually matches what people will interpret summaries to mean.
17:53 pdcawley They'll match stuff, but your process might well blow up in your face.
17:53 pdcawley Heh.
17:53 audreyt putter: you mean p6a, not my journal, hopefully
17:54 putter audreyt: yes
17:54 * Arathorn tries to wrap his head around all the various rules implementations... is Perl6::Rules relavent at all any more?
17:54 putter the p6 summaries reach a far larger audience which has far less perspective
17:55 pdcawley Arathorn: Probably not.
17:55 audreyt Arathorn: I have a quaint hope of resurrecting Perl6::Rules somehow using re::override::PCRE
17:55 audreyt Arathorn: but it's not going to happen until I meet Damian in Tokyo.
17:56 audreyt and it might be irrelevant by then.
17:56 audreyt (but might still be relevant.)
17:56 Arathorn i didn't realise that PCRE could be used for a perl6 rules-style engine...
17:56 audreyt Arathorn: Perl6::Rules compiles p6rules to p5re
17:57 audreyt p5re blows the stack and kills the pad and destroys the heap
17:57 audreyt after 5.8.3
17:57 audreyt pcre probably doesn't do that.
17:57 fglock lrep now recompiles and restarts itself :) $who_dit_it++
17:57 audreyt fglock++
17:57 audreyt dinner, I'll be back in 30mins (if we havn't hit singularity by then)
17:58 Arathorn audreyt: right - thanks yet again for clarification
17:58 svnbot6 r9448 | pmurias++ | xgrammar2p6:
17:58 svnbot6 r9448 | pmurias++ | pulling the xpath-grammar for w3c
17:58 svnbot6 r9448 | pmurias++ | not sure about the dtd copyright assuming it's the same as the grammars
17:58 Arathorn (and apologies for being the token clueless newbie :)
17:58 putter pdcawley: for example, the re::optimize stuff:  I hadn't set up the full environment on pugs svn because I didnt consider the code stable enough for other _pugs_ developers to usefully hack.  very very buggy and incomplete.  but now it's a "cpan module".  a fact I would really really really like to go as unnoticed as possible until it's not "of course split() doesnt work and it always segfaults".
17:59 pdcawley Heh.
18:00 fglock pdcawley: did you see the mail(s) about lrep in p6-c?
18:00 * putter feels like cannonical programmer whose sales force promises the client the as yet nonexistant software will ship next monday.
18:00 pdcawley Um... I've been skimming like a demon.
18:01 pdcawley I tend to read more carefully when i come to write the summary.
18:01 pdcawley Been busy with $work and $ruby_project these past few weeks.
18:03 fglock pdcawley: #1331 and #1333 at http://www.nntp.perl.org/group/perl.perl6.compiler
18:07 ruz joined perl6
18:07 pdcawley So, it's not very good at all yet, but it's self hosting and it can handle perl 6 rules?
18:07 audreyt putter: CAVEATS in override.pm would be appropriate I think
18:07 pdcawley But, you know, wow.
18:09 putter pdcawley: the re::override "perl literal regexp compilation and execution is handled with perl sub callbacks" is a very very crude development snapshot.  it's just a hook, for connecting to some engine.  audreyt can tell you about the PCRE engine, and fglock about the lrep engine.
18:09 audreyt putter: personally I think version 0.0x carries the meaning of "it can randomly fail and change API rapidly" thing
18:10 nothingmuch sri_: this bsastard?
18:10 fglock pdcawley: yes - it compiles it's own grammar - so you can extend it using only itself (change grammar, add primitives) - but still a proof-of-concept - it needs more structure
18:10 * pdcawley shall probably pop up with more questions when he starts actually writing the summary.
18:10 audreyt pdcawley: also, I'm thinking using the haskell-pugs to emit perl5 code until the bootstrapping-perl6 compiler handles itself
18:10 fglock pdcawley: which is what we are working on
18:11 putter audreyt: re 0.0, k.  re CAVEATS, or even WARNINGS, just in case they don't do latin ;)
18:11 audreyt pdcawley: so it's not "self-hosting compiler for perl 6" at this moment, more like "self-hosting compiler for a subset of rules (and an even smaller subset of perl 6 required to construct rules)"
18:11 putter (it is latin, isn't it... maybe? eh)
18:12 pdcawley A self hosting Perl 6 kernel?
18:12 audreyt putter: the usual jargon is CAVEATS I think.
18:12 putter ok :)
18:12 pdcawley Has the potential to grow, but right now it's really, really tiny.
18:12 fglock pdcawley: yes
18:12 audreyt pdcawley: a perl 6 rule engine that uses itself to parses itself and compiles to perl 5. :)
18:12 pdcawley Can you write its tests in Perl 6 yet?
18:12 audreyt (any perl6 construct it supports is coincidential at this moment)
18:13 audreyt pdcawley: sure, it's in ./Pugs-Compiler-Rule/t6/iterator_engine.p6 eg
18:13 pdcawley 'cos when and if you can do that I'm sure it'll make chromatic very happy. (It'll certainly make me happy'
18:13 audreyt pdcawley: but it can't compile Test.pm - far from it.
18:13 audreyt still need the Hs versino for that at the moment.
18:13 fglock pdcawley: it's a bootstrapping proof of concept
18:14 pdcawley I shall try and make time to have a play.
18:14 sri_ nothingmuch: heh :P
18:16 sri_ nothingmuch: Sriram Ramkrishna stole my nick!
18:16 pdcawley The bastard!
18:16 nothingmuch oh, 'sri' ?
18:17 sri_ yea
18:17 nothingmuch aha
18:17 Kattana joined perl6
18:17 Arathorn /ns ghost?
18:17 nothingmuch well, you can trick him into giving you his IDENTIFY string, and then changing it
18:17 nothingmuch like, tell him:
18:17 nothingmuch "hey sri, this is you, but from the future"
18:18 nothingmuch "i've come to warn you that your mother is going to win the lottery and remove you from her will if you don't be nicer to her"
18:18 nothingmuch "on the other hand, I know how to fix it, so let me have your IDENTIFY string, so that I can /msg her"
18:18 sri_ thats brilliant
18:18 nothingmuch try it =)
18:18 sri_ but what if he asks me questions only he can answer?
18:19 nothingmuch well, tell him you're 40 years into the future, and you forgot
18:19 nothingmuch also, thgat makes more sense since it'll take a while till time machines are invented
18:19 nothingmuch he's not even in any channel
18:19 nothingmuch maybe he's willing to just give up the nick in a friendly way?
18:20 Arathorn shame that freenode nicks don't expire through lack of use
18:20 sri_ no he isn't
18:21 sri_ what if he asks me for his eye color?
18:22 ingy brown
18:22 sri_ and hair?
18:22 marmic joined perl6
18:22 ingy dude, c'mon
18:23 ingy you know all this
18:23 audreyt ingy: Module::Compile::Toolkit
18:23 ingy ?
18:23 ingy Module::Compile::Yagni
18:23 audreyt http://search.cpan.org/dist/Toolkit/
18:23 nothingmuch sri_: tell him you underwent plastic surgery and are sufferring from amnesia
18:24 nothingmuch and that on the way you also developed a german accent
18:24 sri_ i could be his clone from the future
18:24 audreyt also http://cpanratings.perl.org/dist/Toolkit
18:24 nothingmuch yes!
18:24 sri_ with no memories
18:24 audreyt seems perfect for MCization
18:24 nothingmuch and blind!
18:24 nothingmuch oh wait
18:24 audreyt I'll do it now
18:24 nothingmuch what if he asks about the size of your penis?
18:24 nothingmuch oh i know, tell him you answer spam
18:25 sri_ :)
18:25 fglock joined perl6
18:25 nothingmuch wait, this is #perl6, not #catalyst... we're supposed to be PG rated ;-)
18:25 sri_ jerk it!
18:25 sri_ :(
18:25 ingy :(
18:26 nothingmuch yeah, we need a purl to dirty things up
18:26 wolverian it feels empty here..
18:26 ingy putter: jerk it!
18:26 nothingmuch err
18:26 nothingmuch i mean, to remember important factoids
18:27 ingy clkao: ping
18:27 netanya_guy left perl6
18:28 nothingmuch ingy: jerk it!
18:29 clkao ingy: ?
18:29 sri_ he must be broken
18:29 ingy clkao: you gave me a great idea!
18:29 clkao which is.. ?
18:29 putter ingy:  ?
18:29 ingy nothingmuch: DICKS orz
18:30 ingy clkao: http://pause.perl.org/incoming/orz-0.10.tar.gz
18:30 nothingmuch what's orz?
18:30 ingy clkao: my first Module::Compile based module
18:30 nothingmuch oi vey
18:31 audreyt ingy: ok... that's the new "=begin broken...=cut"
18:31 audreyt very clever
18:31 audreyt ;)
18:31 ingy s/oi vey/orz/
18:31 clkao sto
18:32 Ara4n joined perl6
18:32 ingy use orz;
18:32 clkao now, we just need a module to seamlessly reuse  existing s-filter modules
18:32 audreyt ingy: it doesn't work with 0.10
18:33 audreyt clkao: I'm writing _exactly_ that.
18:33 audreyt clkao: it steals Filter::Simple::FILTER
18:33 clkao eggcellent
18:33 ingy audreyt: it requires 0.11
18:33 clkao *nod*
18:33 audreyt and rewrites it to register the closure
18:33 audreyt all your filters are belong to M::C
18:33 clkao *nod*
18:33 ingy audreyt: !!
18:33 ingy wow
18:34 clkao t/compile....Can't locate object method "compile" via package "orz" at /Library/Perl/5.8.6/Module/Compile.pm line 177, <INPUT> line 6.
18:34 ingy didn't it tell you to install 0.11?
18:34 audreyt it didn't
18:34 audreyt clkao: you need the M::C in pugs r9449
18:34 svnbot6 r9449 | audreyt++ | * M::C - upgrade to 0.11
18:34 audreyt or cpan 0.11
18:34 ingy M::I sucks orz
18:35 nothingmuch beer!
18:35 audreyt ingy: no, because I bumped version in pugs/perl5/
18:35 audreyt ingy: my fault. won't happen again
18:35 ingy oh
18:35 clkao whoot. it also creates plc
18:36 clkao horray
18:36 ingy does that work ?!
18:36 clkao yes
18:36 ingy I guess I don't need to diable .pl as I thought
18:37 ingy disable
18:37 clkao but require 'foo.pl' doesn't load foo.plc
18:37 audreyt it doesn't work ;)
18:37 audreyt it's just illusion
18:37 audreyt if you uninstall orz.pm
18:37 clkao XSD
18:37 audreyt then the .pl will break
18:37 clkao ya
18:38 Limbic_Region joined perl6
18:38 audreyt ingy: you probably need to disable if caller's file is not .pm.
18:38 audreyt too confusing otherwise.
18:39 ingy that was my plan...
18:39 audreyt or at least, don't write the .plc
18:39 audreyt just evaluate it in memory, or something
18:39 ingy ok
18:40 audreyt have a restrictive default handler (that dies) in M::C and allow the compiler to override?
18:40 audreyt anyway, your call :)
18:40 ingy I'll have an unrestrictive handler that doesn't die but allows override :)
18:41 audreyt sure :)
18:42 audreyt v6.pm will assume .p6 extension and turn it to compiled .pl, I think. least confusion that way
18:42 stevan FYI, gobby darwinports sucks
18:42 ingy hi stevan
18:42 stevan heya ingy
18:43 audreyt stevan: sucks, as in it doesn't install?
18:44 stevan as in, it compiles for like 3-4 hours and then breaks on like the last part
18:44 audreyt awww
18:44 stevan yeah
18:44 stevan oh well
18:44 stevan still have SEE :)
18:44 nothingmuch i think the nicest idea is to take gobby
18:44 audreyt stevan: the Module::Compile crack is now on the market :)
18:44 nothingmuch and to take SEE reverse engineering stuff
18:45 nothingmuch and have something along the lines of 'orgy.pl file'
18:45 Limbic_Region audreyt - is build still b0rk on Win32?
18:45 stevan audreyt: yes, I saw
18:45 nothingmuch and then the orgy server will accept connections from any client
18:45 audreyt Limbic_Region: shouldn't be.
18:45 audreyt Limbic_Region: is it broken for you?
18:45 svnbot6 r9450 | fglock++ | Emitter/Rule/Perl5.pm - removed obsolete hack
18:46 Limbic_Region audreyt - it was doing an svk pull; perl Makefile.PL; nmake
18:46 Limbic_Region but I am doing a build from scratch
18:46 Limbic_Region just to be sure
18:46 audreyt ok. how did it fail? still in Pugs::Compiler::Rule?
18:46 Limbic_Region hang on
18:47 Limbic_Region sorry, my scroll back doesn't go that far
18:47 audreyt k
18:47 Limbic_Region will be about 20-30 minutes before I know if it was just do to the previous days problems
18:47 audreyt k
18:48 nothingmuch mmm pretty nicing beer mmm
18:48 audreyt woohoo
18:49 audreyt Sasada-san will be in YAPC::Asia!
18:49 fglock audreyt: capturing to $match->{match}[0] is weird, but the result seems correct; the emitter source code seems correct; it looks like a weirdness in ruleop::concat, in Runtime::Engine.pm
18:49 * audreyt wants to get the object space ported to YARV
18:50 stevan audreyt: speaking of objectspace,.. we need to chat on that
18:50 audreyt matz/sasada and larry/dconway in the same room would be so cool.
18:50 audreyt stevan: ok. SEE?
18:50 stevan sure
18:50 fglock audreyt: when ruleop::concat operates on a list of matches, it constructs the resulting capture in [0]
18:50 audreyt stevan: have a public IP?
18:51 stevan audreyt: sorry no :(
18:51 audreyt ok, I'll do portforwarding
18:52 fglock audreyt: this is a bit hard to fix - need to find out what the correct structure would look like, and then work it out backwards...
18:52 GabrielVieira joined perl6
18:52 audreyt fglock: ok - you know my "resulting" structure in match.txt
18:52 audreyt fglock: the "str" is now "capture"
18:52 amnesiac joined perl6
18:52 audreyt but otherwise is the same
18:52 audreyt fglock: as for intermediate structure, yeah, seems to require some thinking
18:55 fglock audreyt: original reason to implement this way was: the result from concat was a tree - and this way it can be flattened. maybe it should actually be a tree - [x,y,z] vs [x,[y,[z]]] - that's the transform that concat does (wrongly)
18:56 Muable joined perl6
18:57 audreyt *nod*
18:57 audreyt stevan: perlcabal.org
18:57 audreyt see://
18:58 audreyt Juerd: a lot of tcpxd is running on feather now.
18:58 audreyt covering port 2222 5900 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951
18:58 ingy interesting that M::C can be used as a better F::U::C in .pl file even if it can't cache
18:58 audreyt and also 12222 15900 (etc)
18:58 audreyt SubEthaEdit-- # uses too many ports
18:58 audreyt ingy: yes!
18:58 audreyt ingy: because they are composable
18:59 stevan audreyt: not working
18:59 audreyt and we can even provide an upgrade shim for F::S users
18:59 ingy nice word
18:59 audreyt stevan: see 2.3?
18:59 stevan yes, freshly downloaded yesterday
18:59 audreyt ingy: can you host us?
18:59 audreyt on freepan.org
19:00 stevan pleeeeeessseeee Ingy?
19:00 fglock audreyt: lib/Pugs/Runtime/Rule.pm, lines 134-149, in case your brain has some free cycles
19:00 ingy host whu?
19:00 audreyt fglock: I'm already 5-way multiplexed
19:00 ingy sure
19:00 audreyt ingy: SEE session
19:00 ingy oh
19:00 ingy yeah ok
19:00 audreyt thanks!
19:01 ingy what is the file name?
19:01 fglock audreyt: np!
19:01 audreyt mm3.txt
19:01 audreyt whatever :)
19:01 audreyt fglock: I'll be back :)
19:02 audreyt stevan: it's on
19:02 audreyt see://freepan.org
19:02 stevan we are waiting for you audreyt ;)
19:03 ingy audreyt, stevan: http://rafb.net/paste/results/21h4Yy70.txt
19:03 ingy for future reference
19:03 audreyt k
19:06 svnbot6 r9451 | ingy++ |  r5504@bytes:  ingy | 2006-03-12 10:50:32 -0800
19:06 svnbot6 r9451 | ingy++ |  0.11 & 0.12
19:09 svnbot6 r9452 | ingy++ |  r5512@bytes:  ingy | 2006-03-12 11:08:18 -0800
19:09 svnbot6 r9452 | ingy++ |  0.12 release
19:15 dug_h joined perl6
19:20 fglock audreyt: lib/Pugs/Runtime/Rule.pm, lines 196 - this may be the actual problem - '(..)' is only recorded to the capture object - it does not affect the match itself
19:23 Limbic_Region audreyt - lost track of time
19:23 Limbic_Region still b0rk
19:23 Limbic_Region will nopaste
19:23 Limbic_Region perlbot nopaste
19:23 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
19:24 * fglock remembers to run make if he wants -Iblib to work
19:24 pasteling "Limbic_Region" at 24.35.57.240 pasted "Win32 build currently b0rk for me" (52 lines, 2.9K) at http://sial.org/pbot/16273
19:27 Juerd audreyt: Wow, what is all that used for?
19:27 fglock audreyt: I think it's fixed
19:34 svnbot6 r9453 | fglock++ | Pugs/Runtime/Rule.pm - '(...)' captures both to the 'match' and 'capture' keys - this seems to give a saner match tree
19:34 svnbot6 r9454 | putter++ | Setting up for re::override 0.03 release.
19:34 svnbot6 r9454 | putter++ | override.pm - tweaked pod to better describe the "state of the code".  Feel free to change of course.  Dropped myself from AUTHORS.
19:34 svnbot6 r9454 | putter++ | Changes - Changed implementation credit to "The Perl6 team".
19:34 diotalevi joined perl6
19:35 macroron joined perl6
19:36 macroron #perl6 :[freenode-info]
19:37 ingy good night all
19:37 fglock perl -e "use strict; $putter++"
19:44 rafl Juerd: ping
19:44 rafl Juerd: How about froscon?
19:44 rafl Juerd: The cfp ends this wed.
19:44 nothingmuch Juerd: ping too
19:46 ingy my bad
19:46 ingy audreyt: can you reconnect?
19:47 audreyt ingy: it's done anwyay
19:47 audreyt thanks for the hosting
19:47 ingy oh good
19:47 ingy I shut the old laptop
19:48 fglock audreyt: the structure looks ok now - there is a new Runtime/Rule.pm
19:49 audreyt cool
19:49 * audreyt just synced the MMp5 and MMpir plan with stevan++
19:49 stevan :)
19:50 audreyt stevan: with the `prim form gone, we can write p6 with _any::defined() etc syntax and just emit them as prim calls using special rules in the emitter
19:51 audreyt that will allow writing bootstrapping code in (still technically legal) p6
19:51 audreyt fglock: ok, checking
19:51 Juerd rafl: I'm tuitless to organize something.
19:52 Juerd rafl: I still like the idea, but unless others do have the tuits to make it happen, forget about it
19:52 audreyt fglock: have you started looking at match::str?
19:52 Juerd nothingmuch: pong
19:52 stevan audreyt: yes, that is quite true :)
19:52 * stevan heads out,.. thanks &
19:52 Juerd audreyt: Does "use v6-Pugs" compile Perl 6 code to Perl 5 code, or to Perl 5 bytecode, or...?
19:52 fglock audreyt: no - will look - do you have some test case?
19:53 nothingmuch Juerd: Premshree Pillai needs pugs help, but is stuck with blocked IRC
19:53 nothingmuch please coordinate on p6c about a feather account
19:53 Limbic_Region audreyt - did you get the nopaste?
19:53 nothingmuch also, is feather's port 443 ssh or https?
19:53 * Limbic_Region has been working on posting new pics to his website and hasn't been paying attention
19:53 Juerd nothingmuch: I'm not on p6c, and people needing a feather account can only request it by email.
19:53 audreyt fglock: preparing one for you
19:54 Juerd nothingmuch: And by emailing me, not a mailinglist.
19:54 Juerd nothingmuch: https; it was ssh by accident (miscommunication)
19:54 nothingmuch Juerd: that was audreyt, i think ;-)
19:55 audreyt fglock: I'll work on blessing struct; please take a look at the now-failing 04
19:55 audreyt (match::str)
19:55 audreyt r9455
19:55 svnbot6 r9455 | audreyt++ | * switch stringification to match::str() so fglock gets a test case.
19:55 nothingmuch Juerd: i will privately send him your email, unless his port 22 is also blocked, in which case i'll give him an account on my box first (port 443 is ssh), and he can ask for whatever later
19:56 Juerd nothingmuch: One can irc through https using feather
19:56 Juerd nothingmuch: There's web irc on https, for authenticated users
19:57 nothingmuch he said he didn't want to use a web proxy
19:57 nothingmuch we'll sort it out somehow =)
19:57 nothingmuch then i can get back to my reading
19:58 Shachaf joined perl6
20:00 Shachaf left perl6
20:03 Daveman joined perl6
20:07 svnbot6 r9456 | audreyt++ | * re::override: add more CAVEATS to docs.
20:08 puetzk joined perl6
20:10 svnbot6 r9457 | audreyt++ | * repo-cp re-override to re-override-PCRE in preparation for split
20:12 putter back
20:12 Ara4n do the pcre guy(s) know of the plan to make it accessible to p5, ooi?
20:13 audreyt putter: I'm ready to split perl5/re-override/ with perl5/re-override/PCRE/ -- would you be okay about checking in fixes to re-override/, or should I merged from pX?
20:13 putter fixes?
20:13 putter oh,
20:13 audreyt and new features.
20:14 audreyt Ara4n: no idea... why?
20:15 Ara4n just wondered - philip hazel seems like a pretty cool guy (at least from the perspective of exim)
20:15 Ara4n and i'd be interested to know if he'd had any comments about the idea of perl being able to use the, well, perl compatible...
20:16 putter I'll sync pX from my working file, and you do whatever.
20:19 svnbot6 r9458 | audreyt++ | * re-override: remove PCRE from its tree
20:19 audreyt ok. let me know when you feel comfortable about cpan release; I've rescinded it from PAUSE
20:20 audreyt sorry for misinterpreting your wish while you were away
20:20 audreyt I'll put re-override-PCRE by itself on CPAN, noting that currently you'd need a pugs checkout to get the re::override code.
20:20 obra . o O {Perl Core Regular Expressions }
20:21 * Ara4n rolls eyes
20:21 audreyt putter: does that sound okay?
20:21 obra audreyt: ship a copy of re-override in inc or ex?
20:21 obra with a noindex.
20:22 obra just so that someone with a cpan snapshot doesn't lose on a dependency entirely if ossf goes away for a while or something?
20:22 audreyt mm
20:22 audreyt easiest if I don't upload r::o::PCRE either. :)
20:23 Juerd http://perlmonks.org/index.pl?node_id=536132  # "Module::Compile (or: what's this PMC thingy?)"
20:23 Juerd Too many people asked, so I wrote this short writeup
20:23 Juerd If I said something that isn't exactly really entirely true, please let me know. I don't understand all of it yet :)
20:25 fglock audreyt: I wrote a private _str() in Match - all tests pass
20:25 svnbot6 r9459 | fglock++ | Pugs/Runtime/Match.pm - all tests pass
20:25 audreyt fglock: woot!
20:25 fglock audreyt: please try to break it :)
20:25 audreyt will do
20:27 putter sync in, r9460
20:27 svnbot6 r9460 | putter++ | Regexp-ReplaceEngine.pm - sync with my development copy.  This revision has not gone through my usual pre-sync sanity checking, and thus may be even noisier and flakier than usual.  Some memory management improvements.  Beginnings of minend and thus of split() support.
20:29 lumi stevan: ping
20:31 stevan lumi: pong
20:33 svnbot6 r9461 | audreyt++ | * re_override.c is now override.xs.
20:34 lumi stevan: What problem did you have with gobby? I'm having trouble with the port as well, gmp-related
20:35 lumi I'm communicating with the port maintainer
20:35 putter "Some memory management improvements.", ha.  == "Doesn't segfault as constantly.  Leaks like mad." ;)
20:35 audreyt . o O (leaks like MAD)
20:35 putter lol # oy
20:35 obra   . o O { leaks xml }
20:36 stevan lumi: I dont recall at what point it broke,.. very close to the end (about 4 hours into the compile
20:36 stevan obra: you might want to see a urologist about that :P
20:36 lumi I'll let you know if it wfm (I'm gonna build a binary, too)
20:37 stevan lumi: cool thanks :)
20:37 obra stevan: no. that's when it's leaking namespaces
20:37 bsb joined perl6
20:38 audreyt putter: btw, "ulong" should be "unsigned long" no?
20:40 fglock it's all set for a Pugs hackaton at YAPC::Brasil - apr. 22
20:42 svnbot6 r9462 | audreyt++ | * override.xs: integrate putter++'s code, and hand-applied the
20:42 svnbot6 r9462 | audreyt++ |   pTHX_ and ulong fixes.
20:43 azuroth I hate managing projects and deadlines :'(
20:44 obra right there with you, azuroth
20:45 Limbic_Region audreyt - is Module::Install now required for Pugs?
20:45 Limbic_Region that's what it is barfing on ATM
20:45 azuroth hmm. maybe I should just tell teachers that what we're handing in is what we're getting feedback from the client on. bwilliant.
20:45 Juerd I'd love to manage projects, and get paid for it.
20:46 Limbic_Region and if so, it probably should be tickled at perl Makefile.PL not during nmake phase
20:46 Juerd Then at least I could be in touch with coders, which is much closer to actual coding than what I do now.
20:46 * Limbic_Region installs the module just to see if that is all that is wrong
20:46 putter re ulong - it's all debugging code.  gdb and perl -d were being unhelpful, so I'm back in printf debugging land.
20:48 azuroth Juerd: want to come manage my TAFE project? I'll pay you $10 a week!
20:49 Juerd I'm not going to do anything for $10/week
20:49 putter (I do use "int" too freely.)
20:49 putter tests?
20:49 azuroth not even turn your taps off?
20:49 * fglock realizes Match is almost done - audreyt++
20:51 audreyt putter: tests, as in the "alive" tests
20:51 svnbot6 r9463 | audreyt++ | * re::override and re::override::PCRE split complete - tests pass again
20:51 audreyt "match?" tests
20:57 svnbot6 r9464 | audreyt++ | * re::override - remove pcre-specific sanity tests.
20:57 putter out-of-band recap - Regexp-ReplaceEngine.pm has no checked in tests.  just a couple of demos so anyone who perl -w'ed the file would get some positive feedback for their curiosity.  To test it, I use mutant versions of the regexp engine spike and of some p5 t/op/ test files.  all of which has been too unstable to be worth checking in.
20:57 audreyt yeah. and I'm wondering when, and whether, to release re::override::PGE/PCRE/Pugs/etc to the world
21:01 audreyt my hypothesis is that, even with a flaky and sometimes-segfaulting plugin, if people can use Rules in their p5 programs without too much hassle, more people would be interested in hacking rules support, and perhaps perl6, and perhaps also improve the flakiness
21:01 putter re the hook, too recap, within the last week or so, I was at the point of chucking the project as an "too hard to be plausible" experimental spike.  I still characterize it as speculative - may work out, may not.  starting to be tempted to think "this might be real", but resisting until a few more things work.  even then, there is enormous "well, yes, sort of, but just can't fly for real" potential.
21:01 Limbic_Region audreyt - after installing Module::Install (which should be found at perl Makefile.PL as a dependency) - I am now shit out of luck as they say
21:01 Limbic_Region include inc/Module/Install/Can.pm This module requires a C compiler at Makefile.PL line 17.
21:01 putter hmm... # re when
21:01 Limbic_Region so on Win32 - folks got to have a C compiler now?
21:02 audreyt Limbic_Region: where is the bug?
21:02 vike joined perl6
21:02 audreyt Limbic_Region: I mean, which dir are you in?
21:02 audreyt Limbic_Region: no, definitely not
21:02 Limbic_Region pugs build directory
21:02 Shachaf joined perl6
21:02 Limbic_Region audreyt - I first discovered that it was failing because Module::Install wasn't installed
21:02 audreyt Limbic_Region: right. it shouldn't be needed
21:03 Limbic_Region ok - so do I need to do anything more from this end
21:03 Limbic_Region ?
21:04 Juerd audreyt: The problem is that most users are incapble of understanding, let alone fixing, segfaults
21:04 Juerd audreyt: They are scared by it, and the typical reaction is avoidance.
21:04 Shachaf left perl6
21:04 Juerd audreyt: Random errors, even incomprehensible, will more easily be accepted than segfaults.
21:06 * putter pauses for freenode net chaos...
21:07 audreyt Limbic_Region: fixed
21:07 pmurias audreyt++,fglock++ for creating something my xquery grammar will run on
21:07 svnbot6 r9465 | audreyt++ | * not going to release re::override::* any time soon, so disable the Makefile.PLs
21:07 mako132_ joined perl6
21:08 audreyt Juerd: indeed. I've disabled both modules now
21:08 audreyt Limbic_Region: try again?
21:09 Limbic_Region k
21:09 drbean joined perl6
21:09 stennie joined perl6
21:09 r0nny joined perl6
21:09 rgs joined perl6
21:09 saorge_ joined perl6
21:09 Khisanth joined perl6
21:09 binary42 joined perl6
21:09 osfameron joined perl6
21:09 mj41 joined perl6
21:09 jiing joined perl6
21:09 mako132 joined perl6
21:09 kane-xs joined perl6
21:09 wilx joined perl6
21:09 miyagawa joined perl6
21:09 shric joined perl6
21:09 knewt joined perl6
21:09 obra joined perl6
21:09 xerox joined perl6
21:09 kcwu joined perl6
21:09 sri_ joined perl6
21:09 locksy joined perl6
21:09 perlbot joined perl6
21:09 pmurias is it possible to create parameterized grammars?
21:10 fglock audreyt: re Pugs-Compile-Rule - what's the plan?
21:10 fglock pmurias: what you mean?
21:11 pmurias like with c++ templates
21:11 fglock pmurias: you can use a perl program to generate a Grammar source, and then compile that (but I'm not familiar with c++ templates)
21:12 fglock pmurias: you can even use a template system to generate a grammar...
21:12 putter 1st thought - the backends, which handle pcre/pge/pugs/whatever, should be their own modules.  one of the problems with common Inline::Foo design was too tightly coupling backend with front-end api.
21:12 arcady the question is, parametrized on what?
21:13 putter folks might want to call pge via a regexp compilation hook, or via source filters, or just using normal method calls.
21:13 audreyt putter: Pugs::Compiler::Rule is the rule; Regexp::PCRE and Regexp::PGE would be the module
21:14 audreyt putter: re::override::* would be just the bridge
21:14 putter So pge/pcre/whatever can proceed at full steam.  it's not coupled with the tentative (pause)
21:14 putter right.
21:15 * audreyt ponders a source filter based solution
21:15 dvtoo joined perl6
21:15 pmurias fglock: the xquery grammar I'm proccesing can handle multiple languages, some nodes have an if="language-name" and there are only used when language-name is proccesed
21:16 audreyt hard to see how that'd work.
21:16 putter so the only question is whether to say snarf the Perl6::Rules source filter and build a filter front end, or wait hoping the regcompp hook will pan out.  and what threshold to use for pan out.
21:16 Limbic_Region audreyt - good news and bad news - which do you want first?
21:16 audreyt Limbic_Region: bad
21:16 pmurias i wanted to know if generating multiple grammars is the best way to translate it perl
21:16 pmurias ?
21:16 Limbic_Region bad news is that my nmake realclean apparently didn't work
21:17 Limbic_Region cause the good news is it works now and was way too fast to build
21:17 Limbic_Region so forget the bad news ;-)
21:17 audreyt putter: P6::R worked because it compiles p6rule to p5re
21:17 audreyt putter: but none of pge/pcre/pugs do that
21:17 audreyt I wonder how does it help us
21:18 audreyt unless we can magically generate a re that has full control over the matching and result
21:18 audreyt R::ReplaceEngine is the only magic of this kind I'm aware of... am I missing something?
21:19 putter but some effort was put into "find the regexps in the code".  I actually dont know how much effort.  And I think I have some draft stuff somewhere which attempts the same thing.  but would be nice to avoid that work.
21:19 putter re magic... see bsb :)   specifically,
21:20 fglock pmurias: I don't know how to properly say this in p6, but: rule xxx { ... } if $lang ~~ /name/; - I don't know how to declare a sub conditionally
21:20 putter http://www.perlmonks.org/index.pl?node_id=531465
21:21 audreyt fglock: what does "not a match" do?
21:21 audreyt s/mean/
21:21 audreyt s/do/mean/
21:21 putter bsb++
21:21 fglock pmurias: but this works:  rule xxx { <%lang> }
21:21 fglock audreyt: it is not reachable
21:22 fglock pmurias: but <%lang> not implemented yet
21:22 * Limbic_Region kisses audreyt again for fixing his problems without a whole lot of help
21:22 * Limbic_Region calls it a day
21:22 audreyt fglock: I reached it :/
21:22 putter In fact, it was his magic which actually got me motivated to try the hook, by demonstrating there was more magic around than I thought, and that there was a potential fallback position for transparent regexp overriding on p5.
21:23 fglock audreyt: can you write a new test?
21:24 audreyt fglock: committing
21:24 damog joined perl6
21:25 svnbot6 r9466 | audreyt++ | * P::C::R - add a test that triggers "not a match"
21:26 audreyt putter: so the src filter needs to construct a regexp that has the correct parens count
21:26 putter yes.
21:26 putter source filter should probably actually call the compiler and just ask it.
21:27 audreyt there's no reason why re::override and re::filter cannot share a common backend api.
21:27 audreyt and re::filter can use M::C to compile itself away.
21:28 audreyt ok. I'm coding re::filter up now.
21:31 audreyt fglock: ping
21:31 putter re common backend api... maybe, but I'm not sure it's worth worrying about.  the glue code between a Match tree and the current hook is just a couple of lines of perl.  and the two have different needs (pause)
21:31 putter re coding re::filter up now, ok, some caveats,
21:33 Shillo joined perl6
21:35 putter hmm... dont remember the caveats.  started coding up a bsb-esque regexp generator, looking for it...
21:36 audreyt fglock: in the {match} structure, how do I tell named apart from positional?
21:36 audreyt fglock: look at their own captures?
21:38 fglock audreyt: sorry, was looking at Match.pm
21:39 audreyt ok
21:39 fglock audreyt: array should look into the {match}, not the {capture}, I think
21:39 svnbot6 r9467 | pmurias++ | cleanup
21:39 svnbot6 r9467 | pmurias++ | all quntifiers now generated by a single routine
21:40 fglock audreyt: positional are mixed with named, except the name is ''
21:41 audreyt fglock: ok. did you find out the unreachable?
21:41 audreyt fglock: btw I implemented %{} and @{}.
21:42 fglock audreyt: yes - it happens because it reaches an array ref : [ '' => 'x', 'y' ]
21:42 audreyt (r9468)
21:43 svnbot6 r9468 | audreyt++ | * Mathc.pm: @{} and %{} returns blessed submatches.
21:43 mj41 joined perl6
21:43 audreyt fglock: ok, I think nesting is the only showstopper now
21:43 putter fribble.  if it ever hit disk, I dont see it. :(
21:43 fglock audreyt: I'll re-check my fix in the Engine...
21:44 audreyt putter: don't worry about it... I still think XS-based override.xs is the way to go, but with Module::Compile, the src-filter based approach is now less undesirable
21:46 fglock audreyt: in Runtime/Rule.pm - line 196,197 - that's what  'capture' does - can you see if it makes sense?
21:47 audreyt fglock: well, the "capture" is conceptually $() ?
21:47 svnbot6 r9469 | audreyt++ | * Pugs::Compiler::Rule - not going to become a re::override plugin
21:47 svnbot6 r9469 | audreyt++ |   any time soon; rescind the directory
21:47 audreyt if so, I don't see why it's set there
21:48 fglock audreyt: yes - but the capture command also puts a 'mark' in the match ("here happened a capture")
21:49 audreyt yeah. I grokked the logic
21:49 audreyt but it's kinda dangerous
21:49 audreyt because a "return" can return a Car
21:49 audreyt instead of anything resembling a marker
21:50 fglock audreyt: a return will only modify 'capture' - not 'match'
21:50 audreyt right. what I mean is
21:50 fglock audreyt: the are parallell processes
21:50 audreyt /.(.)./  and /.../
21:50 audreyt both should yield the same $()
21:51 audreyt but their "capture" structure differ under the current implementation
21:52 fglock audreyt: you mean ~$() ? - the error is mostly like because I didn't understand $()
21:52 audreyt fglock: er no, I mean $()
21:52 audreyt if I match both against "abc"
21:52 rindolf joined perl6
21:52 audreyt both $() should be just "abc"
21:53 rindolf Hi all!
21:53 audreyt and in the first cast, $0() will be "b"
21:53 audreyt the second case, there will not be a $0
21:53 rindolf I'm porting a program I wrote from perl5 to perl6, and experiencing some problems.
21:53 audreyt think $() as the old $&
21:53 rindolf perlbot: paste
21:53 perlbot Paste your code and #perl will be able to view it: http://sial.org/pbot/perl http://dragon.cbi.tamucc.edu:8080 http://erxz.com/pb
21:53 audreyt not as a deep structure affected by capturing
21:53 audreyt is perhaps easiest
21:54 audreyt it only becomes a deep structure if {return} returs one.
21:54 fglock audreyt: yes, I certainly misunderstood - but that's easy to fix (my way was much harder)
21:55 audreyt woot
21:55 audreyt fglock++
21:55 audreyt fglock: in Pugs/PGE, the $() slot is empty by default
21:55 pasteling "rindolf" at 88.153.140.201 pasted "pugs errors ( Revision: 8055 )" (13 lines, 477B) at http://sial.org/pbot/16277
21:56 fglock audreyt: so it's like: if there is no return block, return the original string but the tail
21:56 audreyt and if it's empty (that is, really empty), then when it's used it's calculated dynamically with .from .to (i.e. your _str) and cached
21:56 audreyt fglock: so you can model it with a structure that may be undef
21:56 audreyt or a reference to a cached value
21:56 audreyt the "return" sets the ref immediately
21:56 audreyt otherwise it's created on the first $() call
21:56 rindolf Can anyone explain the errors in http://sial.org/pbot/16277 ?
21:56 audreyt makes sense?
21:57 pasteling "rindolf" at 88.153.140.201 pasted "pugs errors ( Revision: 8055 )" (60 lines, 1.5K) at http://sial.org/pbot/16278
21:57 fglock audreyt: it's a small fix in Emitter/Rule/Perl5 line 145
21:57 audreyt rindolf: weird, the bug should only manifest on r9344
21:58 audreyt ~ 9383
21:58 audreyt it's fixed after r9383
21:59 rindolf audreyt: which bug?
21:59 rindolf I'm using http://svn.perl.org/perl6/pugs/trunk
21:59 rindolf audreyt: so should I "svn up"?
22:00 audreyt rindolf: most likely, as your program runs just fine here
22:00 pmurias good night
22:00 rindolf audreyt: OK, I'll try.
22:01 fglock let's say you have 2 strings - $a='123'; $b='23'; - what's a quick way to extract '1' (the difference)? ($b may be empty)
22:01 audreyt fglock: substr :)
22:01 putter errands.  bbl
22:01 audreyt index + substr
22:01 putter audreyt: are we all set?
22:01 rindolf Now I'm at 8159.
22:02 audreyt oh. you are using the svn.perl.org mirror.
22:02 audreyt ok. that's fine. should be the same
22:02 Juerd o/win 22
22:02 Juerd s/o//
22:02 wolverian Juerd, did that work? :)
22:02 putter &
22:03 audreyt putter: I think so. I'd like to note that during the 2 days of mis-release, I did get contributions and bugfixes, and I think as long as we make it clear that it's not for production, CPAN visibility would help getting to the end of the feasibility-probing of this spike.
22:03 Juerd wolverian: :)
22:03 audreyt putter: but it is, ultimately, your call, so I'll yield to you as to when and whether to solicit feedback from the CPAN community.
22:04 audreyt putter: before that I'll freeze all re::override development and focus on other methods.
22:04 Juerd audreyt: I think that the focus shouldn't be "not for production" but "for experiments only"
22:04 audreyt ok. "this is a spike. it may go away."
22:04 Juerd audreyt: To indicate a clue requirement :)
22:05 audreyt nod. if perl5/re-override/lib/override.pm's CAVEAT is not clear enough, feel free to make it more scary :)
22:06 fglock audreyt: all tests pass :)
22:06 audreyt fglock: woohoo!
22:06 fglock audreyt: cleaning up...
22:07 fglock audreyt: there will be a lot more cleanup to do, but it doesn't change the tests
22:09 audreyt putter: currently, the existence of perl5/re-override*/ is somewhat perculiar. I'd like to remove them (and commit back to Common/'s Inline.pm version) if you deem the spike unlikely to succeed, or release them if you deem it hopeful.
22:09 svnbot6 r9470 | fglock++ | Pugs/Emitter/Rule/Perl5.pm - fixed $()
22:10 SamB joined perl6
22:11 audreyt I've removed the mention of re::override from my journals.
22:12 Juerd Isn't that a bit too drastic?
22:12 fglock audreyt: my local Match blesses @{} elements - should I commit this?
22:12 audreyt fglock: sure!
22:13 audreyt Juerd: not really... I didn't backlog careful enough and effectively misappropriated putter's code; I offered to apologize publicly, but putter said it's not neccessary. the least I can do is to contain the damage. (it's already deleted from CPAN earlier.)
22:14 fglock audreyt: no, not all tests pass :( - I had too much debugging info and didn't see the failures
22:15 Juerd audreyt: I see
22:17 borisz joined perl6
22:17 audreyt (in a nutshell; I wasn't aware that putter implied he had uncommitted tests/extensions/etc and the code is not ready for others to use. I blame my english comprehension ability :/)
22:22 larsen joined perl6
22:25 Shachaf joined perl6
22:25 Shachaf left perl6
22:30 svnbot6 r9471 | fglock++ | Pugs/Runtime/Match.pm - less bugs
22:34 svnbot6 r9472 | audreyt++ | * remove re-override and re-override-PCRE from toplevel perl5/.
22:34 svnbot6 r9472 | audreyt++ |   they are now part of misc/pX/Common/, and follows the floor rules
22:34 svnbot6 r9472 | audreyt++ |   as outlined by misc/pX/Common/README.
22:34 svnbot6 r9473 | audreyt++ | * restore Makefile.PL now we are off perl5/.
22:34 svnbot6 r9474 | audreyt++ | * re::override::PCRE: fix Makefile.PL.
22:34 audreyt fglock: I must sleep now -- too fried to think about things -- if you managed to get tests pass, maybe think about a sane sugary API for Pugs::Compile::Rule?
22:34 borisz left perl6
22:34 audreyt fglock: in any case I'll be around tomorrow to get relenging done, and devise a re::filter-based way to use p6rules in programs
22:34 audreyt but now, sleep :) *wave* &
22:34 fglock audreyt: ok!
22:38 rindolf $division_factors is [].
22:38 rindolf I do the conditional
22:38 rindolf if (($division_factors.elems() > 0) &&
22:38 rindolf                ($division_factors.[0] == $p))
22:38 rindolf And suddenly it's [undef,]
22:38 wolverian s,&&,and, # pet peeve
22:38 rindolf Why?
22:38 integral readability.
22:39 arcady fewer parentheses
22:41 fglock audreyt: ping!
22:42 fglock audreyt: why did you bless a ref to the hashref (instead of blessing the hashref)
22:42 rindolf fglock: didn't she go to sleep?
22:43 fglock rindolf: I was just hoping she didn't yet
22:43 fglock rindolf: but I'll try to find out myself
22:44 fglock rindolf: I was chasing a bug that I couldn't access a hash key - but it was not a hashref after all
22:47 Shillo left perl6
22:49 rindolf Hmmm... it seems like a bug to me.
22:52 fglock rindolf: "if it is documented, then it is not a bug" :)
22:53 rindolf fglock: let me nopaste my code.
22:53 fglock rindolf: sure
22:54 pasteling "rindolf" at 88.153.140.201 pasted "My gsf.p6 script. ($division_factors become [undef,] from [])" (50 lines, 1.3K) at http://sial.org/pbot/16280
22:56 fglock rindolf: sorry, it looks difficult debug (I'm already debugging another program)
22:58 rindolf fglock: I'm simplifying it.
23:00 Khisanth joined perl6
23:08 pasteling "rindolf" at 88.153.140.201 pasted "bug.p6" (24 lines, 277B) at http://sial.org/pbot/16281
23:08 rindolf fglock: http://sial.org/pbot/16281
23:09 Daveman shlomi! :o
23:10 rindolf Daveman: hi
23:11 pasteling "rindolf" at 88.153.140.201 pasted "More minimal bug.p6" (19 lines, 227B) at http://sial.org/pbot/16282
23:11 Daveman :)
23:16 fglock rindolf: my guess - && is not short-circuiting, and $d.[0] is being autovivified - try doing the 2nd test inside the first
23:16 rindolf fglock: how?
23:17 fglock rindolf: if $d.elems { if $d.[0] { ...
23:18 rindolf fglock: yes, I understand.
23:18 fglock rindolf: if this one works, then it is a bug
23:18 rindolf fglock: it works now.
23:27 rindolf fglock: so what should I do?
23:33 rindolf fglock: ping.
23:35 rindolf Well, I'm going to sleep.
23:35 rindolf Good night everybody.
23:35 fglock rindolf: ask for someone that could fix it (I can't)
23:36 fglock rindolf: good night!
23:37 rindolf fglock: OK.
23:37 rindolf fglock: bye!
23:38 fglock rindolf: bye!
23:38 fglock rindolf: layla tov
23:39 rindolf fglock: layla tov
23:50 lisppaste3 joined perl6
23:52 rantanplan_ joined perl6
23:57 mako132_ joined perl6
23:57 putter joined perl6
23:57 putter rehi

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

Perl 6 | Reference Documentation | Rakudo