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 |