[perl #35824] [TODO] Remove .cvsignore files

2005-05-16 Thread via RT
# New Ticket Created by  Bernhard Schmalhofer 
# Please include the string:  [perl #35824]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=35824 


This was posted on the perl6-internals list by Jrgen Bmmels:

 In the current SVN repository are 76 .cvsignore files. In SVN they aren't used
 any more. SVN uses the property 'svn:ignore' on a directory instead. 

 During the cvs = svn transition the svn:ignore properties were set but in
 the recent weeks they started to diverge. Currently (r8078) 22 .cvsignore
 differ from svn:ignore (see attached cvsignore.diff)

 I think we should remove .cvsignore files entirly.

I noticed that .cvsignore is still used in tool/dev/manicheck.pl and Autrius 
Tang suggested
to use 'svn propget svn:ignore' or 'svk propget svn:ignore'.

So that's the plan:

i. Migrate the changes in .cvsignore file into the svn:ignore property
ii. Tell manicheck.pl to query the SVN properties
iii. remove the .cvsignore files






Re: Python on parrot

2005-05-16 Thread Kevin Tew
Re: Pyrate( Sam's stub code )
I've taken the code from 
http://www.intertwingly.net/stories/2004/10/05/pyrate.zip, which I 
assume to be Sam's code.
It was basically stubs with a few AST nodes implemented when I started 
with it.
And am working to generate a python to pir translator/compiler that uses 
Sam's python pmc's
I've attached the source as it stands now.  I'm just an aspiring parrot 
hacker.  I'm sure that there are a lot of things I'm doing wrong or 
inefficiently.
I'm looking for feedback and suggestions for improvement.   Please comment.

I want to get my patches on top of Sam's initial work imported into the 
parrot SVN tree.
I believe that having the python compiler code in parrots svn tree is 
imperative to build a python/parrot community.
A python compiler in the parrot tree will lead to more widespread 
exposure to other parrot developers, increased peer review, testing by 
more people on a greater variety of platforms, etc.

Michal could you expound on your thoughts here, they sound interesting.
   I'm not sure what Kevin meant by self hosted but I've been
   thinking about this lately, and what we can do today is creating a 
back-end for the compiler that emits simplified
   python code in a way that would give us things like continuations 
(though with some loss of speed) without the need to duplicate the 
python library.

I meant a python to pir translator/compiler written in python.
I've looked at the PyPy project.  They are doing cool stuff.  I would 
eventually like to use their work to emit optimized pir for python, but 
they still have work to do.

Kevin

Sam Ruby wrote:
Michal wrote:
On Sat, 16 Apr 2005, Sam Ruby wrote:
[I hope you don't mind me putting this back on the list - I would 
prefer that everybody who is interested can follow along and/or 
participate]

Kevin Tew wrote:
Sam Ruby wrote:

Hey guys,
I didn't see this until just now.
Kevin Tew wrote:
Sam,
Just wondering what the status is on python/parrot/pirate/pyrate.
These both look outdated.
http://www.intertwingly.net/stories/2004/10/05/pyrate.zip
http://pirate.versionhost.com/viewcvs.cgi/pirate/

I haven't looked at it for a few months now.  I do plan to revisit 
it enough to get the Pie-thon tests completed by the time of OSCON 
(in August).

Sam, are you still interested in this?

I had better be:
http://conferences.oreillynet.com/cs/os2005/view/e_sess/6833
Is there a up to date cvs repo?

http://pirate.tangentcode.com/
Can we get this code checked into the parrot svn repo?

Unfortunately, no.  Much of this code is copyright Michal Wallace.
The good news is that the good stuff is in the parrot repo 
already. What is left - a simple translator - can and should, 
IMHO, be recoded into Perl6 once enough of that is running.

- Sam Ruby
So why won't Michal Wallace sign over the copyright?

I talked to Michal briefly about this a while back.  My impression 
was that he wanted to sign over the copyright to the Python 
foundation. Which makes a bit of sense -

Pirate is based on code created by Andrew Kuchling and the copyright
on that work already belongs to the Python foundation.
Mostly I think pirate is just a different project from parrot and I 
don't want to hand over control of which patches to apply, etc. So 
far, I've never rejected a patch or turned down anyone for cvs 
access, but I'd like to reserve the right. (Also, Dan and the parrot 
team had other ideas about how to implement python.)

the goal of having everything run on a single runtime does
not necessarily imply that everything has to be owned by a
single organization and put into a single repository.

Yes. That was the other main idea. I was hoping that we could 
leverage the objects that the python team had already created.

Do PMC's still have to be compiled inside the parrot source
tree? To me, the problem is that the PMC's are in the parrot
tree, not that the compiler isn't in there with it.

Parrot (including the build system) is a moving target.  Long term, 
the answer is no.  Short term, the answer is yes.

My own opinions is that Michal thinks too much.  ;-)

