Re: Tinderboxens

2003-10-30 Thread Leopold Toetsch
Andy Dougherty [EMAIL PROTECTED] wrote:

 A quick grep on the perl5 sources for 'negative zero' gets a fair number
 of hits mentioning AIX, Digital Unix, and OpenBSD.  sv.c contains some
 legacy 'FIXNEGATIVEZERO' code as well.

... which seems not to be defined nor mentioned anywhere.

 ... In short, it's probably best to
 assume that some compilers will give us a negative zero sometimes.
 Whether the parrot virtual machine should or should not hide that detail
 is a good question

Its coloring tinderboxen for no good reason. If something really got
wrong its hidden. So IMHO we should either change the test or have a
configure option and convert -0.0* to 0.

 ... -- probably equivalent to whether parrot should spell
 infinity Inf or inf or not care (and similarly for nan and NaN).

Yep.

leo


Re: [PS] open patches

2003-10-30 Thread Michael Scott
On 30 Oct 2003, at 07:20, Robert Spier wrote:

Some of patches on that list that are mine.
#24030 Obsolete
#24038 Obsolete
#24043 Applied
#24063 Applied
#24177 Rejected
#24188 Applied
I tried to update the status of #24177 but got Permission Denied.
Any chance of that being changed so I could update them myself?
You have to log in with an account that uses the same email address,
and then you should be able to.  (If you have an account that uses a
different email address, then I need to match things up.)
My account (mikescott) at http://auth.perl.org/auth/account shows the 
correct email. The RT page assures me that I'm signed in as mikescott. 
I go to the Modify ticket #24030 and set Status to resolved, click Save 
Changes and get Status: Permission Denied.



Re: Dying tests on windows

2003-10-30 Thread Leopold Toetsch
Jonathan Worthington [EMAIL PROTECTED] wrote:
 cl -nologo -Gf -W3 -MD -Zi -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -ZI -I./i
 nclude -DHAS_JIT -DI386 -E src\jit_cpu.c

 Here:-
 http://www.jwcs.net/~jonathan/parrot/jit_cpu-E-cl.txt
 And again, there is RTYPE_.* stuff all over.

Something is totally wrong here: The compilation of jit_cpu.c seems to
yield:
  static void Parrot_if_i_ic_exec
 
which should be in exec_cpu.c...

Have it. The filename on Win32 isn't really src/jit_cpu.c ...

Fixed.

 Jonathan

leo


P5 B backend for languages/perl6 - quasi-announcement

2003-10-30 Thread Scott Walters
Hi kids,

