Re: [PATCH] trivial patch to mandelbrot.pir to make it comply like it should have in the first place :(

2005-12-22 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Dec 22, 2005, at 3:17 PM, peter baylies wrote:


Short version: uncomment lines 86-87, patch follows. I was hoping I
wouldn't need them, but I was wrong. This has been tested, and should
produce the correct output now.

--- mandelbrot.pir  2005-12-22 11:51:15.0 -0500
+++ mandelbrot-new.pir  2005-12-22 11:51:07.0 -0500


Committed, thanks.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (Darwin)

iD8DBQFDq1hQzGDdrzfvUpURAuA7AKCDb0j3Jb91cPm5den2mWlKxYjw7QCghWhw
5BWRqVgwEguZ2wjVwxBerIQ=
=9P0L
-END PGP SIGNATURE-


Shootout Updates Posted

2005-12-19 Thread Brent Fulgham
FYI, the revised shootout updates are on the site:

http://shootout.alioth.debian.org/sandbox/benchmark.php?test=alllang=parrot

Performance seems much better with the interpreter
flags suggested.  Please let me know if you notice any problems.


Re: Parrot Shootout

2005-12-12 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Dec 11, 2005, at 2:07 PM, Leopold Toetsch wrote:



On Dec 11, 2005, at 22:25, Leopold Toetsch wrote:


./parrot -C ack.pir4.9s
./parrot -C binarytrees.pir 1659.1s


And another f'up me: should we collect these shootout benchmarks in  
a separate directory, with tests attached (with reduced N aka  
reduced runtime)?


Are there plans to submit these tests?

leo



Well, to be honest I've been adding them as you've posted them here  
or to SVN.  If anyone objects to this, please let me know and I'll  
remove them immediately.  I assume you are okay with them being  
posted to the shootout website under a BSD-style license.


Thanks,

- -Brent

P.S.  If you want to see how things look, please visit http:// 
shootout.alioth.debian.org/sandbox/parrot.php



-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (Darwin)

iD8DBQFDnTT9zGDdrzfvUpURAjkxAJ97dnUHNqbDh/JOSWuzqZkO1ZUOnQCeJN5G
qCavfT3O7kQCZFYosiwG/68=
=Cuk3
-END PGP SIGNATURE-


Re: Parrot Shootout

2005-12-12 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Dec 12, 2005, at 12:23 PM, Leopold Toetsch wrote:



On Dec 8, 2005, at 6:53, Brent Fulgham wrote:


Let the games begin!


Another one: examples/shootout/pidigits.pir


The formatting on this is off.  It looks like it's generating the  
sequence of digits, but it needs to be split into individual lines
(see the Perl example program):  http://shootout.alioth.debian.org/ 
sandbox/benchmark.php?test=pidigitslang=perlid=0


Thanks,

- -Brent


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (Darwin)

iD8DBQFDnlRAzGDdrzfvUpURAiRdAJ9Dn5gVxmeuyb6cA0d2Mm8X3a/dwQCdFGOu
kQn1VNM44oPyNUVsbmsn4x0=
=8yxe
-END PGP SIGNATURE-


Re: More shootout, two randoms

2005-12-12 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Dec 12, 2005, at 12:55 PM, Joshua Isom wrote:

Because the random benchmark is used for a few other tests, I  
figured I'd do it next.  To do it the same way in pir is slow  
because it requires putting a variable into a global register and  
retrieving it 900,000 times.  I have three versions written up.   
One that's split over two files, with one file including main, and  
the other including an init section and the actual needed sub.   
Another that's the same but just one file, but a tad uglier to me(7  
extra lines just for error checking).  And the final cream of the  
crop(i.e. about twice as fast as the pir), a pasm version, which  
takes advantage of the fact that the registers stay the same the  
whole time unless modified.


Could you supply a single-file version with everything in it, along  
with your include versions?  Both *.pir versions require the  
radom_lib.pir file to compile and run.


I'll put the single-file version in the random benchmark, and add  
the random_lib file to a new parrot includes directory for common  
sources, as I do for other langages.


Is it sufficient to supply a path to the Parrot compiler for it to  
find necessary libraries?


Thanks,

- -Brent
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (Darwin)

iD8DBQFDnmLpzGDdrzfvUpURAmiDAJ0WpknhlfZAhp/B561yYboP3COYjgCeNAGW
6jm2IiVKGCy6EFy2tqUv4ZU=
=ywAv
-END PGP SIGNATURE-


Re: Mac OS X Build Errors (0.4.0)

2005-12-10 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Dec 9, 2005, at 12:26 AM, chromatic wrote:


Can a standard search path (e.g., DarwinPorts typical /opt/local/lib)
be included in parrots compile, or do I need to pass something to the
parrot interpreter at runtime?