This is almost certainly true. :)
My impression is that everybody here is reasonable, and if
it made sense for further development to be transferred to
another organization, then some reasonable arrangement
would be made.

I hope this is true, too. :)
Also, I believe that much of the initial work is throwaway
work anyway.  Build one to throw away, and all that.

I've never really bought that logic. :) It works, and (especially
after your last batch of refactorings) the code is pretty clean.
I would like to see the emitter code separated out into a builder
object though.
Cool I did notice all the python pmcs.  By translator I
assume you mean a interpreter/compiler to parrot byte
code.

At the moment, it is to Python to IMC, but eventually
going directly to bytecode would be a good idea.

That's fine with me, as long as parrots imc compiler does the
work. :)
Why would you do it in Perl6, why 

Re: [perl #35305] [PATCH] skip threads 'detatch' test on win32

2005-05-16 Thread jerry gay
parrot (r8016): no change. hangs w/98% cpu. here's the -t output:

parrot -t test_b.pasm
 0 find_global P5, _foo   - P5=SArray=PMC(0x7d5a50),
 3 new P2, 18   - P2=PMCNULL,
 6 find_method P0, P2, thread3- P0=PMCNULL,
P2=ParrotThread=PMC(0x7d5a08),
10 new P6, 54   - P6=PMCNULL,
13 set I3, 2- I3=1,
16 invoke
17 set I5, P2   - I5=0, P2=ParrotThread=PMC(0x7d5a08)
20 getinterp P2 - P2=ParrotThread=PMC(0x7d5a08)
22 find_method P0, P2, detach - P0=NCI=PMC(0x638620), P2=ParrotInterpr
eter=PMC(0x637dc8),
26 invoke
27 defined I0, P6   - I0=1, P6=TQueue=PMC(0x7d59f0)
30 unless I0, -3- I0=0,
27 defined I0, P6   - I0=0, P6=TQueue=PMC(0x7d59f0)
30 unless I0, -3- I0=0,
27 defined I0, P6   - I0=0, P6=TQueue=PMC(0x7d59f0)
30 unless I0, -3- I0=0,
27 defined I0, P6   - I0=0, P6=TQueue=PMC(0x7d59f0)
30 unless I0, -3- I0=0,
27 defined I0, P6   - I0=0, P6=TQueue=PMC(0x7d59f0)
30 unless I0, -3- I0=0,
27 defined I0, P6   - I0=0, P6=TQueue=PMC(0x7d59f0)
30 unless I0, -3- I0=0,
etc

On 5/15/05, Vladimir Lipsky [EMAIL PROTECTED] wrote:
  the 'detatch' threads test hangs on win32. this small patch skips one
 
 Could you try the following code('the detatch' threads test with one tweak)
 and tell me if it hangs either and what output you get?
 
 find_global P5, _foo
 new P2, .ParrotThread
 find_method P0, P2, thread3
 new P6, .TQueue # need a flag that thread is done
 set I3, 2
 invoke # start the thread
 set I5, P2
 getinterp P2
 find_method P0, P2, detach
 invoke
 wait:
 defined I0, P6
 unless I0, wait
 print done\n
 sleep 5 # Maybe a race condition?
 end
 .pcc_sub _foo:
 print thread\n
 new P2, .Integer
 push P6, P2 # push item on queue
 returncc
 



Re: Python on parrot

2005-05-16 Thread Michal Wallace
On Sun, 15 May 2005, Kevin Tew wrote:
I've taken the code from
http://www.intertwingly.net/stories/2004/10/05/pyrate.zip,
which I assume to be Sam's code.  It was basically stubs
with a few AST nodes implemented when I started with it.
Er. Yes. I can't speak for Sam, but I interpreted his post
as a spike of how a pirate refactoring could go, not a call
to start a whole new incompatible project.
And am working to generate a python to pir
translator/compiler that uses Sam's python pmc's I've
attached the source as it stands now.  I'm just an
aspiring parrot hacker.  I'm sure that there are a lot of
things I'm doing wrong or inefficiently.  I'm looking for
feedback and suggestions for improvement.  Please comment.
Well, one thing that's innefficient is to write your own
compiler when there are already two mostly working examples
out there.
I want to get my patches on top of Sam's initial work
imported into the parrot SVN tree.
I believe that having the python compiler code in parrots
svn tree is imperative to build a python/parrot community.
I'm absolutely bewildered that you would take that route in order
to build a community. Between pie-thon and pirate there already
are two python compilers, and pie-thon already *is* in the parrot
tree... As far as I can tell, you didn't approach either existing
group and see if you could help. You just went off and did your
own thing. You're not building a community, you're creating yet
another faction.

A python compiler in the parrot tree will lead to more
widespread exposure to other parrot developers, increased
peer review, testing by more people on a greater variety
of platforms, etc.
This is a great goal, but I'm not sure it follows that 
having it in the source tree would lead to more exposure.

To me, if you want exposure, a much better idea would be
to *talk* to people, either on mailing lists or blogs or 
whatever. In other words, market the project. You need 
things like documentation and a website. Where the code 
lives is a fairly trivial concern. It sounds like you just
want parrot developers to stumble on to your code in the
tree and pitch in.

In my mind, the target audience for pirate is python
developers (like yourself). People who might have heard
about parrot, but don't necessarily know much about it
or how it works. But if you can tell all the nice things
we get:
  - this buys us continuations without the genius-level
hacks required by stackless
  - we'll be able to leverage CPAN and code written in
other languages...
  - we'll have a native call interface
  - (etc)
... then maybe python hackers will be interested. So they
should be able to download a python file and run it. The
python file should work like every other python file, and
leverage the distutils.  It should have a setup.py install
script and if necessary, a windows installer and rpms. There
should be a link to download a binary version of parrot so
that the first step isn't to compile a virtual machine they
know nothing about - especially if they're developing on
windows without a compiler. To me, having the code burried
in the middle of the parrot tree is a huge barrier to entry
to new developers.
Of course if you're targeting parrot developers who may or may
not know python, that's another story... But from what I can 
tell, the other compilers in the parrot svn tree just aren't
getting the kind of exposure you're talking about.

I don't know, maybe I'm just rambling, but I don't see how
putting the source in the parrot repository is either
necessary or sufficient for widespread exposure. :/

Michal could you expound on your thoughts here, they sound interesting.

  I'm not sure what Kevin meant by self hosted but I've
  been thinking about this lately, and what we can do
  today is creating a back-end for the compiler that
  emits simplified python code in a way that would give us
  things like continuations (though with some loss of
  speed) without the need to duplicate the python library.
Sure. This is kind of off topic for the parrot list. I posted
a blog entry here:
  http://sabren.com/index.php?p=62

I meant a python to pir translator/compiler written in python.
Like this one: http://pirate.tangentcode.com/   ??
I've looked at the PyPy project.  They are doing cool
stuff.  I would eventually like to use their work to emit
optimized pir for python, but they still have work to do.
So why don't you want to help them with that work?  Right
now you're just reinventing the wheel. If you were writing a
backend for pypy, that would be one thing. That would
actually be useful. Better yet, not write up a little report
about what it would take to get pirate to work with pypy?
We could almost certainly leverage their type inference
engine.  I'd love to see pirate become just another backend
for pypy.  It seems to me that would do a lot more to build
community than the approach you're taking.
- Michal
http://withoutane.com/


[perl #35836] [PATCH] Dynclasses make pathquote

2005-05-16 Thread via RT
# New Ticket Created by  Ron Blaschke 
# Please include the string:  [perl #35836]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=35836 


Attached patch quotes some paths.

Otherwise Parrot won't built if living below a directory containing
spaces (eg C:/Documents and Settings).

Ron

dynclasses_make_pathquote.patch
Description: Binary data


[PATCH] more ws.t tests, fixed

2005-05-16 Thread Dino Morelli
I left something uncommented in my prior patch, causing failure. Fixed.
This is additional tests for :w using (), [], \b and :: for separation.


-Dino

-- 
 .~.Dino Morelli
 /V\email: [EMAIL PROTECTED]
/( )\   weblog: http://categorically.net/d/blog/
^^-^^   preferred distro: Debian GNU/Linux  http://www.debian.orgIndex: t/p6rules/ws.t
===
--- t/p6rules/ws.t  (revision 8109)
+++ t/p6rules/ws.t  (working copy)
@@ -1,6 +1,6 @@
 use strict;
 use warnings;
-use Parrot::Test tests = 15;
+use Parrot::Test tests = 17;
 use Parrot::Test::PGE;
 
 
@@ -23,6 +23,15 @@
 p6rule_is  ('foo-bar', ':w foo -? bar', 'basic ws match \s* \s*');
 p6rule_isnt('foobar', ':w foo -? bar', 'basic ws non-match');
 
+# with :w not separated by a space
+# XXX: These forms of modifier separation do not yet work
+#p6rule_is  ('foo - bar', ':w()foo -? bar', 'basic ws match');
+#p6rule_is  ('foo - bar', ':w[]foo -? bar', 'basic ws match');
+p6rule_is  ('foo - bar', ':w\bfoo -? bar',
+'basic ws match with boundary modifier separation');
+p6rule_is  ('foo - bar', ':w::foo -? bar',
+'basic ws match with backtrack no-op modifier separation');
+
 # XXX: When available, add tests for full form :words modifier
 
-# dont forget to change the number of tests :-)
+# Don't forget to change the number of tests :-)