I have work-related reason to add a B backend for Perl 5 to the perl6 
compiler. I'm looking at creating an assembler for Perl 5's B bytecode
along the lines of IMCC, and creating patches against languages/perl6/IMCC.pm
and languages/perl6/IMCC/* to conditionally, using some sort of phrasebook,
generate assembly for either Parrot or B. The B assembler would use 
B::Generate to build up a bytecode tree, and then B::Deparse to dump P5
or else more likely dump the raw bytecode and use ByteLoader to suck it
back in.

Some things, such as multiple dispatch, would depend on external P5 libraries,
but that is okey. 

I'm imagining a sort of Inline::Perl6 thing.

Doing fun things on the clock is always nice.

Reasons for posting this now:

1. Collaborate if someone else has already secretly started something similiar.
2. Collaborate if someone else later wants to do something similiar.
3. Give concerned parties a chance to make requests of me before I do anything.

This should have been posted to perl6-language, but I'm not subscribed there.
I'm hoping it'll make the summary and everyone will see it anyway. Perhaps a 
little later I suppose I'll have to bother.

I've just spent the last two months emersed in B working on typesafety.pm,
and I really want to capitalize on that =) (And I don't care what anyone says,
B rocks!).

Comments? Suggestions? Ideas? Thoughts? 

-scott



Re: [PS] open patches

2003-10-30 Thread Aldo Calpini

these are the patches of mine which still show as Pending:

(17405) [PATCH] correct make pdb on Win32
(24149) [PATCH] small Makefile patch (rm *.s in realclean instead of clean)
(24205) [PATCH] removing -mno-accumulate-outgoing-args for non x86 arch

the last one was applied by Dan, but the Status wasn't updated on RT.
I can't do it myself (permission denied).


cheers,
Aldo

__END__
$_=q,just perl,,s, , another ,,s,$, hacker,,print;



Re: P5 B backend for languages/perl6 - quasi-announcement

2003-10-30 Thread Sean O'Rourke
[EMAIL PROTECTED] (Scott Walters) writes:
 I have work-related reason to add a B backend for Perl 5 to the
 perl6 compiler. I'm looking at creating an assembler for Perl 5's
 B bytecode along the lines of IMCC, and creating patches against
 languages/perl6/IMCC.pm and languages/perl6/IMCC/* to conditionally,
 using some sort of phrasebook, generate assembly for either Parrot
 or B.

This would involve some nontrivial refactoring, since both are
unashamedly machine-dependent, and freely emit blocks of assembly
directly from the AST walk.  Unless B assembly is a lot like parrot
assembly, simply replacing (or factoring out) these chunks might not
be the best way.  Of course, I've never used B assembly, so discount
this impression appropriately.  Everything up to IMCC* (i.e. parsing,
tree munging, and context (wannabe typing)) should be fine, though.

 The B assembler would use B::Generate to build up a bytecode tree,
 and then B::Deparse to dump P5 or else more likely dump the raw
 bytecode and use ByteLoader to suck it back in.

Far be it from me to discourage you, but IMHO languages/perl6 is less
complete and correct than the rest of Parrot.  However, while the
grammar reflects an older incarnation of Perl 6, it's written in
fairly clean Parse::RecDescent, and it is ahead of the code generation
in terms of completeness.  You might be better off both
performance-wise and other-wise either:

1. just using Parrot to run the subset of perl6 you need; or
2. using the languages/perl6 parser to translate directly to Perl 5.
   Since the languages are similar in a lot of ways, this should not
   be too hard in most cases (and very painful in a few), and since
   languages/perl6 doesn't do any optimization, you're not losing
   anything.

 This should have been posted to perl6-language, but I'm not
 subscribed there.

This is probably internals, since it doesn't concern language design.

Let me know if you have any other questions.

/s



Re: P5 B backend for languages/perl6 - quasi-announcement

2003-10-30 Thread Joseph Ryan
Sean O'Rourke wrote:

[EMAIL PROTECTED] (Scott Walters) writes:
 

I have work-related reason to add a B backend for Perl 5 to the
perl6 compiler. I'm looking at creating an assembler for Perl 5's
B bytecode along the lines of IMCC, and creating patches against
languages/perl6/IMCC.pm and languages/perl6/IMCC/* to conditionally,
using some sort of phrasebook, generate assembly for either Parrot
or B.
   

This would involve some nontrivial refactoring, since both are
unashamedly machine-dependent, and freely emit blocks of assembly
directly from the AST walk.  Unless B assembly is a lot like parrot
assembly, simply replacing (or factoring out) these chunks might not
be the best way.  Of course, I've never used B assembly, so discount
this impression appropriately.  Everything up to IMCC* (i.e. parsing,
tree munging, and context (wannabe typing)) should be fine, though.
 

I actually started to do some refactoring last night of
languages/perl6 (I've decided to put my languages/java on hold
until the class-metadata stuff is finalized.)  What kind of
refactoring would you suggest?  Should we have some sort of
generic bytecode generation package?
- Joe



Re: Parrot IO fun

2003-10-30 Thread Nicholas Clark
On Thu, Oct 30, 2003 at 01:54:24AM -0500, Melvin Smith wrote:
 Parrot fetched its first web page tonight. Its a baby step, but hey... :)
 
 You can now stuff hostnames into a socket as well as a numeric IP address.
 
 see examples/io/http.imc

Can we do IPv6?

(Not meant to be a throw away question. As I understand it many hostname
functions were changed or tweaked for IPv6, and coping with it now is
better than retrofitting it later)

Nicholas Clark


Re: Parrot IO fun

2003-10-30 Thread Nicholas Clark
On Fri, Oct 31, 2003 at 12:09:14AM +, Nicholas Clark wrote:
 On Thu, Oct 30, 2003 at 01:54:24AM -0500, Melvin Smith wrote:
  Parrot fetched its first web page tonight. Its a baby step, but hey... :)

I forgot to say:

Hey, cool! Nice work.

Today web pages, tomorrow self propagating worms? Muahahahaha

Nicholas Clark


Re: Parrot IO fun

2003-10-30 Thread Melvin Smith
At 12:09 AM 10/31/2003 +, Nicholas Clark wrote:
On Thu, Oct 30, 2003 at 01:54:24AM -0500, Melvin Smith wrote:
 Parrot fetched its first web page tonight. Its a baby step, but hey... :)

 You can now stuff hostnames into a socket as well as a numeric IP address.

 see examples/io/http.imc
Can we do IPv6?

(Not meant to be a throw away question. As I understand it many hostname
functions were changed or tweaked for IPv6, and coping with it now is
better than retrofitting it later)
Sorry for delay on response, just got to my email.

Yes, I intend to encapsulate IPv4 and IPv6 in the same API.

Some of the changes are pretty simple (like instead of using inet_addr, use
inet_aton, etc.) while I'll not sure about the rest. It's been a while
since I did any socket projects but its all coming back pretty fast. :)
Luckily I have a very nice C++ library that I wrote over the past few years
so a lot of it will be cut and paste and a little rework.
-Melvin




Re: [PS] open patches

2003-10-30 Thread Robert Spier
 My account (mikescott) at http://auth.perl.org/auth/account shows the 
 correct email. The RT page assures me that I'm signed in as mikescott. 
 I go to the Modify ticket #24030 and set Status to resolved, click Save 
 Changes and get Status: Permission Denied.

RT had a different idea of what your email address was.  (There is an
issue with propagation.) I've reeducated it.

Try now.

-R


Re: [PS] open patches

2003-10-30 Thread Robert Spier
 (24205) [PATCH] removing -mno-accumulate-outgoing-args for non x86 arch
 
 the last one was applied by Dan, but the Status wasn't updated on RT.
 I can't do it myself (permission denied).

I've updated the ticket.

RT thinks your email address is @perl.it, but the ticket was created
from the @alos.it address.

Thanks-

-R


Re: Class metadata for PIR/assembly files

2003-10-30 Thread Melvin Smith
Regrettably, this won't be committed for 0.0.12 release since it is 
definitely new
feature. If I commit now Leo would probably pummel me with flaming pumpkins,
so I'm going to play nice and follow the rules.

This is what I have currently in my working copy of imcc. I think this does
what we want for getting started.
.class MyClass
  .field int i
  .field int j
  .field string s
  .method foo
.endclass
.sub _main
  print main\n
  end
.end
.method MyClass::foo
  print MyClass::foo\n
.end
Dan, I know your example used .member, but I feel like there is
value in separating them into .field and .method. For one, some
high level languages might allow data members and methods with
the same name.
-Melvin