Re: [perl #49762] parrot 0.5.2 make fails on mac ppc with leopard 10.5.1

2008-06-03 Thread chromatic
On Tuesday 03 June 2008 18:19:57 James Keenan via RT wrote:

> In r28055, I removed those references which either appeared in comments
> or were found in the .json files.  That leaves lib/Parrot/Manifest.pm
> and t/distro/file_metadata.t -- which I will take a look at (though
> perhaps others should glance at as well).  I think it's a safe
> assumption that if there are no references to 'svk' in our code base,
> svk can't pose any problems for us.  (Correct?)

Yes.  Those two references are the likely culprits for the svk initialization 
hang.

-- c


Re: [perl #54562] [TODO] DEVELOPING should stop lagging reality

2008-06-03 Thread Bob Rogers
   From: Geoffrey Broadwell <[EMAIL PROTECTED]>
   Date: Tue, 03 Jun 2008 14:21:28 -0700

   OK, how about this . . .

   -'f

Perfect.

-- Bob


[perl #49762] parrot 0.5.2 make fails on mac ppc with leopard 10.5.1

2008-06-03 Thread James Keenan via RT
On Tue Jun 03 12:56:44 2008, coke wrote:

> 
> (That said, didn't we already solve the svk issue elsewhere? If so, no
> harm in piggy-backing on that.)
> 


After my first post this morning, I got to thinking the same thing.  So
when I got home I grepped the repository for /svk/i, and came up with this:

[li11-226:parrot] 505 $ fns . | xargs grep -in svk
./tools/util/templates.json:11:Parrot, or help develop Parrot itself, we
recommend using Subversion or SVK on
./tools/util/templates.json:34:href=\"@[EMAIL PROTECTED]">Subversion
or SVK on
./tools/util/release.json:24:"svk.root" :
"http://svk.bestpractical.com/";
./tools/dev/mk_manifest_and_skip.pl:34:Recreates MANIFEST and
MANIFEST.SKIP from the svn/svk directories.
./tools/dev/mk_manifest_and_skip.pl:35:So far tested with svn 1.2.0, svn
1.4.2, and svk 1.08.
./lib/Parrot/Manifest.pm:18:cmd=> -d '.svn' ? 'svn' : 'svk',
./t/distro/file_metadata.t:35:my $cmd = -d '.svn' ? 'svn' : 'svk';
./t/distro/file_metadata.t:276:elsif ( !( (-d '.svn' && `svn info
.`) or `svk info .` ) ) {
./t/distro/file_metadata.t:284:# at a time. (do this to speed up
execution for the svn/svk commands)
./t/codingstd/gmt_utc.t:46:# trim out svn and svk Id lines


In r28055, I removed those references which either appeared in comments
or were found in the .json files.  That leaves lib/Parrot/Manifest.pm
and t/distro/file_metadata.t -- which I will take a look at (though
perhaps others should glance at as well).  I think it's a safe
assumption that if there are no references to 'svk' in our code base,
svk can't pose any problems for us.  (Correct?)

kid51


Re: [perl #54562] [TODO] DEVELOPING should stop lagging reality

2008-06-03 Thread Patrick R. Michaud
On Tue, Jun 03, 2008 at 02:21:28PM -0700, Geoffrey Broadwell wrote:
> OK, how about this:
> 
> 1. As with Bob's suggestion, DEVELOPING is reduced to just the
> unchanging middle paragraph.  It is then merely a flag -- removing that
> function as well is better left to another RT.
> 
> 2. The information about the next release moves to NEWS, where I think
> it belongs.  As soon as a release is cut and functionality starts to be
> committed, we should start updating NEWS.  A simple change to the format
> of the header line makes it serve the duty previously done by the first
> paragraph in DEVELOPING.
> 
> See the attached patch.

+1

Pm




Re: [perl #54562] [TODO] DEVELOPING should stop lagging reality

2008-06-03 Thread Will Coleda
On Tue, Jun 3, 2008 at 5:21 PM, Geoffrey Broadwell <[EMAIL PROTECTED]> wrote:
> On Mon, 2008-06-02 at 20:28 -0700, chromatic via RT wrote:
>> On Monday 02 June 2008 20:05:22 Bob Rogers wrote:
>>
>> > Agreed, but doesn't this info really belong in README?  Then DEVELOPING
>> > really only needs the middle paragraph, which is unchanging, and there
>> > would be one less file to have to update when cutting a new release.
>> >
>> >Or is there some purpose in keeping this information out of the hands
>> > of mere tarball-downloaders?
>>
>> DEVELOPING mostly exists so that people who check out interim releases run
>> extra tests by default and people who download only official releases don't.
>>
>> There may be a better way to accomplish this.
>
> OK, how about this:
>
> 1. As with Bob's suggestion, DEVELOPING is reduced to just the
> unchanging middle paragraph.  It is then merely a flag -- removing that
> function as well is better left to another RT.
>
> 2. The information about the next release moves to NEWS, where I think
> it belongs.  As soon as a release is cut and functionality starts to be
> committed, we should start updating NEWS.  A simple change to the format
> of the header line makes it serve the duty previously done by the first
> paragraph in DEVELOPING.
>
> See the attached patch.
>
>
> -'f
>
>

+1

-- 
Will "Coke" Coleda


Re: [perl #54562] [TODO] DEVELOPING should stop lagging reality

2008-06-03 Thread chromatic
On Tuesday 03 June 2008 14:21:28 Geoffrey Broadwell wrote:

> OK, how about this:
>
> 1. As with Bob's suggestion, DEVELOPING is reduced to just the
> unchanging middle paragraph.  It is then merely a flag -- removing that
> function as well is better left to another RT.
>
> 2. The information about the next release moves to NEWS, where I think
> it belongs.  As soon as a release is cut and functionality starts to be
> committed, we should start updating NEWS.  A simple change to the format
> of the header line makes it serve the duty previously done by the first
> paragraph in DEVELOPING.
>
> See the attached patch.

+1

-- c


Re: [perl #54562] [TODO] DEVELOPING should stop lagging reality

2008-06-03 Thread Geoffrey Broadwell
On Mon, 2008-06-02 at 20:28 -0700, chromatic via RT wrote:
> On Monday 02 June 2008 20:05:22 Bob Rogers wrote:
> 
> > Agreed, but doesn't this info really belong in README?  Then DEVELOPING
> > really only needs the middle paragraph, which is unchanging, and there
> > would be one less file to have to update when cutting a new release.
> >
> >Or is there some purpose in keeping this information out of the hands
> > of mere tarball-downloaders?
> 
> DEVELOPING mostly exists so that people who check out interim releases run 
> extra tests by default and people who download only official releases don't.
> 
> There may be a better way to accomplish this.

OK, how about this:

1. As with Bob's suggestion, DEVELOPING is reduced to just the
unchanging middle paragraph.  It is then merely a flag -- removing that
function as well is better left to another RT.

2. The information about the next release moves to NEWS, where I think
it belongs.  As soon as a release is cut and functionality starts to be
committed, we should start updating NEWS.  A simple change to the format
of the header line makes it serve the duty previously done by the first
paragraph in DEVELOPING.

See the attached patch.


-'f

diff --git a/DEVELOPING b/DEVELOPING
index 66d50d4..b1d5aee 100644
--- a/DEVELOPING
+++ b/DEVELOPING
@@ -1,11 +1,5 @@
 # $Id$
 
-THIS RELEASE: Parrot 0.6.2   2008.05.20
-PREVIOUS RELEASE: Parrot 0.6.1   2008.04.15
-
-This file should only exist in development distributions. Delete it
+This file should only exist in development distributions.  Delete it
 (and its entry in the MANIFEST) before packaging Parrot up for a CPAN
 or other release distribution.
-
-'THIS RELEASE' is the goal of the current development.
-'PREVIOUS RELEASE' is the release that has been last let out into the wild.
diff --git a/NEWS b/NEWS
index d740ad8..bb6ba56 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,12 @@
 # $Id$
 
+New for next release (2008-06-17, version undecided)
+- Configuration
+  + expanded step gen::opengl
+- Miscellaneous
+  + ported OpenGL/GLU/GLUT bindings to Win32 and more Mac OS X variants
+  + generate OpenGL/GLU/GLUT bindings by parsing system headers
+
 New in 0.6.2
 - Specification
   + updated and launched pdd28_strings.pod


Re: [perl #54602] [PATCH] Several changes to allow C++ compiling

2008-06-03 Thread NotFound
Looking more carefully at this issue, it seems that those variables
and the code that uses them has no real effect. Without it, make test
pass, make testj pass, make hello and make perl6 builds and runs.

This patch cleans all. It needs to be tested with make testj in win
32, and for completeness in other jitable platforms, but the variables
are only used in the i386 jit files. I already tested in linux i386.

-- 
Salu2
Index: src/exec.c
===
--- src/exec.c	(revisión: 28051)
+++ src/exec.c	(copia de trabajo)
@@ -62,9 +62,6 @@
 
 int Parrot_exec_run = 0;
 
-extern char **Parrot_exec_rel_addr;
-extern int Parrot_exec_rel_count;
-
 /*
 
 =item C
@@ -90,7 +87,6 @@
 Parrot_exec_objfile_t * const obj =
 mem_allocate_zeroed_typed(Parrot_exec_objfile_t);
 exec_init(obj);
-Parrot_exec_rel_addr = mem_allocate_n_zeroed_typed(4, char *);
 obj->bytecode_header_size =
 (interp->code->base.file_offset + 4) * sizeof (opcode_t);
 jit_info = parrot_build_asm(interp, code_start, code_end,
@@ -341,10 +337,7 @@
 break;
 }
 
-if (Parrot_exec_rel_count)
-addr = Parrot_exec_rel_addr[--Parrot_exec_rel_count];
-else
-addr = nptr + disp;
+addr = nptr + disp;
 new_relloc->offset= (int)(addr - obj->text.code);
 new_relloc->symbol_number = symbol_number;
 new_relloc->type  = type;
Index: src/jit/i386/jit_emit.h
===
--- src/jit/i386/jit_emit.h	(revisión: 28051)
+++ src/jit/i386/jit_emit.h	(copia de trabajo)
@@ -94,19 +94,6 @@
 #define ISR1 emit_EAX
 #define FSR1 0
 
-extern char **Parrot_exec_rel_addr;
-extern int Parrot_exec_rel_count;
-
-/* Register the address of a rellocation. */
-#if EXEC_CAPABLE
-#  define EXEC_RA(addr) \
-   if (Parrot_exec_rel_addr) \
- Parrot_exec_rel_addr[Parrot_exec_rel_count++] = addr;
-#  define EXEC_RD \
-   if (Parrot_exec_rel_addr && Parrot_exec_rel_count) \
- Parrot_exec_rel_count--;
-#endif /* EXEC_CAPABLE */
-
 #define emit_b00 0
 #define emit_b01 1
 #define emit_b10 2
@@ -170,9 +157,6 @@
 }
 else {
 *(long *)pc = disp;
-#if EXEC_CAPABLE
-EXEC_RA(pc);
-#endif /* EXEC_CAPABLE */
 return pc + 4;
 }
 }
@@ -240,9 +224,6 @@
 if (!base && !(i && scale)) {
 *(pc++) = (char)(emit_Mod_b00 | reg_opcode | emit_rm_b101);
 *(long *)pc = disp;
-#if EXEC_CAPABLE
-EXEC_RA(pc);
-#endif /* EXEC_CAPABLE */
 return pc + 4;
 }
 
@@ -371,7 +352,6 @@
*(pc++) = (char) 0xff; \
*(pc++) = (char) 0x35; \
*(long *)pc = (long)mem; \
-   EXEC_RA(pc); \
(pc) += 4; }
 #else /* EXEC_CAPABLE */
 #  define emitm_pushl_m(pc, mem) { \
@@ -1353,7 +1333,7 @@
 #  define emitm_callm(pc, b, i, s, d) { \
*((pc)++) = (char) 0xff; \
(pc) = emit_r_X(interp, pc, emit_reg(emit_b010), b, i, s, d);\
-   EXEC_RD }
+   }
 #else /* EXEC_CAPABLE */
 #  define emitm_callm(pc, b, i, s, d) { \
*((pc)++) = (char) 0xff; \
@@ -1376,7 +1356,7 @@
 #  define emitm_jumpm(pc, b, i, s, d) { \
*((pc)++) = (char) 0xff; \
(pc) = emit_r_X(interp, pc, emit_reg(emit_b100), b, i, s, d); \
-   EXEC_RD }
+   }
 #else /* EXEC_CAPABLE */
 #  define emitm_jumpm(pc, b, i, s, d) { \
*((pc)++) = (char) 0xff; \
Index: src/jit/i386/exec_dep.c
===
--- src/jit/i386/exec_dep.c	(revisión: 28051)
+++ src/jit/i386/exec_dep.c	(copia de trabajo)
@@ -32,8 +32,6 @@
 jit_info->optimizer->cur_section;
 int i, j, last_is_branch = 0;
 void ** offset;
-extern char **Parrot_exec_rel_addr;
-extern int Parrot_exec_rel_count;
 
 assert(op_jit[*jit_info->cur_op].extcall == 1);
 if (cur_section->done == 1)
Index: src/jit.c
===
--- src/jit.c	(revisión: 28051)
+++ src/jit.c	(copia de trabajo)
@@ -48,9 +48,6 @@
 void Parrot_jit_debug(PARROT_INTERP);
 #endif
 
-char **Parrot_exec_rel_addr;
-int Parrot_exec_rel_count;
-
 /*
 
 =item Coptimizer->map_branch[jit_info->op_i + (i)]
 #endif
 
-extern char **Parrot_exec_rel_addr;
-extern int Parrot_exec_rel_count;
-
 #define ROFFS_INT(x) REG_OFFS_INT(jit_info->cur_op[x])
 #define ROFFS_NUM(x) REG_OFFS_NUM(jit_info->cur_op[x])
 #define ROFFS_STR(x) REG_OFFS_STR(jit_info->cur_op[x])


Re: Release Managers needed

2008-06-03 Thread Will Coleda
On Thu, May 22, 2008 at 11:07 PM, Will Coleda <[EMAIL PROTECTED]> wrote:
> We are down to one more scheduled release next month by Smash, and
> need to refresh our list of pending volunteers.
>
> Anyone with a commit bit and a PAUSE id can do it (easy enough  to get
> if you don't have one), and of course repeat volunteers are welcome.
>
> I'd like to get managers scheduled at least out through the end of
> this year, possibly beyond if we get more than six volunteers.
>
> Respond privately, along with a list of good and or bad months for you
> if you're interested. Third tuesday of each month, the work required
> is listed in docs/project/release_manager_guide.pod
>
> Thanks!
>
> --
> Will "Coke" Coleda
>

Thank you to everyone that volunteered; here's the list through the end of 2008.

 - June 17th, 2008  - Nuno Carvalho
 - July 15th, 2008  - Bernhard Schmalhofer
 - August 19th, 2008- Bob Rogers
 - September 16th, 2008 - Patrick R. Michaud
 - October 21st, 2008   - Jerry Gay
 - November 18th, 2008  - chromatic
 - December 16th, 2008  - Andrew Whitworth

Many repeat customers, and one newbie; Presuming I haven't slotted him
in during finals week, hopefully Andrew will be ready to cut a release
in December. (If I have, we can always rotate him.) I believe I've
accommodated everyone's schedules. If not, we can juggle things
around, no problem.

Regards.

-- 
Will "Coke" Coleda


Re: [perl #55244] [BUG] Configure.pl TEMP_exec_dep warning

2008-06-03 Thread chromatic
On Tuesday 03 June 2008 13:09:39 Will Coleda wrote:

> Remove the comma before the last fat arrow, and it works, yes.
>
> (Otherwise you introduce a different warning.)

Wow.  Nice typo.

Applied in r28052.

-- c


Re: [perl #55244] [BUG] Configure.pl TEMP_exec_dep warning

2008-06-03 Thread Will Coleda
On Tue, Jun 3, 2008 at 3:55 PM, chromatic via RT
<[EMAIL PROTECTED]> wrote:
> On Tuesday 03 June 2008 12:40:08 Will Coleda wrote:
>
>> on OS X 10.4, intel, r28051, with a realclean and no options to
>> Configure.pl:
>>
>>
>> 
>> Generating makefiles and other build files...value for 'TEMP_exec_dep'
>> in config/gen/makefiles/root.in is undef at
>> lib/Parrot/Configure/Compiler.pm line 400, <$in> line 1228.
>> .done.
>> Moving platform files into place..done.
>> Recording configuration data for later retrieval..done.
>> Okay, we're done!
>>
>> You can now use `make' to build your Parrot.
>> After that, you can use `make test' to run the test suite.
>
> Does this patch fix it?  Note that you have to run Configure.pl again.
>
> -- c

Remove the comma before the last fat arrow, and it works, yes.

(Otherwise you introduce a different warning.)

Regards.

-- 
Will "Coke" Coleda


Re: [perl #49762] parrot 0.5.2 make fails on mac ppc with leopard 10.5.1

2008-06-03 Thread chromatic
On Tuesday 03 June 2008 12:49:38 James Keenan via RT wrote:

> > If I understand Arcady's and Will's posts earlier in this thread, we
> > need to prevent Configure.pl from hanging up when it encounters SVK on a
> > particular box where that SVK has never been run before.
> >
> > So I suspect we'll have to simulate the restoration of SVK virginity and
> > then guarantee that Configure.pl does not get so flustered by that that
> > it hangs up.

I wonder if setting the SVKROOT environment variable to something unlikely 
would help simulate this.

$ENV{SVKROOT} = 'you must be kidding me';

-- c


Re: [perl #49762] parrot 0.5.2 make fails on mac ppc with leopard 10.5.1

2008-06-03 Thread Will Coleda
On Tue, Jun 3, 2008 at 3:49 PM, James Keenan via RT
<[EMAIL PROTECTED]> wrote:
> For got to cc the list
>> >
>>
>> If I understand Arcady's and Will's posts earlier in this thread, we
>> need to prevent Configure.pl from hanging up when it encounters SVK on a
>> particular box where that SVK has never been run before.
>>
>> So I suspect we'll have to simulate the restoration of SVK virginity and
>> then guarantee that Configure.pl does not get so flustered by that that
>> it hangs up.
>>
>> kid51

We could also drop support for doing a check with any version control
systems other than subversion. (Another note that probably belongs on
another ticket: just because we have an svn repository doesn't mean we
have an svn binary: see tortoiseSVN on windows.).

I would prefer to keep our infrastructure geared towards the one
version control system we *have* to support; There's no problem with
folks using other front ends to the system, of course, but it's all
subversion in the end.

(That said, didn't we already solve the svk issue elsewhere? If so, no
harm in piggy-backing on that.)

-- 
Will "Coke" Coleda


Re: [perl #55244] [BUG] Configure.pl TEMP_exec_dep warning

2008-06-03 Thread chromatic
On Tuesday 03 June 2008 12:40:08 Will Coleda wrote:

> on OS X 10.4, intel, r28051, with a realclean and no options to
> Configure.pl:
>
>
> 
> Generating makefiles and other build files...value for 'TEMP_exec_dep'
> in config/gen/makefiles/root.in is undef at
> lib/Parrot/Configure/Compiler.pm line 400, <$in> line 1228.
> .done.
> Moving platform files into place..done.
> Recording configuration data for later retrieval..done.
> Okay, we're done!
>
> You can now use `make' to build your Parrot.
> After that, you can use `make test' to run the test suite.

Does this patch fix it?  Note that you have to run Configure.pl again.

-- c

=== config/auto/jit.pm
==
--- config/auto/jit.pm	(revision 28058)
+++ config/auto/jit.pm	(local)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2007, The Perl Foundation.
+# Copyright (C) 2001-2008, The Perl Foundation.
 # $Id$
 
 =head1 NAME
@@ -167,16 +167,17 @@
 }
 else {
 $conf->data->set(
-jitarchname => 'nojit',
-jitcpuarch  => $cpuarch,
-jitcpu  => $cpuarch,
-jitosname   => $osname,
-jitcapable  => 0,
-execcapable => 0,
-cc_hasjit   => '',
-TEMP_jit_o  => '',
-TEMP_exec_h => '',
-TEMP_exec_o => ''
+jitarchname=> 'nojit',
+jitcpuarch => $cpuarch,
+jitcpu => $cpuarch,
+jitosname  => $osname,
+jitcapable => 0,
+execcapable=> 0,
+cc_hasjit  => '',
+TEMP_jit_o => '',
+TEMP_exec_h=> '',
+TEMP_exec_o=> '',
+TEMP_exec_dep, => '',
 );
 }
 


[perl #49762] parrot 0.5.2 make fails on mac ppc with leopard 10.5.1

2008-06-03 Thread James Keenan via RT
For got to cc the list
> > 
> 
> If I understand Arcady's and Will's posts earlier in this thread, we
> need to prevent Configure.pl from hanging up when it encounters SVK on a
> particular box where that SVK has never been run before.
> 
> So I suspect we'll have to simulate the restoration of SVK virginity and
> then guarantee that Configure.pl does not get so flustered by that that
> it hangs up.
> 
> kid51




Re: [perl #55238] [BUG] OpenGL breaks the build

2008-06-03 Thread Will Coleda
On Tue, Jun 3, 2008 at 2:54 PM, Geoffrey Broadwell <[EMAIL PROTECTED]> wrote:
> On Tue, 2008-06-03 at 08:33 -0700, Will Coleda wrote:
>> # New Ticket Created by  Will Coleda
>> # Please include the string:  [perl #55238]
>> # in the subject line of all future correspondence about this issue.
>> # http://rt.perl.org/rt3/Ticket/Display.html?id=55238 >
>>
>>
>> ./parrot -o runtime/parrot/library/OpenGL.pbc 
>> runtime/parrot/library/OpenGL.pir
>> error:imcc:No such file or directory
>> in file 'runtime/parrot/library/OpenGL.pir' line 79
>> make: *** [runtime/parrot/library/OpenGL.pbc] Error 2
>>
>> The offending line is shown below:
>>
>> 76
>> 77  .namespace ['OpenGL']
>> 78
>> 79  .include 'library/OpenGL_funcs.pir'
>> 80
>> 81
>> 82  =item _opengl_init()
>>
>> "OpenGL_funcs.pir'" doesn't appear to be in the repository, so when we
>> try to build it, it dies.
>>
>> svn blame says.
>>
>>  27975  japhb .include 'library/OpenGL_funcs.pir'
>>
>> Regards.
>
> That file is generated during Configure.pl (by config/gen/opengl.pm).  I
> have a pending question out asking what the right place is to add
> makefile dependencies for libraries in runtime/parrot/library/ (because
> most of them contain at least dependencies on generated files in
> runtime/parrot/include that as far as I can tell we don't enforce).
> Unfortunately, each time I've asked, I've been Warnocked.

Build dependencies _must_ be listed in the makefile; we need more deps
here, not fewer. Are you asking where in root.in they should go?
doesn't matter, carve out a section. ^_^

(Please take the rest of this as a documentation of a rant which is
not specifically directed at you. Some enterprising person could
probably break this up into an RT or two =-)

We have a few kinds of generated files at the moment:

1) generated by normal config
2) generated by config with special maintainer options
3) generated by some funky command line that isn't part of the build
and you have to remember when to run it. (like when adding/deleting
opcodes)
4) generated during the build process.

Step 3 should go away, and either become part of step 2, or step 4,
depending on if a non-standard tool is required.
Step 2 can go away and be replaced by a clever config option that
detects whether or not you have the tools installed. If not, then you
get "touch" and a warning. Everything still depends on each other, but
if you don't have the tool, you can't rebuild the file. (In fact, we
might want to replace this by a failure, not a touch: if you change a
file that generated files depend on and you can't update the generated
(checked in) files, you shouldn't be editing that file in the first
place, now should you?)

Additionally, there are some files (e.g. Parrot::Config) which are
smart enough to at least complain if they need configure to be run and
it hasn't.

Sadly, none of this addresses the issue you present here, which is:
how could I have avoided a realclean after this update. Unifying the
build process is is going to involve a revamp of config, however,
which is a whole can of worms I'm trying to avoid just this second. In
the mean time, we can at least reduce the kinds of generated files we
have by half by cutting out types 2 & 3 above.

A good intermediate step would be to create a dependency for
config-generated files that stopped the build with the message "You
must re-Configure parrot to generate this file."; If we ever have the
ability to generate that file as the type 4 files above, we can just
change the build step there to actually gen the file instead of
complaining.

> There is, however, another problem here.  I'm not sure how you ended up
> *not* having an OpenGL_funcs.pir when you went to make.

Because I did an update and then a make. I typically fallback and do a
realclean and rebuild, but apparently did not in this case.

So, your patch here was just fine, as far as we do things today, but I
hope we can find a way to do better. =-)

Feel free to resolve the ticket.

>  According to
> config/gen/makefiles/root.in , OpenGL_funcs.pir is conditioned on
> has_opengl and included in GEN_PASM_INCLUDES, which is part of
> CONFIGURE_GENERATED_FILES, which should *not* be removed on 'make
> clean', only on 'make realclean'.  And the latter requires a 'perl
> Configure.pl' afterwards, which regenerates that file!
>
> In the mean time, a 'make realclean; perl Configure.pl; make' ought to
> fix it for you.  But I still want to know how you ended up ready to make
> without having that file.
>
>
> -'f

-- 
Will "Coke" Coleda


[perl #55244] [BUG] Configure.pl TEMP_exec_dep warning

2008-06-03 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #55244]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=55244 >


on OS X 10.4, intel, r28051, with a realclean and no options to Configure.pl:



Generating makefiles and other build files...value for 'TEMP_exec_dep'
in config/gen/makefiles/root.in is undef at
lib/Parrot/Configure/Compiler.pm line 400, <$in> line 1228.
.done.
Moving platform files into place..done.
Recording configuration data for later retrieval..done.
Okay, we're done!

You can now use `make' to build your Parrot.
After that, you can use `make test' to run the test suite.

Happy Hacking,
The Parrot Team


-- 
Will "Coke" Coleda


Re: [perl #55238] [BUG] OpenGL breaks the build

2008-06-03 Thread Geoffrey Broadwell
On Tue, 2008-06-03 at 08:33 -0700, Will Coleda wrote:
> # New Ticket Created by  Will Coleda 
> # Please include the string:  [perl #55238]
> # in the subject line of all future correspondence about this issue. 
> # http://rt.perl.org/rt3/Ticket/Display.html?id=55238 >
> 
> 
> ./parrot -o runtime/parrot/library/OpenGL.pbc 
> runtime/parrot/library/OpenGL.pir
> error:imcc:No such file or directory
> in file 'runtime/parrot/library/OpenGL.pir' line 79
> make: *** [runtime/parrot/library/OpenGL.pbc] Error 2
> 
> The offending line is shown below:
> 
> 76
> 77  .namespace ['OpenGL']
> 78
> 79  .include 'library/OpenGL_funcs.pir'
> 80
> 81
> 82  =item _opengl_init()
> 
> "OpenGL_funcs.pir'" doesn't appear to be in the repository, so when we
> try to build it, it dies.
> 
> svn blame says.
> 
>  27975  japhb .include 'library/OpenGL_funcs.pir'
> 
> Regards.

That file is generated during Configure.pl (by config/gen/opengl.pm).  I
have a pending question out asking what the right place is to add
makefile dependencies for libraries in runtime/parrot/library/ (because
most of them contain at least dependencies on generated files in
runtime/parrot/include that as far as I can tell we don't enforce).
Unfortunately, each time I've asked, I've been Warnocked.

There is, however, another problem here.  I'm not sure how you ended up
*not* having an OpenGL_funcs.pir when you went to make.  According to
config/gen/makefiles/root.in , OpenGL_funcs.pir is conditioned on
has_opengl and included in GEN_PASM_INCLUDES, which is part of
CONFIGURE_GENERATED_FILES, which should *not* be removed on 'make
clean', only on 'make realclean'.  And the latter requires a 'perl
Configure.pl' afterwards, which regenerates that file!

In the mean time, a 'make realclean; perl Configure.pl; make' ought to
fix it for you.  But I still want to know how you ended up ready to make
without having that file.


-'f




Re: [perl #55000] [PATCH] Threads Failures on Optimized Build

2008-06-03 Thread chromatic
On Tuesday 03 June 2008 10:50:27 NotFound via RT wrote:

> On Sun, Jun 1, 2008 at 1:31 PM, Vasily Chekalkin <[EMAIL PROTECTED]> wrote:
> > interp->exceptions initialized lazily. But really_destroy_exception have
> > signature with __attribute_notnull__. So we should either check this
> > value before function call or change function signature to accepts NULL.
>
> I tried this variant:
>
> --- src/exceptions.c(revisión: 28050)
> +++ src/exceptions.c(copia de trabajo)
> @@ -772,8 +772,10 @@
>  void
>  destroy_exception_list(PARROT_INTERP)
>  {
> -really_destroy_exception_list(interp->exceptions);
> -really_destroy_exception_list(interp->exc_free_list);
> +if (interp->exceptions)
> +really_destroy_exception_list(interp->exceptions);
> +if (interp->exc_free_list)
> +really_destroy_exception_list(interp->exc_free_list);
>  }
>
>  /*
>
> In my platform, Ubuntu 8.04 i386, solves both this problem and #55170
>
> The diagnostic is the same, the root of the problem is to pass null to
> a parameter attributed as non null.
>
> (Optionally add several rants about premature optimization here).

Agreed, and applied as r28051.  Thanks, everyone!

-- c


Re: [perl #55170] [BUG] "make perl6" fails with an optimized parrot

2008-06-03 Thread chromatic
On Sunday 01 June 2008 16:24:37 Andrew Whitworth wrote:

> I'm not sure if this issue has been brought up before, and I'm also
> not sure if it's related to "#55000 Threads Failures on Optimized
> Build".
>
> I run this script on Debian with GCC 4.2.3:
>
> make realclean
> perl Configure.pl --optimize && make && make perl6
>
> I built again without --optimize and it works perfectly. I'm doing
> another optimized build now to get the log entries (i didn't copy them
> the first time like i should have). Parrot builds optimized, although
> it fails some threading tests as chromatic points out in #55000. The
> perl6 executable does not. I'll post more information in a follow-up.

Definitely related to RT #55000, and fixed in r28051.

-- c


Re: [svn:parrot] r28038 - in branches/gsoc_pdd09: include/parrot src/gc

2008-06-03 Thread chromatic
On Monday 02 June 2008 13:10:32 [EMAIL PROTECTED] wrote:

> +/*
> + * 2) Mark root items as grey
> + * I don't currently know how to determine which items are root. However,
> + * When we find them, we can mark them
> + */

The existing GC systems all start with interp->iglobals.  Note that this 
doesn't scan the C stack or CPU registers for live entities.

> +#define GC_IT_NEED_TA_DO_DA_BREAK(x) ((x)->break)

Every time you mark one entity as black, you could do this break.  You don't 
want to break any more frequently (though you might want to break less 
frequently).

-- c


[perl #55000] [PATCH] Threads Failures on Optimized Build

2008-06-03 Thread NotFound
On Sun, Jun 1, 2008 at 1:31 PM, Vasily Chekalkin <[EMAIL PROTECTED]> wrote:

> interp->exceptions initialized lazily. But really_destroy_exception have
> signature with __attribute_notnull__. So we should either check this value
> before function call or change function signature to accepts NULL.

I tried this variant:

--- src/exceptions.c(revisión: 28050)
+++ src/exceptions.c(copia de trabajo)
@@ -772,8 +772,10 @@
 void
 destroy_exception_list(PARROT_INTERP)
 {
-really_destroy_exception_list(interp->exceptions);
-really_destroy_exception_list(interp->exc_free_list);
+if (interp->exceptions)
+really_destroy_exception_list(interp->exceptions);
+if (interp->exc_free_list)
+really_destroy_exception_list(interp->exc_free_list);
 }

 /*

In my platform, Ubuntu 8.04 i386, solves both this problem and #55170

The diagnostic is the same, the root of the problem is to pass null to
a parameter attributed as non null.

(Optionally add several rants about premature optimization here).

-- 
Salu2
Index: src/exceptions.c
===
--- src/exceptions.c	(revisión: 28050)
+++ src/exceptions.c	(copia de trabajo)
@@ -772,8 +772,10 @@
 void
 destroy_exception_list(PARROT_INTERP)
 {
-really_destroy_exception_list(interp->exceptions);
-really_destroy_exception_list(interp->exc_free_list);
+if (interp->exceptions)
+really_destroy_exception_list(interp->exceptions);
+if (interp->exc_free_list)
+really_destroy_exception_list(interp->exc_free_list);
 }
 
 /*


Re: [perl #49762] parrot 0.5.2 make fails on mac ppc with leopard 10.5.1

2008-06-03 Thread Jim Brandt

Using parrot 0.6.2 on 10.5.3, make now builds and I can run the tests.

So for the newest versions of parrot and the OS, the problem is fixed.

Jim

Simon Cozens wrote:

Sure, what do you need me to do?

S

Sent from my iPod

On 3 Jun 2008, at 23:46, "James Keenan via RT" 
<[EMAIL PROTECTED]> wrote:



Resolution of this ticket appears to depend on having Mac OS X 10.5
(whether on ppc or on intel).

Is there anyone who can volunteer to work on this?

Thank you very much.

kid51


--
Jim Brandt
Administrative Computing Services
University at Buffalo



[perl #55238] [BUG] OpenGL breaks the build

2008-06-03 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #55238]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=55238 >


./parrot -o runtime/parrot/library/OpenGL.pbc runtime/parrot/library/OpenGL.pir
error:imcc:No such file or directory
in file 'runtime/parrot/library/OpenGL.pir' line 79
make: *** [runtime/parrot/library/OpenGL.pbc] Error 2

The offending line is shown below:

76
77  .namespace ['OpenGL']
78
79  .include 'library/OpenGL_funcs.pir'
80
81
82  =item _opengl_init()

"OpenGL_funcs.pir'" doesn't appear to be in the repository, so when we
try to build it, it dies.

svn blame says.

 27975  japhb .include 'library/OpenGL_funcs.pir'

Regards.
-- 
Will "Coke" Coleda


Re: [perl #49762] parrot 0.5.2 make fails on mac ppc with leopard 10.5.1

2008-06-03 Thread Simon Cozens

Sure, what do you need me to do?

S

Sent from my iPod

On 3 Jun 2008, at 23:46, "James Keenan via RT" <[EMAIL PROTECTED] 
> wrote:



Resolution of this ticket appears to depend on having Mac OS X 10.5
(whether on ppc or on intel).

Is there anyone who can volunteer to work on this?

Thank you very much.

kid51


Re: [perl #49226] [BUG] 'make pbc_to_c' fails on Intel Mac

2008-06-03 Thread Will Coleda
On Tue, Jun 3, 2008 at 11:03 AM, James Keenan via RT
<[EMAIL PROTECTED]> wrote:
> Ovid,
>
> If I understand correctly the issues you raised in the OP, you were
> attempting to build a Perl 6 binary on an Intel Mac (10.4?  10.5?).
> Either the instructions weren't clear or it was a genuine problem on
> that OS.
>
> I suspect that over the past months any such problem has cleared up in
> the course of other fixes -- but since I don't have an Intel Mac, I
> can't confirm it myself.
>
> Could you give it another try and report if you are still unable to get
> that binary?
>
> Thank you very much.
> kid51
>

FYI, I have no problems with this on a 10.4 OS X/intel box.

-- 
Will "Coke" Coleda


[perl #49226] [BUG] 'make pbc_to_c' fails on Intel Mac

2008-06-03 Thread James Keenan via RT
Ovid,

If I understand correctly the issues you raised in the OP, you were
attempting to build a Perl 6 binary on an Intel Mac (10.4?  10.5?). 
Either the instructions weren't clear or it was a genuine problem on
that OS.

I suspect that over the past months any such problem has cleared up in
the course of other fixes -- but since I don't have an Intel Mac, I
can't confirm it myself.

Could you give it another try and report if you are still unable to get
that binary?

Thank you very much.
kid51


[perl #49762] parrot 0.5.2 make fails on mac ppc with leopard 10.5.1

2008-06-03 Thread James Keenan via RT
Resolution of this ticket appears to depend on having Mac OS X 10.5
(whether on ppc or on intel).

Is there anyone who can volunteer to work on this?

Thank you very much.

kid51


[perl #52898] build on an macosx 10.5.2

2008-06-03 Thread James Keenan via RT
Stéphane,

Have we resolved all the issues in this ticket?  (If so, I'll mark it
resolved.)

Thank you very much.


Re: building pugs under Fedora 9 doesn't work

2008-06-03 Thread Moritz Lenz
Ryan Richter wrote:
> On Tue, Jun 03, 2008 at 12:03:00PM +0200, Moritz Lenz wrote:
>> My last successful build was r18093 with GHC 6.6.1.
>> Maybe we should just die in Makefile.PL until somebody finds a fix.
> 
> Maybe we should just revert the pugs source to that rev.  Haven't the
> modifications since then basically just broken the build for most
> people?

They were an attempt to get it working under ghc 6.8.1.
As long as pugs isn't actively developed, the question is mostly
irrelevant. Yet feel free to revert the changes to pugs, unless somebody
vetoes.
(But please don't blindly revert any commit in the meantime, there were
other non-pugs changes to the repo that many hackers would hate you for
reverting ;-)

Cheers,
Moritz

-- 
Moritz Lenz
http://moritz.faui2k3.org/ |  http://perl-6.de/



Re: building pugs under Fedora 9 doesn't work

2008-06-03 Thread Ryan Richter
On Tue, Jun 03, 2008 at 12:03:00PM +0200, Moritz Lenz wrote:
> My last successful build was r18093 with GHC 6.6.1.
> Maybe we should just die in Makefile.PL until somebody finds a fix.

Maybe we should just revert the pugs source to that rev.  Haven't the
modifications since then basically just broken the build for most
people?

-ryan


[perl #55228] [BUG] Configuration problem with GLUT on macintel leopard

2008-06-03 Thread via RT
# New Ticket Created by  Stephane Payrard 
# Please include the string:  [perl #55228]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=55228 >


This bug appeared very recently (less than 3 days ago). I did "make realclean".
Below the relevant part of Configure.PL logs :

Determining if your platform supports OpenGLyes, MacOSX_GLUT 5.
...
Generating OpenGL bindings...
step gen::opengl died during execution: 'GLEW_VERSION_1_1' is defined
as 'GLEW_GET_VAR(__GLEW_VERSION_1_1)', but no
'GLEW_GET_VAR(__GLEW_VERSION_1_1)' has been defined at
config/gen/opengl.pm line 420.

 at Configure.pl line 66

-- 
cognominal stef


Re: Fatal/autodie exception hierarchies for Perl 5

2008-06-03 Thread Paul Fenwick

G'day Larry / p6l / p5p,

Larry Wall wrote:


One little problem at the outset here is that Perl 6 has almost no
concept of "built-in" or "CORE", except insofar as the Prelude happens
to choose to import certain subs into the user's scope by default.
Once you actually start parsing and calling functions, there is
no distinction at all between different versions of "open", say.


I think that chromatic's suggestion of roles is an excellent one.  In P5 we 
certainly do have a concept of built-in (core) functions, and if nothing 
else autodie uses this internally to work its dark magicks.


In P6, I imagine we can just drop the the core and user roles, leaving the 
other roles intact.


Originally, my plan was for the vanilla autodie:

use autodie;

to enable autodie for all core functions in scope.  However I think that 
having a 'default' role makes quite a lot of sense.  User-defined 
subroutines can register themselves with the default role, so a vanilla 
autodie can enable Klingon semantics[1] for whatever system is being used at 
the time.



Currently, when testing exceptions from autodie, we can use:

given ($@) {
when (undef)   { say "No errors here" }
when ('open')  { say "Open died" }
when (':file') { say "Some sort of file error" }

>>  ...

}


That may be what we have to do for Perl 5, but from the Perl 6
viewpoint it's duplicating information that should derive directly from
the type and introspection systems.


For the following discussion, I fear I'm bumping my head on the low ceiling 
of my P6 knowledge, so I apologise in advance for my ignorance.


The autodie exceptions are real objects, which do contain an awful lot of 
information about what went wrong, including the failed subroutine, where it 
was called from, what arguments were involved, and so on.  They just happen 
to smart-match against our roles, since those are things that are likely to 
be commonly checked.


However I suspect this is a very different system to what's intended for P6 
given the next paragraph:


> For instance, functions are real objects in P6,
> and can have other methods than just the "invoke" method.  If you want
> to tell a function how to behave, you might just talk to it directly...

So could I theoretically say (in pidgin P6):

open.on_fail(try_the_other_drive);
print.on_fail(panic);
system.on_fail(wake_sysadmin_from_slumber);

That certainly has a lot of value when thinking about parallel processing, 
since errors can be handled in-situ, ignored, or handled later when the data 
is collated or used.


However there's still a number of quite concrete current-day examples where 
the traditional try/catch paradigm provides excellent value.  The classic is 
a single-threaded sysadmin task:


try {
mount_tapes;
check_tape_labels;
backup_files;
delete_old_files;
}
catch {
wake_sysadmin_from_slumber;
}
finally {
unmount_tapes;
}

Here if any part of our try fails, then we immediately want to stop what 
we're doing, rather than overwriting the wrong tape, or deleting files we 
didn't successfully back-up.  I trust these sorts of exceptions will still 
be around in P6?



That's because it would be S33, which hasn't been written yet... :)


Oh good, my searching skills aren't completely dead then.

[snips]


As chromatic suggested, it would be good to use some kind of role-ish
mixin idea (with or without Moose) instead of hierarchies of strings.


Given my ignorance of Moose, and my desire for autodie to be a candidate for 
inclusion in the P5 core, I was intending autodie to be orthogonal to Moose. 
 Of course I'm happy for there to be hooks which Moose may find useful.


I do very much like the idea of roles, they're going to be quite useful. 
Mixins I haven't even considered.  I'll make sure there's a sane way to use 
them, but the ones provided with standard autodie will probably be quite 
lightweight.



I dunno--you're dragging us back down from the stratosphere of theory
to the troposphere of practice.
I don't expect we can keep things entirely lined up, but it would
be nice to avoid gratuitous divergence if we can.


I'm not sure actually sure if we've avoided divergence yet, but unless 
there's any barotrauma due to the sudden change in pressure, I'll continue 
to throw autodie exception-related plans to p6l as they happen.  ;)


All the best,

Paul

[1] Klingon semantics: It is better to die() in the attempt than to return() 
in failure.  I'll buy a beverage for whomever can help me translate that 
back into Klingon in time for OSCON. ;)


--
Paul Fenwick <[EMAIL PROTECTED]> | http://perltraining.com.au/
Director of Training   | Ph:  +61 3 9354 6001
Perl Training Australia| Fax: +61 3 9354 2681


Re: The Inf type

2008-06-03 Thread TSa

HaloO,

John M. Dlugosz wrote:
I don't know why he's calling it an "Int with non-uniform spacing" 
unless he is complaining about what happens when you store ints in 
floats: it rounds off to the mantissa size.


With uniform spacing you have

  constant $step = 1;

and

  $x++;  # means $x = $x + $step

whereas non-uniform is

  $x++;  # means $x = $x + $x.step;

You can make the second to subsume the first with

  multi method *step (Int) { 1 }

and optimize whenever you can prove that $x always
does Int. If you can't, you leave that to the runtime.

Going further with that you could define $a == $b to
actually mean abs($a-$b) < min($a.step, $b.step).
E.g. with the usual 64bit floats you have 0.5.step==2**-53
and (2**52).step==1. Then per definition

  multi method *step (Real) { 0 }

essentially means a real object can't step away from itself
or some such.

Given the above, the optimizer can e.g. take a sub that claims to
achieve its business with two Reals in such a way that ++ is
considered a noop and taken out of the code. If the code is not
up to that it can hardly be a function that properly handles two
Reals. If your test suite manages to detect that failure is another
question. But a good enough optimizer makes bad enough programs
reveal their realness or lack thereof ;)


Regards, TSa.
--

"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12  -- Srinivasa Ramanujan


Re: building pugs under Fedora 9 doesn't work

2008-06-03 Thread Moritz Lenz
Hi,

Gerd Pokorra wrote:
> building pugs under Fedora 9 doesn't work. With every revision I get the
> following error by executing the command "make":
...
> Generating precompiled Prelude, Math::Basic... pugs: Internal error:
> Invalid grammatical category: "Bool"
> Please file a bug report

This is a known issue, and nobody really knows what to do about it. Pugs
isn't actively developed at the moment.

My last successful build was r18093 with GHC 6.6.1.
Maybe we should just die in Makefile.PL until somebody finds a fix.

Cheers,
Moritz

-- 
Moritz Lenz
http://moritz.faui2k3.org/ |  http://perl-6.de/



signature.asc
Description: OpenPGP digital signature


Re: The Inf type

2008-06-03 Thread Brandon S. Allbery KF8NH


On 2008 Jun 3, at 4:19, John M. Dlugosz wrote:


Jon Lang dataweaver-at-gmail.com |Perl 6| wrote:

e .

Learn from the Haskell folks, who are still trying to untangle the  
mess they

made of their numeric hierarchy (see
http://haskell.org/haskellwiki/Mathematical_prelude_discussion).



I'll look it over.  That said, note that we're not dealing with a
class hierarchy here; we're dealing with role composition, which
needn't be organized into an overarching hierarchal structure to work
properly.


Yes.  If you look at my specdoc, the ideas I've identified thus far  
are basically driven by which functions are sensible on which  
types.  The basic math functions basically define the


"which functions are sensible on which types" is exactly where Haskell  
is messed up; basically, what makes sense varies according to whose  
notion of what a given numeric type is.  Are you thinking in terms of  
what current machines do natively?  In terms of set theory (a popular  
alternative among Haskell-folk)?  In terms of what most people  
consider sensible (if you can in fact nail that particular bit of  
jelly down; OTOH, it may be the most "Perlish" way of doing it)?


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon universityKF8NH




Re: The Inf type

2008-06-03 Thread TSa

HaloO,

Mark J. Reed wrote:

In what the heck mathematical world is the square root of two an
infinite value?  Irrationality and infinitude are not the same thing;
in particular, there are an (uncountably) infinite number of
irrational numbers...


I don't know what you accept as an infinity but there is e.g.
an infinite set of complex numbers

   subset InfSqrt2 of Complex where { $_ ** sqrt(2) == 1 }

whereas

   subset Inf141 of Complex where { $_ ** 1409/997 == 1 }
   # 1409/997 approx 1.41

only has 1404773 entries. That is one way to transform the infinity
of an irrational number into an infinite set. Rationals only render
infinities of the kind a circle has, where you can run in one direction
without reaching an end.

Or take the tan function that can be used to wrap the real number line
around a circle at Zero. Then you get a point Inf on "the other side" of
Zero that just behaves like Zero, i.e. on one side you have all the
positive reals and on the other all the negative ones. So you can make
the transition from +Inf to -Inf just as easily as from +0 to -0. IOW,
there are properties that are usually ascribed to Zero that Inf can
claim as well. For that very reason I gave here, IEEE-754 distinguishes
-0 and +0 just like it distinguishes -Inf and +Inf. And there are
contexts where -Inf === +Inf makes sense just as -0 === +0 makes sense
and some where it doesn't. Now, how are these contexts distinguished?


Regards, TSa.
--

"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12  -- Srinivasa Ramanujan


building pugs under Fedora 9 doesn't work

2008-06-03 Thread Gerd Pokorra
Hello,

building pugs under Fedora 9 doesn't work. With every revision I get the
following error by executing the command "make":

Gerd Pokorra

[EMAIL PROTECTED] pugs]$ make
.
.
.
[1 of 1] Compiling Main ( src/Main.hs, src/Main.o )
Linking pugs.new ...
/usr/bin/perl util/gen_prelude.pl -v -i src/perl6/Prelude.pm -i
ext/Math-Basic/lib/Math/Basic.pm -p ./pugs --output
blib6/lib/Prelude.pm.yml
# ./pugs -Iext/Math-Basic/lib -C Parse-YAML Prelude.pm >
# blib6/lib/Prelude.pm.yml
Generating precompiled Prelude, Math::Basic... pugs: Internal error:
Invalid grammatical category: "Bool"
Please file a bug report.
Output is empty at util/gen_prelude.pl line 189.
system: [/usr/bin/perl util/gen_prelude.pl -v -i src/perl6/Prelude.pm -i
ext/Math-Basic/lib/Math/Basic.pm -p ./pugs --output
blib6/lib/Prelude.pm.yml]:
at util/build_pugs.pl line 600.
make: *** [pugs] Fehler 1
[EMAIL PROTECTED] pugs]$
[EMAIL PROTECTED] pugs]$ ./pugs
   __
 /\   __ \
 \ \  \/\ \ __  __  __  __ (P)erl 6
  \ \   __//\ \/\ \/\  __ \/\  ___\(U)ser's
   \ \  \/ \ \ \_\ \ \ \/\ \ \___  \   (G)olfing
\ \__\  \ \/\ \ \/\_\  (S)ystem
 \/__/   \/___/  \/___/\ \//
   /\/  Version: 6.2.13 (r20630)
   \/___/Copyright 2005-2007, The Pugs
Contributors

 Web: http://pugscode.org/   Email: [EMAIL PROTECTED]

Welcome to Pugs -- Perl6 User's Golfing System
Type :h for help.

pugs: Internal error:
Invalid grammatical category: "Bool"
Please file a bug report.
[EMAIL PROTECTED] pugs]$






[perl #55220] [PATCH] expands the file "parrot.spec" to build languages

2008-06-03 Thread via RT
# New Ticket Created by  [EMAIL PROTECTED] 
# Please include the string:  [perl #55220]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=55220 >


Hello,

this patch for the file "parrot.spec" add the two commands:

make languages
make perl6

to the build part and put this files to the package "parrot-languages".
So the package "parrot-languages" will also hold the executable
"/usr/bin/perl6". Perhaps someone will add a better description for the
"languages" package.

Gerd Pokorra



patch.tar
Description: Unix tar archive


[perl #54148] [NEW] Add tools/util/dump-pbc.pl (weave PIR source and PBC disassembly)

2008-06-03 Thread Bernhard Schmalhofer via RT

> 
> The previous version of the patch didn't work on Windows, because pipe
> open doesn't work there, grrr.  Please try the attached version of the
> patch.
> 

It looks like the current version of the patch has been applied.
In r28039 I added a sanity test in the new file t/tools/dump_pbc.pl.
If that works across platforms, I propose to close this ticket.

-- 
/* [EMAIL PROTECTED] */


RE: assignable mutators (S06/Lvalue subroutines)

2008-06-03 Thread Kealey, Martin, ihug-NZ
> If a routine is rw, you may optionally define a single "slurpy scalar"
> (e.g., '*$value') in its signature.

A good start, but why limit the Lvalue to a scalar? A list l-value seems like a 
pretty useful thing to me.

-Martin

---
Have you seen our website? http://www.vodafone.co.nz

Manage Your Account, check your Vodafone Mail and send web2TXT online: 
http://www.vodafone.co.nz/myvodafone

CAUTION: This correspondence is confidential and intended for the named 
recipient(s) only.
If you are not the named recipient and receive this correspondence in error, 
you must not copy,
distribute or take any action in reliance on it and you should delete it from 
your system and
notify the sender immediately.  Thank you.

Unless otherwise stated, any views or opinions expressed are solely those of 
the author and do
not represent those of Vodafone New Zealand Limited.

Vodafone New Zealand Limited
20 Viaduct Harbour Avenue, Private Bag 92161, Auckland 1030
Telephone + 64 9 355 2000
Facsimile + 64 9 355 2001


Re: [perl #55196] 'print' and 'say' format a number register differently

2008-06-03 Thread Andy Bach
On Mon, 2008-06-02 at 12:27 -0700, Bernhard Schmalhofer wrote:

> [EMAIL PROTECTED]:~/devel/Parrot/trunk$ ./parrot t.pir
> 3.14159
> 3.141590
> 
> Why should 'print' print trailing a '0' and 'say' not?

default rounding length?
sub main

  $N0 = 3.141596
...

./parrot ../pi.pir
3.1416
3.141596

and for 
 $N1 = 3.1415968

3.1416
3.141597


 a

-- 

Andy Bach
Systems Mangler
Internet: [EMAIL PROTECTED]
Voice: (608) 261-5738 Fax: 264-5932

Sent from Evolution (CentOS)!!!



Re: The Inf type

2008-06-03 Thread John M. Dlugosz

Jon Lang dataweaver-at-gmail.com |Perl 6| wrote:

e .
  

Learn from the Haskell folks, who are still trying to untangle the mess they
made of their numeric hierarchy (see
http://haskell.org/haskellwiki/Mathematical_prelude_discussion).



I'll look it over.  That said, note that we're not dealing with a
class hierarchy here; we're dealing with role composition, which
needn't be organized into an overarching hierarchal structure to work
properly.

  


Yes.  If you look at my specdoc, the ideas I've identified thus far are 
basically driven by which functions are sensible on which types.  The 
basic math functions basically define the most primitive roles, as those 
are what you will be calling (and counting on being sensibly defined) 
when you write more complicated functions that take generic types, and 
gives a natural handle on how to specify which types your own function 
is sensible for.


--John


Re: The Inf type

2008-06-03 Thread Jon Lang
Brandon S. Allbery wrote:
> John M. Dlugosz wrote:
>> Jon Lang wrote:
>>> type (i.e., 'num').  Somehow, I had got it into my head that Num was a
>>> role that is done by all types that represent values on the real
>>> number line, be they integers, floating-point, rationals, or
>>> irrationals.  And really, I'd like Num to mean that.  I'd rather see
>>
>> Would you care to muse over that with me:  what Roles should we decompose
>> the various numeric classes into?  Get a good list for organizing the
>> standard library functions and writing good generics, and =then= argue over
>> huffman encoding for the names.  Call them greek things for now so we don't
>> confuse anyone .
>
> Learn from the Haskell folks, who are still trying to untangle the mess they
> made of their numeric hierarchy (see
> http://haskell.org/haskellwiki/Mathematical_prelude_discussion).

I'll look it over.  That said, note that we're not dealing with a
class hierarchy here; we're dealing with role composition, which
needn't be organized into an overarching hierarchal structure to work
properly.

-- 
Jonathan "Dataweaver" Lang


Re: Fatal/autodie exception hierarchies for Perl 5

2008-06-03 Thread Paul Fenwick

G'day chromatic / p5p / p6l,

Make a list of all possible types of exceptions, define them as roles, and 
group them that way.  Any given exception can implement multiple roles (:CORE 
and :io, for example, or a specialization of that role that also does :USER).


Excellent point.  I've been largely ignoring the user exceptions, and that 
they may wish to declare themselves as having an :io, :math, or similar role.


So, roles are in, I'll need to provide an appropriate interface for user 
code to make use of them.


Larry's post I'll be digesting on my trip home tonight. ;)

Cheerio,

Paul

--
Paul Fenwick <[EMAIL PROTECTED]> | http://perltraining.com.au/
Director of Training   | Ph:  +61 3 9354 6001
Perl Training Australia| Fax: +61 3 9354 2681


Re: The Inf type

2008-06-03 Thread Brandon S. Allbery KF8NH


On 2008 Jun 3, at 3:15, John M. Dlugosz wrote:


Jon Lang dataweaver-at-gmail.com |Perl 6| wrote:
type (i.e., 'num').  Somehow, I had got it into my head that Num  
was a

role that is done by all types that represent values on the real
number line, be they integers, floating-point, rationals, or
irrationals.  And really, I'd like Num to mean that.  I'd rather see

Would you care to muse over that with me:  what Roles should we  
decompose the various numeric classes into?  Get a good list for  
organizing the standard library functions and writing good generics,  
and =then= argue over huffman encoding for the names.  Call them  
greek things for now so we don't confuse anyone .



Learn from the Haskell folks, who are still trying to untangle the  
mess they made of their numeric hierarchy (see http://haskell.org/haskellwiki/Mathematical_prelude_discussion) 
.


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon universityKF8NH




Re: The Inf type

2008-06-03 Thread John M. Dlugosz

Jon Lang dataweaver-at-gmail.com |Perl 6| wrote:

; I see.  We just had a role-vs-class cognitive disconnect.
Officially, Num is the autoboxed version of the native floating point
type (i.e., 'num').  Somehow, I had got it into my head that Num was a
role that is done by all types that represent values on the real
number line, be they integers, floating-point, rationals, or
irrationals.  And really, I'd like Num to mean that.  I'd rather see
what is currently called 'num' and 'Num' renamed to something like
'float' and 'Float', and leave 'Num' free to mean 'any real number,
regardless of how it is represented internally'.  Either that, or
continue to use Num as specified, but also allow it to be used as a
role so that one can create alternate representations of real numbers
(or various subsets thereof) that can be used anywhere that Num can be
used without being locked into its specific approach to storing
values.

  


Would you care to muse over that with me:  what Roles should we 
decompose the various numeric classes into?  Get a good list for 
organizing the standard library functions and writing good generics, and 
=then= argue over huffman encoding for the names.  Call them greek 
things for now so we don't confuse anyone .


--John



Re: [perl #54930] [BUG] PGE build fails in pdd25cx branch

2008-06-03 Thread chromatic
On Monday 02 June 2008 19:42:58 Will Coleda via RT wrote:

> Error earlier in the build process now, with PGE:
>
> /home/coke/bin/perl -e "" >PGE/builtins_gen.pir
> ../../parrot -o PGE.pbc --output-pbc PGE.pir
> ../../parrot ../../runtime/parrot/library/PGE/Perl6Grammar.pir --
> output=PGE/builtins_gen.pir PGE/builtins.pg
> make: *** [PGE.pbc] Segmentation fault
>
> Running this last parrot invocation with -G avoids the segfault.

I can't reproduce this with 32-bit x86 GNU/Linux, but I do see some segfaults 
in the PGE tests.

-- c


Re: The Inf type

2008-06-03 Thread John M. Dlugosz

Jon Lang dataweaver-at-gmail.com |Perl 6| wrote:

TSa wrote:
  

John M. Dlugosz wrote:


The sqrt(2) should be a Num of 1.414213562373 with the precision of the
native floating-point that runs at full speed on the platform.
  

That makes the Num type an Int with non-uniform spacing. E.g. there
are Nums where $x++ == $x. And the -Inf and +Inf were better called
Min and Max respectively. IOW, the whole type based aproach to Inf
is reduced to mere notational convenience.



Please give an example value for a Num where $x++ == $x.  Other than
Inf, of course.
  


Num is floating point.  If you exceed the mantissa precision, then ++ 
will not change it.


I don't know why he's calling it an "Int with non-uniform spacing" 
unless he is complaining about what happens when you store ints in 
floats: it rounds off to the mantissa size.


--John