Perl Documentation Project (PDP) BOF
[Note: I've copied a few lists, but all replies should go to the perl-documentation list. Apologies if you receive this message more than too many times.] Open Source Convention (aka The Perl Conference (or reverse())) Date: 07/22/2002 Time: 8:00pm - 10:00pm Location: Grande Ballroom A in the East Tower Moderated by: Casey West, Aaronsen Group Ltd. The Perl Documentation Project (PDP) is my attempt to create a centralized documentation system for Perl like Linux has in it's Linux Documentation Project (LDP). The LDP has been a boon for Linux and I think Perl is lacking in the documentation arena. Well, the most important kind of documentation, problem domain documentation. The goal of this BOF is not to fight over odd implementation details or bicker aimlessly about licenses. Instead this is my opportunity to get the PDP out of my head and into all of yours. In the process I hope to excite you about the project and enlist your help in making it a success. I'll need a wide range of talents for the PDP: writers, web designers, programmers, editors, monkeys, and many more. Anyone can fill a hole if they want to. Please, come to the BOF and see where you fit into this project and find out how it fits into Perl. I'll need some help for this meeting, a good note taker and someone who care record it in a usable format. On or the other will do but both would be best. :-) -- Casey West
Re: hyper operators - appalling proposal
I still feel this adds yet another layer of inconsistency and confusion. I can't look at a piece of code and know what it does, without referring up N lines to the top of the scripts. How is the infinite loop problem any different from other Halting problems? Karl Christian Soeller wrote: > Trey Harris wrote: > >> Yes. This is my fear of hyperoperation being the default for normal >> aggregates. Loops--and large, multiply-nested, potentially-infinite >> ones--can spring out of code that doesn't look loopy at all. Erm... you >> know what I mean. :-) >> >> Karl, do you have any objection to marking aggregates for which >> hyperoperation is to be the default? Then you could say: >> >> my @foo, @bar; # Are the parens required in p6? >> # or >> my (@foo, @bar) is ; # Can you distribute properties? >> <...> >> @foo += @bar; >> >> where is matrix, hyper, or something along those lines (choosing >> great names is Larry, Damian and Allison's jobs, not mine :-) >> >> If we simply made such hyperoperated aggregates builtins rather than >> requiring user-defined classes, this would offer a compromise, would it >> not? > > > This is a good compromise. The numerics person might even be able to say: > > use default => hyperops; # somewhere at the top of your script > @res = @foo * sqrt(@bar); > > while brent and others can do their CGI scripts without having to wait > for the end of the known Perl universe. > >
Re: hyper operators - appalling proposal
At 8:30 AM -0400 7/16/02, Karl Glazebrook wrote: >I still feel this adds yet another layer of inconsistency and >confusion. I can't look at a piece of code and know what it does, >without referring up N lines to the top of the scripts. > >How is the infinite loop problem any different from other Halting problems? It's not, the issue's really with what's better for the common case, which probably won't be PDL stuff. (Unfortunately--I think it's a nifty realm to work in) However... If operator overloading on particular classes doesn't work for you, and you don't want to just redefine the behaviour of an operator for a particular block, there's always the APL route. You've got all of Unicode handy--there's no reason we can't have a pragma that enables alternate characters for the hyperoperators. -- Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Quick Perl 6 regex question
I was reading through the Monastery, and I noticed a node (about the line between what's considered Perl discussion and what's off-topic) that had this regex in it: m:iw/how [do[es]?|can] [I|one] @tasks in @non_perl_languages/ (Yes, people are already using Perl 6 regexes in text. :^) ) Reading this, I noticed a potential problem in :w. To put it simply, what do these expand to? m:w/foo [~|bar]/ m:w/[~|bar] foo/ m:w/[~|bar] [^|baz]/ m:w/@foo @bar/ --Brent Dax <[EMAIL PROTECTED]> @roles=map {"Parrot $_"} qw(embedding regexen Configure) He who fights and runs away wasted valuable running time with the fighting.
Re: Perl 6, The Good Parts Version
On Wed, Jul 03, 2002 at 10:52:58PM +0100, Tim Bunce wrote: > Don't forget Apocalypse 5. > > Personally I believe the elegant and thorough integration of regular > expressions and backtracking into the large-scale logic of an > application is one of the most radical things about Perl 6. How does one explain this to an audience that likely isn't convinced regexes are all that important in the first place? "Sure it's line noise, but it's new and improved line noise!" I may have to avoid the topic of regex improvements unless I can cover it in < 5 minutes. Maybe a quick poll of how many people are using one of the many Perl5-like regex libraries, if there's a high portion then talk about the new regex stuff. Grammars, OTOH, is something I think I'll mention. I also forgot hyperoperators. Also it's likely worth mentioning that perl's method call syntax will switch to the dot making it look more like other languages. Unicode from the ground up is probably also worth mentioning, though I'm not quite sure what forms this will take other than "Unicode will not be an awkward, bolt-on feature". I don't know how Java and Python handle Unicode. -- This sig file temporarily out of order.
Re: Quick Perl 6 regex question
On Tue, 16 Jul 2002, Brent Dax wrote: > I was reading through the Monastery, and I noticed a node (about the > line between what's considered Perl discussion and what's off-topic) > that had this regex in it: > > m:iw/how [do[es]?|can] [I|one] @tasks in @non_perl_languages/ > > (Yes, people are already using Perl 6 regexes in text. :^) ) Reading > this, I noticed a potential problem in :w. > > To put it simply, what do these expand to? > > m:w/foo [~|bar]/ > m:w/[~|bar] foo/ > m:w/[~|bar] [^|baz]/ > m:w/@foo @bar/ A5 says: Another new modifier is :w, which causes an implicit match of whitespace wherever there's literal whitespace in a pattern. In other words, it replaces every sequence of actual whitespace in the pattern with a \s+ (between two identifiers) or a \s* (between anything else). So, since groups aren't identifiers, I imagine [the first] would expand to: m/ foo \s* [~ | bar] / But I could see reason for this: m/ foo [\s* ~ | \s+ bar] / But as your third and fourth case point out, this is not always easy to represent. Perhaps :w wouldn't transform the rexex, but keep "markers" on where there was whitespace in the regex. At each marker, If the last thing it matched was a \w, and it's currently trying to match a \w, match \s+ first, else match \s* first. This could have some problems that I'm not seeing... But I do think the idea would make sense. Luke
Re: Perl 6, The Good Parts Version
On Tue, Jul 16, 2002 at 05:42:18PM -0400, Michael G Schwern wrote: > I don't know how Java and Python handle Unicode. Java has always been 100% Unicode from the ground up; it's in the spec. The fundamental char type is a 16-bit value, you can use any "letterlike" characters in identifiers, there's an escape sequence to include untypable characters in strings, etc. I/O defaults to UTF-8 but you can arrange for other encodings. I don't know about Python. -- Mark REED| CNN Internet Technology 1 CNN Center Rm SW0831G | [EMAIL PROTECTED] Atlanta, GA 30348 USA | +1 404 827 4754 -- You're never too old to become younger. -- Mae West
loop and the super comma
Long have I been a fan of giving pure Perl modules the power to change the rules and create a more built-in look, feel, and functionality. So, of course, I love %MY, I love real named parameters, I love the ability to create iterators that look just like native control structures. But while laying in bed (which I should be doing now) a thought occured to me. How would I create an itertor in pure Perl 6 which worked like a C style for, now loop? Pondering this, these vaguely related thoughts passed through my mind: 1. We now have the super comma,which can sperate arguements, so at least that looks right. But without changing the parsing rules, can I make the lack of a comma between the (...) and the block not an error? 2. This still won't work beacuse the three expressions will be evaluated before being passed to the iterator. I could get around this by having them be passed at strings and evaling them, but that defeats the idea of writing a control structure that's bulit in. What feature would Perl 6 have to have to make this possible? I remembered the ugly pass by name thread that I ignorantly started earlier, and realized that being able to hold the expression's evaluation until it's used makes it the perfect fit for this sort of thing. Can someone please show me I'm wrong and that this can be accomplished without pass by name? 3. Finally, if the above we're no longer issues,I realized that it would be easy to write an iterator that breaks our golden rule of blocks - lexical scope should not leak. I'm not yet adept at Perl 6 enough to write out an example of such an iterator, but it would be a simple matter of eva;uating the initial arg to loop, checking %MY to cee what lexicals were created, and then monkeying with the %MY of the closure passed to the iterator as a final argument. Is this an issue, or can does it fall under the "a use declaration makes a prgram a Perl 'dialect' and is free to break the rules"? -Erik Is your boss reading your email? Probably Keep your messages private by using Lycos Mail. Sign up today at http://mail.lycos.com