More Perl6-Pugs feedback

dvergin on 2005-03-16T05:40:42

First a compile problem with a recent revision. Farther down, an issue with postpositionals.

Yesterday I posted a Pugs issue simply as a record for my own use and then was surprised to see that the gods had taken notice (search on the page for "dvergin"). I applied the needed patch by hand <shrug> and am up and running again with Perl6-Pugs-6.0.11.

Thus emboldened, I located the browsable svn repository and wget'ed the package (too lazy to set up a subversion client). The version I grabbed (779) has compile probs under WinXP SP2 with ghc 6.4 again.

Here's the beginning of the (working) hand-patched Perl6-Pugs-6.0.11 install:

C:\bin\perl6\Perl6-Pugs-6.0.11>perl Makefile.PL
*** Readline support disabled.  If you want readline support,
    please install Term::ReadLine::Gnu from CPAN, as well as
    the GNU Readline headers and shared library.
Writing Makefile for Kwid
Writing Makefile for Pugs::MakeMaker
Writing Makefile for Test
Writing Makefile for Perl6::Pugs

C:\bin\perl6\Perl6-Pugs-6.0.11>nmake

Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved.

C:\Perl\bin\perl.exe -Iinc -MExtUtils::Command -e cp kwid C:\bin\perl6\P erl6-Pugs-6.0.11\blib6\script\kwid pl2bat.bat C:\bin\perl6\Perl6-Pugs-6.0.11\blib6\script\kwid ghc --make -isrc -static -Wall -fno-warn-missing-signatures -fno-warn-na me-shadowing -o pugs src\Main.hs

C:\bin\perl6\Perl6-Pugs-6.0.11>\ghc\ghc-6.4\bin\ghc.exe --make -isrc -static -Wa ll -fno-warn-missing-signatures -fno-warn-name-shadowing -o pugs src\Main.hs Chasing modules from: src/Main.hs Skipping Config ( src/Config.hs, src/Config.o ) Skipping Help ( src/Help.hs, src/Help.o ) Skipping UTF8 ( src/UTF8.lhs, src/UTF8.o ) Skipping Cont ( src/Cont.hs, src/Cont.o ) Skipping Rule.Pos ( src/Rule/Pos.hs, src/Rule/Pos.o )

But here is the same thing for Revision 779:

C:\bin\perl6\svn.openfoundry.org\pugs>perl Makefile.PL
*** Readline support disabled.  If you want readline support,
    please install Term::ReadLine::Gnu from CPAN, as well as
    the GNU Readline headers and shared library.
Writing Makefile for Kwid
Writing Makefile for Pugs::MakeMaker
Writing Makefile for Test
Writing Makefile for Perl6::Pugs

C:\bin\perl6\svn.openfoundry.org\pugs>nmake

Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved.

ghc --make -Wall -fno-warn-missing-signatures -fno-warn-name-shadowing - o ./kwid.exe ./src\Main.hs -i"./src"

C:\bin\perl6\svn.openfoundry.org\pugs\ext\Kwid>\ghc\ghc-6.4\bin\ghc.exe --make - Wall -fno-warn-missing-signatures -fno-warn-name-shadowing -o ./kwid.exe ./src\M ain.hs -i"./src" Chasing modules from: ./src/Main.hs ghc.exe: can't find file `./src/Main.hs' NMAKE : fatal error U1077: 'C:\WINNT\system32\cmd.exe' : return code '0x1' Stop. NMAKE : fatal error U1077: 'C:\WINNT\system32\cmd.exe' : return code '0x2' Stop.

I did some diff's but couldn't find the source of the problem. I do notice the difference between -isrc and -i"./src" but can't find the source of this and can't dope out its implications.

-------------------------------------------

Meanwhile I have found some problems with the compiled Perl6-Pugs-6.0.11. This started out as something else involving postposition calls failing in other than simple settings. Here are a few tests that seem to demonstrate the problem:

#!/usr/bin/perl6
use v6;

require Test;

my $filename = 'tempfile';

my $out = open(">$filename");

is($out.ref, 'Handle', 'Postposition .ref works when alone'); is(ref($out), 'Handle', 'Function ref() works alone'); ok(ref($out) eq 'Handle', 'Function ref() works in a statement'); #ok($out.ref eq 'Handle', 'But .ref crashes in a statement'); $out.close;

my $num = 2.5 is($num, 2.5, '$num is 2.5'); is(int($num), 2, 'int() works alone'); is($num.int, 2, '.int works alone'); is($num + 1, 3.5, '$num + 1 is 3.5'); is(int($num) + 1, 3, 'int() works in a statement'); #is($num.int + 1, 3, 'But .int crashes in a statement');


Ingy claims it's now fixed...

autrijus on 2005-03-16T21:29:14

So please update and try again. Also, the postfix invocation does not currently mix with unary, so it is inded a failing test -- please add eval '' around the first argument, and post it to perl6-compiler.

Actually, I'd like to make you a committer and commit that test yourself, so please let me know your email address, and I'll make it so. Welcome aboard (in advance)!