As I read the code, this all happens at runtime (see
runtime/parrot/library/SDL.imc) -- the loadlib op there (eventually)
calls dlopen() on your platform.

Whatever you have to do on Mac OS X to identify paths to dynamically
loadable libraries, you probably have to do that.  If I were to  
guess, I

would check the value of the LD_LIBRARY_PATH environment variable.


I think the problem is the weird distinction Mac OS X (Mach Kernel)  
makes
between shared libraries and dynamic modules.  I have the shared  
library (*.dylib)

and the static libraries, but no loadable *.so modules.

So this may just be an SDL install problem.


It could be that Parrot doesn't add the '.dylib' extension where it
should, but my first guess is to see if dlopen() can find the library
appropriately.


Can you think of any other loadable modules that Parrot builds by
default -- something that should be in a known state after a
successful build?  ICU or something perhaps?  That would allow
me to see if this is a problem across all module loads, or just
something unique to my install of SDL.

Thanks,

- -Brent

P.S.  Congratulations on your new book.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (Darwin)

iD8DBQFDm7ljzGDdrzfvUpURAoh6AJ9mtfTvi0bP4GKGvyaxHbYMUmqlQACfTria
co5EL8nWZyr9f7VHHF1VlSg=
=jwxF
-END PGP SIGNATURE-


Re: Mac OS X Build Errors (0.4.0)

2005-12-09 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


Do I need to pass compiler options to get SDL support?  When I try to  
use the tests in the examples directory, it can't seem to find my SDL  
libraries and so forth.


Can a standard search path (e.g., DarwinPorts typical /opt/local/lib)  
be included in parrots compile, or do I need to pass something to the  
parrot interpreter at runtime?


Thanks,

- -Brent
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (Darwin)

iD8DBQFDmTt4zGDdrzfvUpURAjfmAJ0WY357CwicSQJksFFdbrvd6LeBkwCeIsqH
TWyc7btndyN12hHcU9qeNks=
=hLeg
-END PGP SIGNATURE-


Re: Mac OS X Build Errors (0.4.0)

2005-12-08 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Dec 8, 2005, at 1:27 AM, Leopold Toetsch wrote:



On Dec 8, 2005, at 6:57, Brent Fulgham wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

In addition to the shootout machine, I have a main development box  
that runs Mac OS X (PowerPC).  I attempted to build Parrot 0.4.0  
on this machine and encountered errors.  The mailing list archive  
seems to be down at the moment, so I could not check for others  
with this issue.  Is this a known problem?  I am using the XCode  
tools 2.2, which means basically a gcc 4.0 compiler.





src/inter_call.c:637: error: conflicting types for 'parrot_pass_args'
/opt/local/include/parrot/inter_call.h:78: error: previous  
declaration of 'parrot_pass_args' was here


Looks like that include/parrot from an installed Parrot is used  
instead the one in the src tree.

What do you get after 'make'?

Here are my settings from the darwin box:

$ make
Compiling with:
xx.c
cc -g -pipe -pipe -fno-common -no-cpp-precomp -I/usr/local/include - 
pipe -fno-common -Wno-long-double -g -Wall -Wstrict-prototypes - 
Wmissing-prototypes -Winline -Wpointer-arith -Wcast-qual -Wcast- 
align -Wwrite-strings -Waggregate-return -Winline -W -Wno-unused - 
Wsign-compare -Wformat-nonliteral -Wformat-security -Wpacked - 
Wdisabled-optimization -falign-functions=16 -Wno-shadow -I./include  
-DHAS_JIT -DPPC -DHAVE_COMPUTED_GOTO -I. -o xx.o -c xx.c


Well, having the includes -I./include at the end could be dangerous  
I presume.


You are right -- I still had parrot-0.3.1 installed when I attempted  
to build this version.  Should it be necessary to uninstall your  
existing version to update?


Thanks -- everything works great now.

- -Brent
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (Darwin)

iD8DBQFDmTEfzGDdrzfvUpURAhjHAKCXGimWdIWWU/50aF54XhlNNmbyjACgro+Y
NByDJVeOWQEtP+6QQQ57Xig=
=e2sP
-END PGP SIGNATURE-


Parrot Shootout

2005-12-07 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi,

A long while back someone made a request for people to create parrot  
implementations of the shootout tests on Alioth (http:// 
shootout.alioth.debian.org).  I wanted to let you know that I have  
updated the shootout build machine with parrot (0.3.1) and can start  
running tests if any exist.


Please let me know off-list, or use the project tracker (e.g.,  
https://alioth.debian.org/tracker/? 
func=addgroup_id=30402atid=411646) to add a tarball with the tests


Let the games begin!

Thanks,

- - -Brent

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (Darwin)

iD8DBQFDl8pqzGDdrzfvUpURAmjHAJ9L16EATSUQiIzhQrCZldzetmQimwCfVeRV
MgciumZq8eyJ13xThOlOri8=
=p+UA
-END PGP SIGNATURE-


