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