Perl 6 Wiki -- 2 more possibilities, further discussion.

2006-05-25 Thread Conrad Schneiker
(Responding to 3 notes on 2 mail lists here; Changed subject line.)

Juerd wrote:
 Feather, the semi-public, semi-private, Perl 6 development server, is
 available to host a Perl 6 wiki.
 
 The hostname www.perl6.nl is deliberately kept available for something
 like that.

Does that mean you are willing to be the one to set up a Perl 6 Wiki and
administer it? (Preferably using perl5 wiki software, so that the Perl 6
Wiki could be available as soon as possible?) If so, how much more
encouragement do you need to proceed?

 From: Michael Mathews [mailto:[EMAIL PROTECTED]

 As a competing suggestion, how about...
 http://pugs.kwiki.org/?perl6

Very interesting. But did you look at it? :-) I found this on the home page
link target:

Consider using Subversion instead of this Wiki

20051213Z05:58 audreyt  I'd like it [the wiki] to 
be strictly a scratchpad for lambdacamels. 
all reusable docs should be in the svn tree 
(and now Perl6::Doc)

This reminds me of my earlier suggestion:

Could we use part of Pugs doc tree as alternative 
to perl6-user-doc wiki?
http://www.nntp.perl.org/group/perl.perl6.users/28

The basic idea is this: since the pugs svn tree is mirrored at perl.org, we
could have a subdirectory (for example Perl_6_ Wiki) in the docs branch of
the source tree that would have a wiki-like hierarchy of html pages (or pod
pages for generating html) below it. The downside is that it would take
somewhat more effort to make changes and additions. 

However, it might still be a good idea to take periodic snapshots of a
separate semi-officially designated primary Perl 6 Wiki and stash it in
the source/doc tree (or maybe in a CPAN module Perl6::DOC::Wiki) so that it
would be available for offline help systems / searching. 

 I'm not really set on any option as long as it works and makes sense
 to everyone, including those outside this list. I probably missed it,
 but could you give the stated purpose for the wiki again, as I think a
 reminder (for me at least) would help.

Several people thought it would be a good idea to have a common place that
made it *easy* to collect and organize useful information about perl6--stuff
that is beyond the scope of standard documentation. There is a lot of
interesting and useful perl6 information that is widely dispersed in talks,
documents, articles, and so on Likewise some of it current, some of it
obsolete, and much in between. Having a central collection that is easy to
browse and that is subject to substantial ongoing indirect review could be
very valuable. Think of the Perl 6 wiki as a vastly expanded FAQ that
supplemented many of the links with semi-consolidated content. Or think of
it as a semi-free-form meta-CPAN for interesting documentation. Or think
of it as a perl6 community gathering point and mega-billboard. Some examples
of suggested content: What are the main benefits of major perl6 features?
Why were various features done one way and not another? How are they
intended to be used? What are the benefits of perl6 relative to other
languages? What are the counter-arguments to various anti-perl6 FUD? 

 On 24/05/06, Michael Mathews [EMAIL PROTECTED] wrote:

  For example
  there is nothing stopping anyone (including members of this list) from
  creating and populating pages on www.wikipedia.org about Perl6 and
  this user group. Then those pages would be available to the wikipedia
  search engine. --- Insert any other popular wiki there.

I'd thought of that, but there's always the background issue of moderation
and control. (We definitely want the Perl 6 Wikipedia page to link to our
Perl 6 Wiki, of course.) I don't think Wikipedia is (at present) a suitable
forum for semi-controversial topics. Language advocacy / competitive
marketing is a highly contentious and emotional religious issue for many
people, and we certainly want perl6 people to feel free to indulge in
(reasonably civil) unbridled advocacy of all things perl6. 

  And of course with the ominipresence of google, finding and searching
  is always becoming less of a problem.

In my experience, finding and searching has become more of a problem--in
particular: (1) with too many irrelevant matches, and (2) with too many
matches that turn up obsolete info. That's precisely one of the reasons I
started prodding #perl6 about a newsgroup for perl6 users. Being able to
limit your searches to group archives of what you are specifically
interested in often makes search results much more useful. Precisely one of
the reasons that a Perl 6 Wiki could be very cool is that the content is
more likely to be up to date, and it could thus serve as a good point of
departure for many sorts of perl6 related searches. 

  What would be annoying though is to invest work in a perl 6 wiki
  that is only one of many perl 6 wikis and with no coordination of
  efforts between them. 

