Re: Tinderboxens
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
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
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
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
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
[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
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
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
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
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
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
(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
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