Mac OS X Build Errors (0.4.0)

2005-12-07 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

In addition to the shootout machine, I have a main development box  
that runs Mac OS X (PowerPC).  I attempted to build Parrot 0.4.0 on  
this machine and encountered errors.  The mailing list archive seems  
to be down at the moment, so I could not check for others with this  
issue.  Is this a known problem?  I am using the XCode tools 2.2,  
which means basically a gcc 4.0 compiler.


Thanks,

- -Brent

Error Log:
src/inter_call.c: At top level:
src/inter_call.c:637: error: conflicting types for 'parrot_pass_args'
/opt/local/include/parrot/inter_call.h:78: error: previous  
declaration of 'parrot_pass_args' was here

src/inter_call.c: In function 'parrot_pass_args':
src/inter_call.c:678: error: 'PARROT_ERRORS_RESULT_COUNT_FLAG'  
undeclared (first use in this function)
src/inter_call.c:678: error: (Each undeclared identifier is reported  
only once

src/inter_call.c:678: error: for each function it appears in.)
src/inter_call.c:681: error: 'PARROT_ERRORS_PARAM_COUNT_FLAG'  
undeclared (first use in this function)

src/inter_call.c: At top level:
src/inter_call.c:788: error: conflicting types for 'set_retval'
/opt/local/include/parrot/inter_call.h:84: error: previous  
declaration of 'set_retval' was here

src/inter_call.c:822: error: conflicting types for 'set_retval_i'
/opt/local/include/parrot/inter_call.h:86: error: previous  
declaration of 'set_retval_i' was here

src/inter_call.c:850: error: conflicting types for 'set_retval_f'
/opt/local/include/parrot/inter_call.h:82: error: previous  
declaration of 'set_retval_f' was here

make: *** [src/inter_call.o] Error 1

Configuration:
Checking  
MANIFEST.done.
Setting up Configure's default  
values.done.
Tweaking settings for  
miniparrot..done.
Loading platform and local hints  
filesdone.
Determining nongenerated header  
files.done.
Determining what C compiler and linker to  
use.done.
Determining whether make is  
installed..yes.
Determining whether lex is  
installed...skipped.
Determining whether yacc is  
installed..skipped.
Determining if your C compiler is actually  
gcc.yes.
Enabling  
optimization.done.
Determining flags for building shared  
libraries...done.
Determining what charset files should be compiled  
in..done.
Determining what encoding files should be compiled  
in.done.
Determining what types Parrot should  
use..done.
Determining what opcode files should be compiled  
in...done.
Setting up experimental  
systems...done.
Determining what pmc files should be compiled  
in..done.
Determining your minimum pointer alignment. 1  
byte.
Probing for C  
headers.done.
Determining some  
sizesdone.
Computing native byteorder for Parrot's wordsizebig- 
endian.
Test the type of va_ptr (this test is likely to  
segfault)..x86.
Figuring out how to pack() Parrot's  
types.done.
Figuring out what formats should be used for  
sprintf..done.
Determining if your C library has a working  
S_ISREGyes.
Determining architecture, OS and JIT  
capability...done.
Running CPU specific  
stuffdone.
Verifying that the compiler supports function pointer  
castsyes.
Determining whether your compiler supports computed  
goto...yes.
Determining if your compiler supports  
inline...yes.
Determining what allocator to  
use.done.
Determining if your C library supports  
memalign...done.
Determining some signal  
stuff.done.
Determining if your C library has setenv /  
unsetenv...both.
Determining if your platform supports  
AIO...no.
Determining if your platform supports  
GMP..yes.
Determining if your platform supports  
gdbm.yes.
Testing  
snprintf .done.
Determining whether perldoc is  
installed...yes.
Determining whether python is installed.yes,  
2.4.1.
Determining whether antlr is  
installed..no.
Determining whether GNU bc is  

RE: inline mania

2000-08-01 Thread Brent Fulgham

 Alan Burlison wrote:

 John Tobey wrote:
 
  1 November 2000  - Perl6 alpha in C++ that uses classes derived
 from PerlInterpreter and SV 
 everywhere in place
 of these types, a la Pickle, but with inline
 methods that use Perl 5's internal API.
 
 I think there is an undiscussed assumption about the implementation
 language in there somewhere...
 

I think you may have missed the context of the message.  John was talking
about creating his Alpha using various existing projects that had already
been done in C++.

[ ... snip ... ]
 We've been down that path already - Topaz.  With all due respect this is
 supposed to be a community rewrite.  Your proposal doesn't seem to be
 along those lines.
 

With all due respect, I think you may be taking this out of context.  I
don't believe John's intent was to hijack the process.  He was outling
a theoretical schedule that could be used to provide a working 
Perl5 - Perl6 migration path.

Regards,

-Brent