That would also be annoying for a great many users that invested *no* work
as well. There are {browsing, 

perldoc or pod parser in Perl6

2006-05-25 Thread Gabor Szabo

sligthly related to the Perl6 wiki issue,
is there a perldoc command or a podparser implemented in Perl6 already ?

Gabor


Re: Logic Programming for Perl6 (Was Re: 3 Good Reasons... (typo alert!))

2006-05-25 Thread Larry Wall
This topic may be better suited to perl6-language, unless you consider
its denizens to already be self-selected against logic programming. :)

Larry


Re: Logic Programming for Perl6 (Was Re: 3 Good Reasons... (typo alert!))

2006-05-25 Thread Ovid
- Original Message 
From: David Romano [EMAIL PROTECTED]

  duplicate results and this is almost always wrong. (See 
  http://use.perl.org/~Ovid/journal/28378 
  for an SQL example of this problem).
 I re-read your journal entry and comments (I had read it back when you
 first had posted it), and I'm curious about what obstacles that you
 think need to be overcome for Perl6 to support logic programming.

If anyone wants to know what the heck this is about, you can read 
http://search.cpan.org/dist/AI-Prolog/lib/AI/Prolog/Article.pod

That's an article I originally had published in The Perl Review 
(http://www.theperlreview.com/) and it explains the basics of logic programming 
and how to do it in Perl5.  It also explains the append/3 predicate, something 
I mention below.

The first hurdle would be the syntax.  The programmer just looking at the code 
would need to know when one section of code represents a snippet of logic 
programming.  Is the following a function call or a Prolog fact?

  loves( 'foo', 'bar' );

How would one assert facts and rules in Perl6?  How would one know that a 
variable is a logic variable and not a normal one?  Assignment to a logic 
variable which is still subject to rebinding could break code.  On the other 
hand, using normal variables for logic variables could let us use objects for 
them and I think this might get us contraint programming (long story).

There's also the question of non-logical behavior in logic programming.  What 
happens if you try to use math in Perl6 logic programming?  Generally speaking, 
math is non-logical in the sense that it's used in Prolog (see the 
aforementioned article).  Opening and reading from a file is also non-logical 
(you can't backtrack over it). How are those issues to be handled?

My biggest concern, though, is a rule like the following:

  customer_cities(City) :-
700 = credit_rating(Customer),
customer(Customer, City).

That's logically equivalent to the SQL I posted in a previous email and, like 
that SQL, will very likely return duplicates.  Prolog students are constantly 
faced wtih the how do I get rid of duplicates? problem.  This results in 
inefficient queries and a lot of time spent culling the duplicate answers when 
the person just wants to know the list of cities which meets their requirements.

Perl6 grammars may be able to assist with this, but grammars (as far as I can 
tell) are still based around strings and not data structures.  Admittedly, 
Prolog is essentially a fancy string rewriting system, but it's not clear how 
the grammars would be applied to this problem.

For anyone familiar with logic programming and the append/3 predicate, here's 
one way of representing it in Perl5:

  use re 'eval';
  my $string = abc;
  my $length = length $string;
  my $regex = qr/(\G[$string]{0,$length}(?{print # [$][$'][$string]\n}))/ x 
2;
  $string =~ $regex;

Can you say yuck?  However, that only represents a limited subset of 
append/3's functionality and trying to generalize it would be a very difficult 
task.  One approach might be to write a wrapper around 
http://www.perlmonks.org/?node_id=318350.  That's an approach I found to 
leverage Perl5's regex engine for logic programming, but I discovered that 
Perl5's regexen aren't re-entrant, killing that project.  Perl6 rules might be 
perfect for this.

In short, there are lots of questions which would need to be answered to get 
logic programming done correctly in Perl6.  I'm quite happy that @Larry decided 
not to answer those questions since things would have been delayed.  We can 
hack in logic programming later.

Cheers,
Ovid

-- If this message is a response to a question on a mailing list, please send 
follow up questions to the list.
 
Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/






Re: 3 Good Reasons...

2006-05-25 Thread Steffen Schwigon
Michael Mathews [EMAIL PROTECTED] writes:
 So my question to the list is, in simple terms even an IT manager
 could grasp, explain what problems Perl 5 has that Perl 6 fixes,
 such that they would want to undergo the pain of ever switching.

From a Perl point of view: there should be no pain.
At least that's a stated goal.

From a manager point of view: it's as use(ful|less) as ever to decide
for a language independently of the problem to solve. If Perl5 does
the job, stick with it. If Perl6 helps you somewhere, use it. If
Visual Basic solves your problem because it's already built into the
problem, just use it.

Perl5 is already gluey enough to not force you into a decicion for
*the only one* technology. Perl6 shouldn't change that.

Steffen
-- 
Steffen Schwigon [EMAIL PROTECTED]
Dresden Perl Mongers http://dresden-pm.org/