Re: [svn:parrot] r23307 - trunk/examples/sdl

2007-12-03 Thread Paul Cochrane
On 02/12/2007, Patrick R. Michaud <[EMAIL PROTECTED]> wrote:
> On Sun, Dec 02, 2007 at 10:44:08AM +0100, Paul Cochrane wrote:
> > ... and I only
> > needed to switch off the warnings about a lack of C > strict/warnings>.  At present, this isn't a maintanence burden, but as
> > soon as we get lots of nqp/perl6 files we will need to rethink how we
> > handle them.  I don't think it's worth worrying about just yet.
>
> I disagree.  I think we'll quickly be accumulating a lot of Perl 6/NQP
> files, and putting the nocritic lines in all of them is a bit of
> a pain, as well as adjusting them all later.
>
> If it helps, we can start marking all such files with 'use v6;', and
> then the critic (or its driver) can use that to decide if the file
> should be checked.  Or, if that's not good enough, then I'd at least
> want to put the nocritic lines with the coda instead of at the head
> of the file (if that's even possible).

Unfortunately, putting the nocritic lines at the end of the file with
the coda doesn't work.  I think marking the files with C
would be really good (this syntax isn't recognised yet though, is
it?), then I could filter which files should be passed through the
relevant policies of Perl::Critic.

Paul


perl 6 grammar

2007-12-03 Thread cdumont
I found some of the perl 6 new features really neat:

- creating your own type
- type casting
- junctions
- multidispatch
- :r:w:a shortcuts
- hyper operators
- some kind of oop keywords

But there are some changes in the grammar which
benefits aren't that obvious :

1- $str1 ~ $str2

2- $life = (!$monster) ?? 'safe' !! 'dead';

3- given $operator {
when '' {}
}

I do not really understand the new concatenation
style when most of the time it's '+' or '.'
I don't see how putting 2 questions marks and 2 exclamations marks
make things shorter and easier to understand.
The given ... when doesn't seem to bring that much from switch ... case
given ... if would make a little bit more sense.

And hashes require '=>' but it could be nice to switch to ':'
because then :(or perhaps we can use whatever separator we want?)

{
elems : {
deleting : {
ids : [1,2,3],
names : ['concatenation','ternary operator','switch']
},
replace : {
with : ['.','?:','switch...case']
}
};
And I know this may not sound that much but it could be sent to
javascript or actionscript or any ecmascript based languages.

This discussion has certainly be done a long time ago
but give it a try.

(any reference of functions include in perl6?)
















Re: perl 6 grammar

2007-12-03 Thread cdumont

Moritz Lenz wrote:


cdumont wrote:
 


1- $str1 ~ $str2
   



The '+' suggests numerical addition (and requires disambiguation in the
case of $str + $number - should $str be interpreted as a number, or
$number as a string?).

The . is already taken by method calls (used far more often), and is
easy to overlook when concatenating strings.
 



Yeah, that's what I thought about the use of the dot for hashes and objects
but hash or object :

$obj.method();
or
%hash.value();

which is visually different from :

$str.$str2

as the concatenation keeps the sigil.

I am not a huge fan of the + operator either but
well, why add a third type when the dot could be just fine ?
2 ways are already more than one.

 


2- $life = (!$monster) ?? 'safe' !! 'dead';
   



is it true??? really??? then you're safe. if not (! is not), you're
dead. PWND.

Again I think that a visually outstanding operator simplifies reading.
It's really easy to overlook a single ':', as it's used in p5.

 



You are right, that is outstanding but again, so many languages use
a standard ? :
To make it outstand a little bit more :

$life = (!$monster) ?? 'safe' |(^0^;)| 'dead';

But might take some time to get acoustumed to it...(just kidding)



But if we want to choose the visibility key then

$*IN

is not what I will call something especially visual even if
it's not that awful (well, depending on the keyboard this can be a reall 
pain though)



3- given $operator {
when '' {}
}
   



...

 


The given ... when doesn't seem to bring that much from switch ... case
given ... if would make a little bit more sense.
   



I don't know the rationale about that, but perhaps it's to distinguish
given-when (which uses smartmatching) from other languages that just do
string or number comparison.
 


I am not native so I do not really know either but I don't feel comfortable
with profusions of different keywords in languages...
why not a :

pour $operator {
   lorsque '' {}
}

 


And hashes require '=>' but it could be nice to switch to ':'
because then :(or perhaps we can use whatever separator we want?)
   



There is a :key(value) pair notation already.

 


And I know this may not sound that much but it could be sent to
javascript or actionscript or any ecmascript based languages.
   



I don't think it's a good idea to write files that can be interpreted
either as Perl 6 or as javascript. Perhaps a nice idea for an
obfuscation, though.

 


No, the aim is not really to write files like ECMAScript but
a very simple example is querying the db
and send the object to javascript or actionscript with a remote call
or the other way round.
The closer the basic structure is, the less manipulation will be needed.
JSON (which should be renamed ESON) is growing these days
and making interactions between languages easier is not that bad.
I have written the example so that to show the internal structure
but could be nice to just do :

my $imageGalleries = new ImgLoader($path);

print "Content-type:text/json¥n¥n";
print Dumper($imageGalleries);

Then whatever the third part, they will be able to handle the object.
it is just a kind of standard serialization to keep persistence.
Last time i used perl to connect to a DB, get the result then send it
into the php serialization format to a php program placed in an other
server.(the framework was in php so...)
Now, just dumping the result and using the json_decode function could work
and for many other languages too.

But that's not a vital point but a nice feature to have.

Anyway, I hope perl6 is going to get out soon!
I didn't really got all the oop keywords but that shouldn't be that bad.


(any reference of functions include in perl6?)
   



S29:
http://perlcabal.org/syn/S29.html
 



Thank you!


Cheers,
Moritz

 




--
シリル・デュモン(Cyrille Dumont)
[EMAIL PROTECTED]
our work is the portrait of ourselves
tel: 03-5690-0230 fax: 03-5690-7366
http://www.comquest.co.j




Re: perl 6 grammar

2007-12-03 Thread Smylers
cdumont writes:

> there are some changes in the grammar which benefits aren't that
> obvious :

Hi there.  For some of these the benefit is indirect: it isn't that it
makes the feature in question easier to use; instead it enables _other_
features.

> 1- $str1 ~ $str2
> I do not really understand the new concatenation style when most of
> the time it's '+' or '.'

It isn't great, but I'm sure we can live with it.  It frees up dot for
other things.  Anyway, because of interpolation Perl doesn't use
concatenation as much as many other langauges (and even less so in Perl
6 with method calls being interpolatable and braces for conveniently
interpolating any code at all).

It also has the advantage that tilde is consistently used in several
places in Perl 6 to indicate strings.

> 2- $life = (!$monster) ?? 'safe' !! 'dead';
> I don't see how putting 2 questions marks and 2 exclamations marks
> make things shorter and easier to understand.

Clearly it doesn't -- but then I don't think anybody is claiming that
that's the reason for the change!

Shortness isn't always a virtue; by using doubled characters they stand
out more, which makes it easier to spot when this operator is being used
-- something that's more important with this operator than most, since
it is split between two positions.

And it frees up some symbols for use in other operators.

> 3- given $operator {
> when '' {}
> }
> 
> 
> The given ... when doesn't seem to bring that much from switch ...
> case given ...

Surely it brings all of it?  Plus much more as well.   Much of the power
is in the smart-matching, which enables many different sorts of
comparisions, each naturally matching the appropriate thing.  A big
advantage given has over C's switch construct is not having to include
break in the usual case (and get mysterious-yet-silent bugs if you
accidentally forget it).

> And hashes require '=>' but it could be nice to switch to ':'

Indeed it could be.  But, unfortunately, the colon seemed to be top of
many people's most-wanted lists, with many different (and mutex)
suggestions for what it should do.  (Remember, only a couple of
paragraphs ago you were wanting to keep it for the ? ... : operator!)
Possibly somebody could design a language in which the colon is the only
symbol used ...

> because then :(or perhaps we can use whatever separator we want?)
> 
> {
> elems : {
> deleting : {
> ids : [1,2,3],
> names : ['concatenation','ternary operator','switch']
> },
> replace : {
> with : ['.','?:','switch...case']
> }
> };
> And I know this may not sound that much but it could be sent to
> javascript or actionscript or any ecmascript based languages.

The key bit of the above is your parentical comment about using whatever
separator you want -- which is exactly what Perl 6 provides the
flexibility to do.  In Perl 6 it will be possible to do:

  use Grammar::JSON;

and then within that file you can have the above syntax for complex
data-structures.

Or at least, it will if somebody writes the Grammar::JSON module -- but
the whole point of Perl 6's pluggable grammars is that it specifically
supports people who want to do this sort of thing: it recognizes that
not everybody is going to agree on the ideal syntax, so instead it
merely provides a 'default' syntax (which Larry judges to be the best
all-round) then provides a way of changing anything about it.

Hope that helps.

Smylers


[perl #48074] [PATCH] fix for pcre test if libpcre installed in non-standard location

2007-12-03 Thread Devin Heitmueller
# New Ticket Created by  "Devin Heitmueller" 
# Please include the string:  [perl #48074]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=48074 >


The attached patch will address a parrot test failure in the PCRE
module (t/library/pcre.t) in the case where the libpcre library is
installed in a nonstandard location.

In my case, it occurs on OS X that Fink installed libpcre into
/sw/lib, and so the test believes that PCRE is installed because the
pcre-config utility returned zero, but it cannot find the library.

The change runs pcre-config to get the location of the library, and
then updates the PARROT_LIB_PATH_DYNEXT to contain the additional
entry.

-- 
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller


pcre.t.patch
Description: Binary data


Re: perl 6 grammar

2007-12-03 Thread cdumont

Smylers wrote:


cdumont writes:

 


there are some changes in the grammar which benefits aren't that
obvious :
   



Hi there.  For some of these the benefit is indirect: it isn't that it
makes the feature in question easier to use; instead it enables _other_
features.

 


1- $str1 ~ $str2
I do not really understand the new concatenation style when most of
the time it's '+' or '.'
   



It isn't great, but I'm sure we can live with it.  It frees up dot for
other things.  Anyway, because of interpolation Perl doesn't use
concatenation as much as many other langauges (and even less so in Perl
6 with method calls being interpolatable and braces for conveniently
interpolating any code at all).

It also has the advantage that tilde is consistently used in several
places in Perl 6 to indicate strings.

 


2- $life = (!$monster) ?? 'safe' !! 'dead';
I don't see how putting 2 questions marks and 2 exclamations marks
make things shorter and easier to understand.
   



Clearly it doesn't -- but then I don't think anybody is claiming that
that's the reason for the change!

Shortness isn't always a virtue; by using doubled characters they stand
out more, which makes it easier to spot when this operator is being used
-- something that's more important with this operator than most, since
it is split between two positions.

And it frees up some symbols for use in other operators.
 



I think I can live with the ?? !! thing but ~...

 


3- given $operator {
when '' {}
}


The given ... when doesn't seem to bring that much from switch ...
case given ...
   



Surely it brings all of it?  Plus much more as well.   Much of the power
is in the smart-matching, which enables many different sorts of
comparisions, each naturally matching the appropriate thing.  A big
advantage given has over C's switch construct is not having to include
break in the usual case (and get mysterious-yet-silent bugs if you
accidentally forget it).
 

I understand that given ... when is even more powerful than a simple 
switch case
but why just don't say it this way : this is a switch case dopped with 
hyper process and

keep the old switch ... case keywords.
I don't know why, this given... when sounds so 'English' without really 
being that

English.

 


And hashes require '=>' but it could be nice to switch to ':'
   



Indeed it could be.  But, unfortunately, the colon seemed to be top of
many people's most-wanted lists, with many different (and mutex)
suggestions for what it should do.  (Remember, only a couple of
paragraphs ago you were wanting to keep it for the ? ... : operator!)
Possibly somebody could design a language in which the colon is the only
symbol used ...

 

I don't really think using the column in a ternary means that you cannot 
use it

else where.


because then :(or perhaps we can use whatever separator we want?)

{
elems : {
deleting : {
ids : [1,2,3],
names : ['concatenation','ternary operator','switch']
},
replace : {
with : ['.','?:','switch...case']
}
};
And I know this may not sound that much but it could be sent to
javascript or actionscript or any ecmascript based languages.
   



The key bit of the above is your parentical comment about using whatever
separator you want -- which is exactly what Perl 6 provides the
flexibility to do.  In Perl 6 it will be possible to do:

 use Grammar::JSON;

and then within that file you can have the above syntax for complex
data-structures.

Or at least, it will if somebody writes the Grammar::JSON module -- but
the whole point of Perl 6's pluggable grammars is that it specifically
supports people who want to do this sort of thing: it recognizes that
not everybody is going to agree on the ideal syntax, so instead it
merely provides a 'default' syntax (which Larry judges to be the best
all-round) then provides a way of changing anything about it.

Hope that helps.
 


That's sweet !

But I wouldn't want to be most of the time on C6PAN downloading
grammars written in perl6 for perl6.
...

But being able to expand the perl6 grammar is a nice feature that
will be interesting as a learning process for me !

As for the functions, i didn't see that much for hashes and arrays which 
was

a big disappointment.

Anyway, I think that perl6 has really nice features and I hope people are
going to use it a lot and that the community will be huge!!

The above points are the only things that kind of let me dubious.





Smylers


 




--
シリル・デュモン(Cyrille Dumont)
[EMAIL PROTECTED]
our work is the portrait of ourselves
tel: 03-5690-0230 fax: 03-5690-7366
http://www.comquest.co.j




Re: Standards bearers (was "Re: xml and perl 6")

2007-12-03 Thread Peter Scott
On Fri, 30 Nov 2007 03:57:58 -0700, David Green wrote:
> Part of a solution is search.cpan.org -- if you can figure out which 
> of the 870 XML modules will be useful to you.  Another part is asking 
> on newsgroups or lists -- if you can figure out which of the 870 
> opinions offered is knowledgeable.  I think things like the CPAN 
> ratings and reviews will become increasingly important.  Of course, 
> this is all a community issue (rather than a technical issue), and 
> questions about handling reputation are certainly not limited to Perl 
> or CPAN.
> 
> Maybe some kind of "Advisory Board" would help, where people (who 
> might be experts in various ways) can offer informed recommendations 
> on what modules make a good fit for what circumstances.  Ultimately, 
> if this is something we want, somebody needs to volunteer to organise 
> something.  (Or volunteer to figure out exactly what it is that would 
> need organising)

I do feel strongly that we need some sort of solution to this so that Perl
6 is not merely an outstanding framework that leaves all domain-specific
extensions to the end user.

Please note that I am not arguing for inclusion in the "core"; presumably
I *am* arguing for some sort of standard flavors of P6 that are named and
supported.  If we can't solve that any better than Luke's assessment I
fear we will have sold Perl 6 short to a large community.

Part of the major attraction of Perl 4/5 was knowing how much was
core/standard; you could write programs that did everything from DNS calls
to shared memory access to database access and know that anyone anywhere
with Perl could run them.  But nowadays you need a slew of modules to
write good programs.  It would be a shame if we perpetuated in P6 the
syndrome of having to be in the echo chamber [1] before you knew what
those modules were.  We ought to be able to spread that knowledge around a
bit better.  I'd just hate to see the same situation of "For good O-O, use
Class::Accessor," "No, use Class::Struct," "That's ancient, use
Class::Std," "No, the new standard is Object::InsideOut," "That's so 2006.
All the best programmers are using Moose now."  

Okay, so we will have standard O-O in P6 so that scenario doesn't apply,
but substitute CGI/DBI/XML/etc/etc and you have a picture that will.  Does
everyone who wants to know what to use to do those things properly in P6
have to be subscribed to TPR/perlmonks/clpm/perlbuzz/use.perl.org/arrgh?

Can we find a way to make and maintain some recommendations in a way that
people can find them easily from P6 itself?  If I'm shopping for a car and
I find a place that sells a fantastic drivetrain and says that they leave
the choice of body, wheels, and seats to me I'm going to look somewhere
else because I don't have the time to research auto component integration
even though if I did I could end up with a car to die for.

Maybe what we need is an editorial team.  Developers tend more to want to
include everything, like a Slashdot page where you have to wade through
acres of dross to find something useful, because sitting in judgment on
someone else's submission is distasteful.  But editors are used to making
judgments and dealing with the consequences.  If we could find people who
would do that job perhaps they could define a few standard bundles that
end users and distro maintainers could choose if they don't want the core
alone.  Yes, it involves value judgments and we don't like to make
those and people will argue about their decisions no matter what, but does
that have to stop us?


[1]
http://groups.google.com/group/perl.perl5.porters/msg/74ecce32ff1ad845?dmode=source

-- 
Peter Scott
http://www.perlmedic.com/
http://www.perldebugged.com/



Re: Standards bearers (was "Re: xml and perl 6")

2007-12-03 Thread Smylers
Peter Scott writes:

> I do feel strongly that we need some sort of solution to this so that
> Perl 6 is not merely an outstanding framework that leaves all
> domain-specific extensions to the end user.

OK.

> Can we find a way to make and maintain some recommendations in a way
> that people can find them easily from P6 itself ... Maybe what we need
> is an editorial team.

Build it, and they will come!

This isn't something which needs to influence language design -- in the
sense that it doesn't need to be sorted before the design can be final
and Perl 6 released.

It isn't really anything that needs to be agreed by central diktat
(remember that search.cpan.org isn't in any way official -- it's 'just'
a Cpan mirror which happens to have a web interface that many people
find convenient).

Nor is it something that needs to be got right the first time, or we
need to be confident will last as long as Perl 6.  (For example,
ActivePerl has been the _de facto_ standard Windows Perl distribution
for some time; it's possible that Strawberry Perl in time will take over
that, but if so it'll just be because it gets momentum behind it and the
community as a whole chooses it, not because somebody named it as such.)

Smylers


Re: perl 6 grammar

2007-12-03 Thread Smylers
cdumont writes:

> Smylers wrote:
> 
> > cdumont writes:
> 
> > > The given ... when doesn't seem to bring that much from switch ...
> > > case given ...
> > 
> > Surely it brings all of it?  Plus much more as well.   Much of the
> > power is in the smart-matching, which enables many different sorts
> > of comparisions, each naturally matching the appropriate thing.  A
> > big advantage given has over C's switch construct is not having to
> > include break in the usual case (and get mysterious-yet-silent bugs
> > if you accidentally forget it).
> 
> I understand that given ... when is even more powerful than a simple
> switch case but why just don't say it this way : this is a switch case
> dopped with hyper process

Maybe the documentation will say it that way!

> and keep the old switch ... case keywords.

But "keeping" the "old" ones would require having them already -- which
Perl doesn't.  What would be the point in simultaneously introducing a
flexible syntax which meets all switching needs and a less-powerful
syntax (which is completely different, thereby making it more work than
necessary if you outgrow its requirements and need to change to using
the more flexible alternative; and which is error-prone)?

> I don't know why, this given... when sounds so 'English' without
> really being that English.

I'm afraid you've lost me -- are you saying that given does sound
English or that it doesn't?  And why is it relevant either way?

> > > And hashes require '=> ' but it could be nice to switch to ':'
> > 
> > Indeed it could be.  But, unfortunately, the colon seemed to be top
> > of many people's most-wanted lists, with many different (and mutex)
> > suggestions for what it should do.  (Remember, only a couple of
> > paragraphs ago you were wanting to keep it for the ? ... :
> > operator!) Possibly somebody could design a language in which the
> > colon is the only symbol used ...
> 
> I don't really think using the column in a ternary means that you
> cannot use it else where.

We started off with that, and it was changed specifically because it was
causing a problem; I can't remember exactly what, but it's in this
list's archives somewhere.

Remember that whatever expression you want to use the colon for is going
to be valid between the ? and : parts of the ? ... : operator, and so
you need to avoid the colon being confused for the : which marks the end
of this part of the ? ... : operator.

Also remember that we want Perl 6 to be able to complain about syntax
errors -- that is, we want that when somebody makes a typo, there's a
good chance of perl complaining about the source being invalid, rather
than it being valid Perl 6 (but which silently does something else).

> As for the functions, i didn't see that much for hashes and arrays
> which was a big disappointment.

What were you hoping for?  Many things which were functions in Perl 5
are now also available as methods in Perl 6.  If you post here with what
you're disappointed to be missing, it may be that somebody can reply
pointing out where the equivalent functionality is!

Smylers


Re: perl 6 grammar

2007-12-03 Thread Patrick R. Michaud
On Mon, Dec 03, 2007 at 12:20:02PM +, Smylers wrote:
> cdumont writes:
> > I don't really think using the column in a ternary means that you
> > cannot use it else where.
> 
> We started off with that, and it was changed specifically because it was
> causing a problem; I can't remember exactly what, but it's in this
> list's archives somewhere.
> 
> Remember that whatever expression you want to use the colon for is going
> to be valid between the ? and : parts of the ? ... : operator, and so
> you need to avoid the colon being confused for the : which marks the end
> of this part of the ? ... : operator.

...and it's not just the colon, but the ? also has the potential to be
confusing here, because there's a prefix: operator that is used to
coerce into boolean context.

Which indirectly gets around to an even stronger reason for using
C over C -- Perl 6 aims for a consistency in the
use of the ? and ! characters to mean "boolean true" and "boolean
not true".  This is true not only for the operators, but also in
regular expressions and other places.  So, having something like

$foo =  $cond ?? ...if_true... !! ...if_not_true... ;

achieves several important goals:
  - it frees up the ? and : characters for other purposes
  - it reinforces the convention of ? as "if true" and ! as "if false"
  - it is more visually distinctive, so that the ternary tokens don't
get lost in the middle of other operands and expressions
  - it simplifies parsing (both compiler and human) and improves
error reporting

In my case, I've found the switch to ?? !! to be fairly
natural, and that I don't use it often enough to worry about
the extra characters.

> > As for the functions, i didn't see that much for hashes and arrays
> > which was a big disappointment.
> 
> What were you hoping for?  Many things which were functions in Perl 5
> are now also available as methods in Perl 6.  If you post here with what
> you're disappointed to be missing, it may be that somebody can reply
> pointing out where the equivalent functionality is!

As noted at the beginning of Synopsis 1:

Another assumption has been that if we don't talk about 
something in these Synopses, it's the same as it is in Perl 5.

Pm


Parrot Bug Summary

2007-12-03 Thread Parrot Bug Summary
Parrot Bug Summary

http://rt.perl.org/rt3/NoAuth/parrot/Overview.html
Generated at Mon Dec 3 14:00:01 2007 GMT
---

  * Numbers
  * New Issues
  * Overview of Open Issues
  * Ticket Status By Version
  * Requestors with most open tickets

---

Numbers

Ticket Counts: 44 new + 731 open = 775
Created this week: 42
Closed this week: 31

---

New Issues

New issues that have not been responded to yet

1 - 2 weeks old
47822 [Cola] - uses old 'float' type.
47764 [TODO] COW for one or all users of a modified string
2 - 3 weeks old
3 - 4 weeks old
4 - 5 weeks old
47153 [PATCH][Review] Proposed change from PMC_IS_NULL to PMC_is_null
47141 [PDD19] Line directive
47109 [CAGE] wrap macro args in parens inside macro bodies
5 - 6 weeks old
46971 [DEPRECATED] newfrom sub/method in PGE
46933 [PATCH] [RFE] Change behavior of Data::Dumper wrt Undef
46925 [TODO] [C] Call pmc slicing functions from PackFiles thaw()
46923 [TODO] [C] Check flags of parrot_range object in elements() method Slice 
  PMC
46761 Dynpmcs and ParrotLibrary Global Destruction
46757 [BUG] Segfault in Parrot_TclString_nci_get_list
6 - 7 weeks old
46597 wrong NOTNULL in Parrot_init_arg_indexes_and_sig_pmc
46593 [PATCH] better documentation on parameter passing
46479 Remove rt.saved.search from tools/util/release.json?
46457 [BUG][IMCC] long sub invocation with named parameters
7 - 8 weeks old
46437 refactor interpreter cloning so it doesn't redundantly reinsert subs
46295 [CAGE] [pdd15oo] Review the docs w.r.t. the new OO implementation
8 - 9 weeks old
9 - 10 weeks old
45857 [IMCC][RFC] #line vs .line
10 - 11 weeks old
45659 Tcl - [string is double .1] returns wrong value
45503 one test in 't/op/string.t' is failling for jit runcore
11 - 12 weeks old
12 - 13 weeks old
13 - 14 weeks old
14 - 15 weeks old
44979 [BUG] TGE reports an error, but won't say which line it's on.
15 - 16 weeks old
44765 [PATCH] Don't reuse interpreter argument on stack
16 - 17 weeks old
44471 [PATCH] :vtable is ignored when :anon
17 - 18 weeks old
18 - 19 weeks old
44139 opcodes, warnings, and exceptions
19 - 20 weeks old
20 - 21 weeks old
---

Overview of Open Issues

PlatformSeverity  Tag  Lang
aix0abandoned 0   5005threads   0  Amber0
All3fatal 3   bounce0  BASIC0
bsdos  0High  0   Bug  67  bc   0
cygwin 4low   1   compiler  0  befunge  0
cygwin_nt  0medium0   configure 0  bf   0
darwin 4none  1   core  0  cola 1
dec_osf0Normal1   dailybuild0  forth0
dgux   0unknown   0   docs  2  jako 0
dos0Wishlist  3   duplicate 0  Lisp 1
dynixptx   0 install   1  m4   0
freebsd8  library   0  ook  0
generic0  notabug   0  perl61
gnu0  notok 0  plot 0
HPUX   2  ok0  punie0
irix   0  Patch50  pynie2
irix64 0  regex 0  python   0
Linux  3  sendToCPAN0  ruby 0
lynxos 0  Todo453  scheme   0
mac0  unknown   0  tcl 72
machten0  utilities 0  urm  0
macos  0  wontfix   0  Zcode0
MacOS X2
mswin320
netbsd 1
next   0
openbsd2
os20
os390  0
other  0
powerux0
qnx0
riscos 0
sco0
Solaris4
sunos  1
svr4   0
svr5   0
sysv   0
unicos 0
unicosmk   0
unix   0
unknown0
uts0
vms0
VOS0
Win32 10
---

Ticket Status By Version

New or OpenResolved

---

Requestors with most open tickets

Paul Cochrane 330
Will Coleda63
James Keenan   47
Jerry Gay  37
chromatic  28
jerry gay  22
Matt Diephouse 20
Bernhard Schmalhofer   15
Patrick R. Michaud 14
Leopold Toetsch13


[perl #48090] plumhead smoke test presents prompt

2007-12-03 Thread B. Estrade
# New Ticket Created by  "B. Estrade" 
# Please include the string:  [perl #48090]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=48090 >


---
osname= freebsd
osvers= 7.0-current
arch=   i386-freebsd-64int
cc= cc
---
Flags:
category=languages
severity=high
ack=no
---
Here is the snippet, the ">" is some sort of interactive prompt, which makes 
automated smoke testing a pain.  I also don't know immediately how to get past 
it.:

gmake -C plumhead
gmake: Entering directory 
`/usr/home/estrabd/estrabd-at-gmail-dot-com/parrot/languages/plumhead'
../../parrot -o src/common/plumheadlib.pbc src/common/builtins.pir
../../parrot ../../compilers/pge/pgc.pir
> 


---
Summary of my parrot 0.5.0 (r23318) configuration:
  configdate='Sun Dec  2 01:15:29 2007 GMT'
  Platform:
osname=freebsd, archname=i386-freebsd-64int
jitcapable=1, jitarchname=i386-freebsd,
jitosname=FREEBSD, jitcpuarch=i386
execcapable=1
perl=perl
  Compiler:
cc='gcc43', ccflags='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H  -pipe -Wdeclaration-after-statement 
-I/usr/local/include -DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  
-DHASATTRIBUTE_FORMAT  -DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_NONNULL  
-DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED  
-DHASATTRIBUTE_WARN_UNUSED_RESULT  -falign-functions=16 
-mno-accumulate-outgoing-args -W -Wall -Waggregate-return -Wbad-function-cast 
-Wc++-compat -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment 
-Wdeclaration-after-statement -Wdisabled-optimization -Wextra 
-Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit 
-Wimplicit-function-declaration -Wimplicit-int -Wimport -Winit-self -Winline 
-Winvalid-pch -Wlogical-op -Wmain -Wmissing-braces -Wmissing-declarations 
-Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-include-dirs 
-Wmissing-prototypes -Wnested-externs -Wno-endif-labels -Wno-shadow -Wno-unu!
 sed -Wnonnull -Wpacked -Wparentheses -Wpointer-arith -Wreturn-type 
-Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch 
-Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wvariadic-macros 
-Wwrite-strings',
  Linker and Libraries:
ld='gcc43', ldflags=' -Wl,-E -L/usr/local/lib',
cc_ldflags='',
libs='-lm -lcrypt -lutil -pthread -lgmp -lreadline'
  Dynamic Linking:
share_ext='.so', ld_share_flags='-shared  -L/usr/local/lib',
load_ext='.so', ld_load_flags='-shared  -L/usr/local/lib'
  Types:
iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
ptrsize=4, ptr_alignment=1 byteorder=1234, 
nv=double, numvalsize=8, doublesize=8

---
Environment:
HOME =/home/estrabd
LANG  (unset)
LANGUAGE  (unset)
LD_LIBRARY_PATH  (unset)
LOGDIR  (unset)
PATH 
=/usr/local/intel_cc_80/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/estrabd/bin
SHELL =/bin/sh


Re: [perl #48090] plumhead smoke test presents prompt

2007-12-03 Thread Bernhard Schmalhofer

B. Estrade (via RT) schrieb:
# New Ticket Created by  "B. Estrade" 
# Please include the string:  [perl #48090]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=48090 >



---
osname= freebsd
osvers= 7.0-current
arch=   i386-freebsd-64int
cc= cc
---
Flags:
category=languages
severity=high
ack=no
---
Here is the snippet, the ">" is some sort of interactive prompt, which makes 
automated smoke testing a pain.  I also don't know immediately how to get past it.:
  
Sorry I broke this when I reformated the template for 
languages/Plumhead/Makefile.

I forgot to add a '\' for line continuation in that  target.

I should be fixed in r23354.

Actually in SVN head 'pgc' isn't used at all, as I'm porting over to the 
new PCT.


Thanks for the report,
 Bernhard




Re: perl 6 grammar

2007-12-03 Thread Larry Wall
On Mon, Dec 03, 2007 at 07:30:53PM +0900, cdumont wrote:
> Moritz Lenz wrote:
>
>> cdumont wrote:
>>  
>>> 1- $str1 ~ $str2
>>>
>>
>> The '+' suggests numerical addition (and requires disambiguation in the
>> case of $str + $number - should $str be interpreted as a number, or
>> $number as a string?).
>>
>> The . is already taken by method calls (used far more often), and is
>> easy to overlook when concatenating strings.
>>  
>
> Yeah, that's what I thought about the use of the dot for hashes and objects
> but hash or object :
>
> $obj.method();
> or
> %hash.value();
>
> which is visually different from :
>
> $str.$str2
>
> as the concatenation keeps the sigil.
>
> I am not a huge fan of the + operator either but
> well, why add a third type when the dot could be just fine ?

Because it wouldn't be just fine.  Even in Perl 5 we have $obj->$method,
so if you're going to allow indirect methods and use . for method calls,
$a.$b has to be an indirect method call, not a concatenation.

In general, one of the design principles of Perl 6 is that we never
overload operators to do very different things, because even if we can
think of a way to finesse it right now, it has a negative impact on
both extensibility and readability.  It impacts extensibility because
you leave yourself no "wiggle room" in the grammar for future changes.
It impacts readability because you have to stop to consider the context
to decide which operation is going to happen.

This is why Perl 5's x is now split into x and xx, for instance.  Though
Perl 5 got some things right, by this principle.  We never made the
mistake of confusing addition with concatenation.  Not only is
concatenation not numeric, it's not even commutative!

> 2 ways are already more than one.

If you're doing 3 very different things, then doing it 2 ways is
suboptimal.  Things that are different should look different.

Also, keeping operators in 1::1 correspondence with operations gives the
optimizer the most chance to figure things out at compile time without
having to know types at run time.  (An oversimplicifcation, I know,
especially given how Perl 6 does multiple dispatch on operators at
run time.)

Nevertheless, most of the overloading of operators historically has
been to avoid using up the ASCII sequences, and now that we allow
users to define Unicode operators, that artificial pressure has mostly
been removed.

That being said, there's still contention for the short ASCII
sequences, and you shouldn't assume that any Perl 6 operator is
what it is for a single reason.  Generally, most of these operators
have four or five reasons for being what they are, and some of those
reasons relate to what has already been taken by other more important
operators.  Plus there is consistency with the rest of the language,
where ~ generally indicates some kind of string operation.

>>> 2- $life = (!$monster) ?? 'safe' !! 'dead';
>>>
>>
>> is it true??? really??? then you're safe. if not (! is not), you're
>> dead. PWND.
>>
>> Again I think that a visually outstanding operator simplifies reading.
>> It's really easy to overlook a single ':', as it's used in p5.
>>
>>  
>
> You are right, that is outstanding but again, so many languages use
> a standard ? :

Languages copy all sorts of suboptimal features from other languages.
After all, that's how Perl 1 got ?: from C.  That doesn't make it
right or wrong, merely convenient to learn.   Learnability has always
been a secondary goal in Perl 5, compared to expressiveness, which is
a primary goal.

When a language is first starting out, it *must* copy a lot of bad
constructs from other languages, or it will not easily be accepted (see
Icon for a sad example of this).  With the wide acceptance of Perl 5,
we have the opportunity to use that as a cultural basis for change.
It remains to be seen whether we can succeed with that, but most of
the signs are positive.  Most people only panic about once when making
the mental switch from Perl 5 to Perl 6.

But if you want to panic once per operator, that's okay too.  :)

> To make it outstand a little bit more :
>
> $life = (!$monster) ?? 'safe' |(^0^;)| 'dead';
>
> But might take some time to get acoustumed to it...(just kidding)

Sure, if we used |(^0^;)| elsewhere in Perl 6 to indicate false
things, but we use ! elsewhere for that, along with ? for true
things, so the ??!! falls out of that naturally.  Also, it fits
better with the other short-circuit/control-flow operators that
are spelled || and &&.  Plus ? and : are important short sequences
that should not be wasted on something as unimportant as the
conditional operator.

Most of this reasoning is spelled out long ago in Apocalypse 3,
though the switch from ??:: to ??!! came later.

> But if we want to choose the visibility key then
>
> $*IN
>
> is not what I will call something especially visual even if
> it's not that awful (well, depending on the keyboard this can be a reall 
> pain though)

I don't understand your complain

Re: [perl #47011] [DEPRECATED] VTABLE entry 'new_from_string'

2007-12-03 Thread Allison Randal

Will Coleda via RT wrote:
Hunt down existing use of 'new_i_s' and either replace or remove the 
functionality.

The FixedIntegerArray is an example of where 'new_from_string' is used.


'new_i_s' was experimental and can die. Any PMC's using the behavior can 
instead pass a hash argument to 'new'.



Given the usage in compilers/imcc/pbc.c:

_class  = interp->vtables[r->pmc_type]->pmc_class;
p   = VTABLE_new_from_string(interp, _class, s, PObj_constant_FLAG);

Is there a standard for passing the flags? In the old scheme, we had a specific argument to 
pass in the flags... There are a lot of cases where we pass in flags here; Do we now have to 
create a Hash PMC in each case? If it's a Hash, then we have to setup a convention to pass 
the flags... but doing this just as a convention seems to be ripe for mistakes; Clues welcome 
on how to proceed.


It was already just a convention, and various different PMCs used the 
arguments passed to 'new_from_string' in different ways. To kick things 
off, let's convert the few PMCs that implement the 'new_from_string' 
vtable function to handle the behavior in 'init_pmc' using 'flags' and 
'string_rep'. The 'flags' key in the init hash can be the integer flags, 
and 'string_rep' the string value for 'new_from_string'. Though, I 
suspect a bit of intelligence should be applied, with saner names for 
some of the PMCs.


Creating a hash is expensive, but then new_from_string was also quite 
rare (only implemented on 4 PMCs), so isn't a huge target for optimization.


Allison


Re: Pair notation for number radix

2007-12-03 Thread Larry Wall
On Sat, Oct 06, 2007 at 04:00:18PM -0500, brian d foy wrote:
: This is basically the same question I had about file test operators
: earlier
: (http://www.nntp.perl.org/group/perl.perl6.language/2007/04/msg27415.htm
: l). I never got an answer on my syntax question and the discussion went
: off to talk about file tests instead of pair notation. 

Sorry, keep meaning to answer things and then get distracted.  It's only
been, what, two months since you sent this message...  :)

: >From S02 "The general radix form of a number involves prefixing with
: the radix in adverbial form".
: 
: This seems to say that there are non-general radix forms, and that
: those might involve a different radix form that's not adverbial.

Nope, anything else is just a function/method call.

: Later in the "Literals" section of S02, there's a chart of the
: corresponding forms for fat arrow, pair, and paren notation. It has
: 
:a => 'foo'  :a  :a()
: 
: That looks like it might mean that these are corresponding forms:
: 
:8 => 377:8<377>:8(377)

The first is just a pair of 8 and 377, and has no special numeric
significance.  The adverbial syntax is special in that, for ordinary
pairs, what follows the colon must be an identifier, so :8<377>
would ordinarily be illegal.  And because it would be illegal, we
can just reuse that syntax for an easy way to write radix literals.

It happens to fall out from this that the parenthetical form (which
allows an arbitrary expression returning a string instead of a literal
string) gives us a way to get rid of the badly named "hex" and "oct"
functions, which are bass-ackwards from the usual conversion functions
in that they name the input rather than the output.

The :8(377) above is a bit wrong, by the way, and works only because
decimal 377 happens to stringify to something that looks like an
octal number.  You couldn't, for instance, say :16(deadbeef) unless
deadbeef() was a 0-ary (or listop with no args) function returning
a hex string.

: Now, if I can do that, what happens to the pair form in a hash composer
: when I want the key of '8' and the value of :10<377>?

The situation doesn't arise, since you can't create a pair starting
with :8 anyway.

: Also, going a bit further, the table lists
: 
:a =>   :a  :a()
: 
: So can I do things like
: 
:255 => <10 1 0 6>;  # hey, that looks like an IP address

That's just a pair equivalent to 255 => (10,1,0,6), which promotes
to 255 => [10,1,0,6] because => is scalar context on both sides.
The construct has no numeric significance in terms of radix.

::255<10 1 0 6>; # is that the same as :255[ 10,1,0,6 ] ?

Unspecced, but yes, that would probably be allowable if we force
:255{10,1,0,6} to mean the same as :255[10,1,0,6].

Except, if you were really trying to generate an IPv4 address, I'd
suggest using :256 instead.  :)

: And, if that works, what might this do? 
: 
:q:w:255<10 1 0 6>

That would almost certainly be illegal syntactically on the face of it,
since the quote syntax doesn't know :255, and the quote syntax must
understand its options at compile time because that may influence how
the quoted string will be parsed.

If passed to an ordinary function where a term is expected, it's just
a literal number term.  If passed adverbially where an operator is
expected, it's likely to fail at compile time as "two terms in a row",
and if somehow it got past that, it'd attempt to bind to an optional
parameter named 255, which you can't declare, so it fails.  Anyway,
it's gonna blow up one way or another.  I guarantee it.  :)

Larry


Re: [perl #47011] [DEPRECATED] VTABLE entry 'new_from_string'

2007-12-03 Thread jerry gay
On Dec 3, 2007 11:25 AM, Allison Randal <[EMAIL PROTECTED]> wrote:
> Creating a hash is expensive, but then new_from_string was also quite
> rare (only implemented on 4 PMCs), so isn't a huge target for optimization.
>
careful... one of these PMCs is FixedIntegerArray. FIA is used to set
the flags for parrot calling conventions, so it's constructed every
time a subroutine is entered or exited. i'd prefer to see
new_from_string go away, but it seems to me benchmarks are in order
due to the amount of times this code is likely to be called in a
typical program.

~jerry


Re: [perl #47998] r23293: Make smoke "invalid format" failure

2007-12-03 Thread Andy_Bach
Hey,

I believe I've found it.  There was an update to lib/Parrot/Revision.pm 
(#23179) to add "--xml" to the snv info request used to get the current 
Parrot checkedout revision.  However, on svn v1.2 (1.2.1) that fails and 
you get a revision of zero which nobody likes.  So, while upgrading svn 
here fixes the issue, I notice a google brings up a couple other folks 
who've run into this issue too.

Thanks.

a

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

Remember, the first rule of optimisation is: don't do it yet. :-) Brian 
Raven



Re: [perl #47011] [DEPRECATED] VTABLE entry 'new_from_string'

2007-12-03 Thread Allison Randal

jerry gay wrote:



careful... one of these PMCs is FixedIntegerArray. FIA is used to set
the flags for parrot calling conventions, so it's constructed every
time a subroutine is entered or exited. i'd prefer to see
new_from_string go away, but it seems to me benchmarks are in order
due to the amount of times this code is likely to be called in a
typical program.


Which raises the usual sort of questions:

- Is FIA the best possible implementation solution for PCC flags?

- Does that logic, parsing the signature string, really belong in the 
FIA PMC? It is specific to PCC, and would seem more appropriate as a 
routine someplace like src/inter_call.c. (That's true even if it 
ultimately creates a FIA.)


Allison


Re: [perl #47011] [DEPRECATED] VTABLE entry 'new_from_string'

2007-12-03 Thread Kevin Tew

The logic was present in FIA, before PCC was written.
It was reused in an attempt to "don't repeat yourself".

Kevin

Allison Randal wrote:

jerry gay wrote:



careful... one of these PMCs is FixedIntegerArray. FIA is used to set
the flags for parrot calling conventions, so it's constructed every
time a subroutine is entered or exited. i'd prefer to see
new_from_string go away, but it seems to me benchmarks are in order
due to the amount of times this code is likely to be called in a
typical program.


Which raises the usual sort of questions:

- Is FIA the best possible implementation solution for PCC flags?

- Does that logic, parsing the signature string, really belong in the 
FIA PMC? It is specific to PCC, and would seem more appropriate as a 
routine someplace like src/inter_call.c. (That's true even if it 
ultimately creates a FIA.)


Allison




[svn:perl6-synopsis] r14470 - doc/trunk/design/syn

2007-12-03 Thread larry
Author: larry
Date: Mon Dec  3 15:55:10 2007
New Revision: 14470

Modified:
   doc/trunk/design/syn/S02.pod
   doc/trunk/design/syn/S05.pod

Log:
Mention that Int assumes 2's complement semantics when viewed via bitops.


Modified: doc/trunk/design/syn/S02.pod
==
--- doc/trunk/design/syn/S02.pod(original)
+++ doc/trunk/design/syn/S02.podMon Dec  3 15:55:10 2007
@@ -12,9 +12,9 @@
 
   Maintainer: Larry Wall <[EMAIL PROTECTED]>
   Date: 10 Aug 2004
-  Last Modified: 26 Sep 2007
+  Last Modified: 3 Dec 2007
   Number: 2
-  Version: 119
+  Version: 120
 
 This document summarizes Apocalypse 2, which covers small-scale
 lexical items and typological issues.  (These Synopses also contain
@@ -616,6 +616,10 @@
 Perl 6 intrinsically supports big integers and rationals through its
 system of type declarations.  C automatically supports promotion
 to arbitrary precision, as well as holding C and C values.
+Note that C assumes 2's complement arithmetic, so C<+^1 == -2>
+is guaranteed.  (Native C operations need not support this on
+machines that are not natively 2's complement.  You must convert to
+and from C to do portable bitops on such ancient hardware.)
 
 (C may support arbitrary-precision floating-point arithmetic, but
 is not required to unless we can do so portably and efficiently.  C

Modified: doc/trunk/design/syn/S05.pod
==
--- doc/trunk/design/syn/S05.pod(original)
+++ doc/trunk/design/syn/S05.podMon Dec  3 15:55:10 2007
@@ -587,7 +587,7 @@
 
 would allow any identifier (including any identifier containing
 "moose" as a substring) as long as the identifier as a whole is not
-equal to "moose". (Note the anchors, which attach submatch to the
+equal to "moose". (Note the anchors, which attach the submatch to the
 beginning and end of the identifier as if that were the entire match.)
 When used as part of a longer match, for clarity it might be good to
 use extra brackets:


Re: [perl #47998] r23293: Make smoke "invalid format" failure

2007-12-03 Thread Andy_Bach
Yes, up upgrading svn does it.  I had noticed that the configure listing 
*wasn't* showing the revision number (D'oh!) and now it does 
Determining whether (exuberant) ctags is 
installed.yes.
Running CPU specific 
stuffdone.
Determining Parrot's 
revision...r23410.
Determining whether ICU is 
installedno.
Generating C 
headers..done.

and make smoke works.   Unless somebody wants to add a patch to check for 
svn versions, you can close this one as of my account.


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

Remember, the first rule of optimisation is: don't do it yet. :-) Brian 
Raven



[perl #43307] [TODO] config/auto/aio.pm: Write unit tests

2007-12-03 Thread James Keenan via RT
I haven't completely sorted through the above issues, but here's a
somewhat refactored module and two test files.  Because of issues
discussed in RT 48070, I'm suggesting the use of IO::CaptureOutput
rather than Parrot::IO::Capture::Mini for capturing verbose output. 
I've enclosed the relevant tests in a SKIP block for those (many) of you
who do not have this module installed.  Please let me know of any problems.

I will apply the patch in 2-3 days if no one objects.  Thank you very much.

kid51
Index: MANIFEST
===
--- MANIFEST(revision 23423)
+++ MANIFEST(working copy)
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Mon Dec  3 17:41:41 2007 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Tue Dec  4 00:18:30 2007 UT
 #
 # See tools/dev/install_files.pl for documentation on the
 # format of this file.
@@ -3115,7 +3115,8 @@
 t/configure/141-auto_env-01.t   []
 t/configure/141-auto_env-02.t   []
 t/configure/141-auto_env-03.t   []
-t/configure/142-auto_aio.t  []
+t/configure/142-auto_aio-01.t   []
+t/configure/142-auto_aio-02.t   []
 t/configure/143-auto_gmp-01.t   []
 t/configure/144-auto_readline.t []
 t/configure/145-auto_gdbm-01.t  []
Index: t/configure/142-auto_aio-01.t
===
--- t/configure/142-auto_aio-01.t   (revision 0)
+++ t/configure/142-auto_aio-01.t   (revision 0)
@@ -0,0 +1,85 @@
+#! perl
+# Copyright (C) 2007, The Perl Foundation.
+# $Id$
+# 142-auto_aio-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 12;
+use Carp;
+use lib qw( lib t/configure/testlib );
+use_ok('config::init::defaults');
+use_ok('config::auto::aio');
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw( test_step_thru_runstep);
+
+my $args = process_options(
+{
+argv => [ ],
+mode => q{configure},
+}
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::aio};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+
+my ( $task, $step_name, @step_params, $step);
+$task= $conf->steps->[1];
+$step_name   = $task->step;
[EMAIL PROTECTED] = @{ $task->params };
+
+$step = $step_name->new();
+ok( defined $step, "$step_name constructor returned defined value" );
+isa_ok( $step, $step_name );
+ok( $step->description(), "$step_name has description" );
+
+my $ret = $step->runstep($conf);
+ok( $ret, "$step_name runstep() returned true value" );
+like(
+$step->result(),
+qr/^(yes|no)$/i,
+"One of two possible valid results was set"
+);
+
+pass("Completed all tests in $0");
+
+### DOCUMENTATION ###
+
+=head1 NAME
+
+142-auto_aio-01.t - test config::auto::aio
+
+=head1 SYNOPSIS
+
+% prove t/configure/142-auto_aio-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F.
+
+The tests in this file test methods found in configuration step class 
+config::auto::aio.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::aio, F.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Property changes on: t/configure/142-auto_aio-01.t
___
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native

Index: t/configure/142-auto_aio-02.t
===
--- t/configure/142-auto_aio-02.t   (revision 0)
+++ t/configure/142-auto_aio-02.t   (revision 0)
@@ -0,0 +1,97 @@
+#! perl
+# Copyright (C) 2007, The Perl Foundation.
+# $Id$
+# 142-auto_aio-02.t
+
+use strict;
+use warnings;
+use Test::More tests => 14;
+use Carp;
+use lib qw( lib t/configure/testlib );
+use_ok('config::init::defaults');
+use_ok('config::auto::aio');
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw( test_step_thru_runstep);
+
+my $args = process_options(
+{
+argv => [ q{--verbose} ],
+mode => q{configure},
+}
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::aio};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+
+my ( $task, $step_name, @step_params, $step);
+$task= $conf->steps->[1];
+$step_name   = $task->step;
[EMAIL PROTECTED] = @{ $task->params };
+
+$step = $step_name->new();
+ok( defined $step, "$step_name constructor returned defin

[perl #44171] [TODO] config/auto/attributes.pm: Write unit tests

2007-12-03 Thread James Keenan via RT
Have heard no complaints; resolving ticket.


[perl #41597] [PATCH] replacing explicit access to $^O in Configure

2007-12-03 Thread James Keenan via RT
Patches applied to trunk in r23427 Dec 03 2007.


[perl #47902] [PATCH] Confine calls to Perl 5 %Config to init::defaults

2007-12-03 Thread James Keenan via RT
Patches applied to trunk in r23427 Dec 03 2007.


PDD16 details

2007-12-03 Thread pancake
I have been looking a bit inside PDDs and parrot source and find no way to
load a pointer to a function as a PMC inside the VM.

What I want to do is to embed parrot into a C program and make some of the
functions of this C program available via NCI to the vm.

I have achieved this by using the tip noted in docs/compiler_faq.pod (thanks 
kjs!)
which says I need to pass a null string to loadlib and compile the parent C 
program
with -export-dynamic which is GCC specific... So imho looks like an ugly system-
dependant 'hack'.

I have found some interesting funcs in src/inter_misc.c but seems not to fix 
the problem,
can anybody give me an appoint? I know that the NCI part is not yet finished, 
but IMHO
these functions should follow the Parrot_ name convention and make them 
available from
the Parrot API.

Here's the source:

#include 

void func()
{
printf("Hello World!\n");
}

int main(int argc, char **argv)
{
PMC *method;
Parrot_Interp pvm = Parrot_new(NULL);

register_nci_method(pvm, enum_class_NCI, &func, "func", "v");

Parrot_PackFile pf = Parrot_readbc(pvm, "hello.pbc");
if (pf == NULL) {
fprintf(stderr, "Oops. Cannot open hello.pbc\n");
return 1;
}


/* */
Parrot_loadbc(pvm, pf);

Parrot_runcode(pvm, argc, argv);

Parrot_destroy(pvm);
}

$ cat hello.pir

.sub main :main
func()
say "Hello World"
.end


$ cat Makefile

all:
parrot -o hello.pbc hello.pir
gcc main.c `pkg-config --cflags --libs parrot` -export-dynamic


  Thanks!

  --pancake


[perl #47313] [BUG] config/auto/va_ptr.pm delivering surprising result

2007-12-03 Thread James Keenan via RT
No complaints heard; resolving ticket.


[perl #48036] [PATCH] Add --silent option to Parrot configuration

2007-12-03 Thread James Keenan via RT
Patches committed to trunk in r23430 Dec 03 2007.


Re: perl 6 grammar

2007-12-03 Thread cdumont

Patrick R. Michaud wrote:


On Mon, Dec 03, 2007 at 12:20:02PM +, Smylers wrote:
 


cdumont writes:
   


I don't really think using the column in a ternary means that you
cannot use it else where.
 


We started off with that, and it was changed specifically because it was
causing a problem; I can't remember exactly what, but it's in this
list's archives somewhere.

Remember that whatever expression you want to use the colon for is going
to be valid between the ? and : parts of the ? ... : operator, and so
you need to avoid the colon being confused for the : which marks the end
of this part of the ? ... : operator.
   



...and it's not just the colon, but the ? also has the potential to be
confusing here, because there's a prefix: operator that is used to
coerce into boolean context.

Which indirectly gets around to an even stronger reason for using
C over C -- Perl 6 aims for a consistency in the
use of the ? and ! characters to mean "boolean true" and "boolean
not true".  This is true not only for the operators, but also in
regular expressions and other places.  So, having something like

   $foo =  $cond ?? ...if_true... !! ...if_not_true... ;

achieves several important goals:
 - it frees up the ? and : characters for other purposes
 - it reinforces the convention of ? as "if true" and ! as "if false"
 - it is more visually distinctive, so that the ternary tokens don't
   get lost in the middle of other operands and expressions
 - it simplifies parsing (both compiler and human) and improves
   error reporting

In my case, I've found the switch to ?? !! to be fairly
natural, and that I don't use it often enough to worry about
the extra characters.
 


OK that explains the logic behind the conclusion. Thank you!
I don't use it that much either but it was for the sake of coherence 
with other languages

but Mr. Wall got the point in his response!



--
シリル・デュモン(Cyrille Dumont)
[EMAIL PROTECTED]
our work is the portrait of ourselves
tel: 03-5690-0230 fax: 03-5690-7366
http://www.comquest.co.j




Re: perl 6 grammar

2007-12-03 Thread cdumont

Smylers wrote:


cdumont writes:

 


Smylers wrote:

   


cdumont writes:
 


The given ... when doesn't seem to bring that much from switch ...
case given ...
   


Surely it brings all of it?  Plus much more as well.   Much of the
power is in the smart-matching, which enables many different sorts
of comparisions, each naturally matching the appropriate thing.  A
big advantage given has over C's switch construct is not having to
include break in the usual case (and get mysterious-yet-silent bugs
if you accidentally forget it).
 


I understand that given ... when is even more powerful than a simple
switch case but why just don't say it this way : this is a switch case
dopped with hyper process
   



Maybe the documentation will say it that way!
 


Well, hope so... if we could talk about the doc too...

 


and keep the old switch ... case keywords.
   



But "keeping" the "old" ones would require having them already -- which
Perl doesn't.  What would be the point in simultaneously introducing a
flexible syntax which meets all switching needs and a less-powerful
syntax (which is completely different, thereby making it more work than
necessary if you outgrow its requirements and need to change to using
the more flexible alternative; and which is error-prone)?
 

I am sorry, I meant : keep the old school switch ... case keywords that 
we inherited

from other languages.
I don't think the syntax should be the same exactly.
I just want to avoid having to learn or expose people that are not 
native English speakers

to too many keywords.

 


I don't know why, this given... when sounds so 'English' without
really being that English.
   



I'm afraid you've lost me -- are you saying that given does sound
English or that it doesn't?  And why is it relevant either way?
 



See above.

 


And hashes require '=> ' but it could be nice to switch to ':'
   


Indeed it could be.  But, unfortunately, the colon seemed to be top
of many people's most-wanted lists, with many different (and mutex)
suggestions for what it should do.  (Remember, only a couple of
paragraphs ago you were wanting to keep it for the ? ... :
operator!) Possibly somebody could design a language in which the
colon is the only symbol used ...
 


I don't really think using the column in a ternary means that you
cannot use it else where.
   



We started off with that, and it was changed specifically because it was
causing a problem; I can't remember exactly what, but it's in this
list's archives somewhere.

Remember that whatever expression you want to use the colon for is going
to be valid between the ? and : parts of the ? ... : operator, and so
you need to avoid the colon being confused for the : which marks the end
of this part of the ? ... : operator.

Also remember that we want Perl 6 to be able to complain about syntax
errors -- that is, we want that when somebody makes a typo, there's a
good chance of perl complaining about the source being invalid, rather
than it being valid Perl 6 (but which silently does something else).
 


I can understand the idea.

 


As for the functions, i didn't see that much for hashes and arrays
which was a big disappointment.
   



What were you hoping for?  Many things which were functions in Perl 5
are now also available as methods in Perl 6.  If you post here with what
you're disappointed to be missing, it may be that somebody can reply
pointing out where the equivalent functionality is!
 

I am pretty much sure that I can rebuilt all the functions I will need 
for intersections and the like.
But instead of reinventing the wheel or having to DL a module, it could 
be nice to have

it as a built in.
They are also other string related functions that are required when 
dealing with web

but I guess this is not in the scope of perl anyway.


Smylers


 




--
シリル・デュモン(Cyrille Dumont)
[EMAIL PROTECTED]
our work is the portrait of ourselves
tel: 03-5690-0230 fax: 03-5690-7366
http://www.comquest.co.j




Re: perl 6 grammar

2007-12-03 Thread cdumont
Larry Wall wrote:

>On Mon, Dec 03, 2007 at 07:30:53PM +0900, cdumont wrote:
>  
>
>>Moritz Lenz wrote:
>>
>>
>>
>>>cdumont wrote:
>>> 
>>>  
>>>
1- $str1 ~ $str2
   


>>>The '+' suggests numerical addition (and requires disambiguation in the
>>>case of $str + $number - should $str be interpreted as a number, or
>>>$number as a string?).
>>>
>>>The . is already taken by method calls (used far more often), and is
>>>easy to overlook when concatenating strings.
>>> 
>>>  
>>>
>>Yeah, that's what I thought about the use of the dot for hashes and objects
>>but hash or object :
>>
>>$obj.method();
>>or
>>%hash.value();
>>
>>which is visually different from :
>>
>>$str.$str2
>>
>>as the concatenation keeps the sigil.
>>
>>I am not a huge fan of the + operator either but
>>well, why add a third type when the dot could be just fine ?
>>
>>
>
>Because it wouldn't be just fine.  Even in Perl 5 we have $obj->$method,
>so if you're going to allow indirect methods and use . for method calls,
>$a.$b has to be an indirect method call, not a concatenation.
>  
>
Oh! True!
But ~...
it's not has easy to type as '.' and not really visually nice (even if
outstanding)

>In general, one of the design principles of Perl 6 is that we never
>overload operators to do very different things, because even if we can
>think of a way to finesse it right now, it has a negative impact on
>both extensibility and readability.  It impacts extensibility because
>you leave yourself no "wiggle room" in the grammar for future changes.
>It impacts readability because you have to stop to consider the context
>to decide which operation is going to happen.
>
>This is why Perl 5's x is now split into x and xx, for instance.  Though
>Perl 5 got some things right, by this principle.  We never made the
>mistake of confusing addition with concatenation.  Not only is
>concatenation not numeric, it's not even commutative!
>
>  
>
>>2 ways are already more than one.
>>
>>
>
>If you're doing 3 very different things, then doing it 2 ways is
>suboptimal.  Things that are different should look different.
>
>Also, keeping operators in 1::1 correspondence with operations gives the
>optimizer the most chance to figure things out at compile time without
>having to know types at run time.  (An oversimplicifcation, I know,
>especially given how Perl 6 does multiple dispatch on operators at
>run time.)
>
>Nevertheless, most of the overloading of operators historically has
>been to avoid using up the ASCII sequences, and now that we allow
>users to define Unicode operators, that artificial pressure has mostly
>been removed.
>
>That being said, there's still contention for the short ASCII
>sequences, and you shouldn't assume that any Perl 6 operator is
>what it is for a single reason.  Generally, most of these operators
>have four or five reasons for being what they are, and some of those
>reasons relate to what has already been taken by other more important
>operators.  Plus there is consistency with the rest of the language,
>where ~ generally indicates some kind of string operation.
>
>  
>
I guess there's a need to write some long programs in order to see.

2- $life = (!$monster) ?? 'safe' !! 'dead';
   


>>>is it true??? really??? then you're safe. if not (! is not), you're
>>>dead. PWND.
>>>
>>>Again I think that a visually outstanding operator simplifies reading.
>>>It's really easy to overlook a single ':', as it's used in p5.
>>>
>>> 
>>>  
>>>
>>You are right, that is outstanding but again, so many languages use
>>a standard ? :
>>
>>
>
>Languages copy all sorts of suboptimal features from other languages.
>After all, that's how Perl 1 got ?: from C.  That doesn't make it
>right or wrong, merely convenient to learn.   Learnability has always
>been a secondary goal in Perl 5, compared to expressiveness, which is
>a primary goal.
>
>When a language is first starting out, it *must* copy a lot of bad
>constructs from other languages, or it will not easily be accepted (see
>Icon for a sad example of this).  With the wide acceptance of Perl 5,
>we have the opportunity to use that as a cultural basis for change.
>It remains to be seen whether we can succeed with that, but most of
>the signs are positive.  Most people only panic about once when making
>the mental switch from Perl 5 to Perl 6.
>
>But if you want to panic once per operator, that's okay too.  :)
>
>  
>
Well I will rewrite all my little mvc framework in perl 6 with
all the new oop features that should make my code cleaner.
It is the best occasion to get dirty a little!
But when you say that a language has to copy other languages
at the beginning to get accepted, I really think it is true.
On the other hand, even if perl 5 is widly accepted
(unfortunately not that much in entreprise context due to CPAN phobia)
and that perl 6 gains a lot from its ancestor,
it is still a new language with a lot of new grammars
If I were to start p

perl 6 and web open source projects

2007-12-03 Thread cdumont

oh, it might not be relevant in many ways but :

http://iamseb.com/seb/2007/12/perl-on-rails-why-the-bbc-fails-at-the-internet/

http://www.bbc.co.uk/blogs/radiolabs/2007/11/perl_on_rails.shtml

There's one thing I would like perl6 to shine in, is web and open source.
I know it's not the purpose of the language
and that the above articles are placed in a particular
context but I guess this can explain to some extends
why both perl don't have a widespread use in entreprise
and in open source project
(I have looked for them but they are little and some of them
like movable type moves to php at each upgrade)





cdumont wrote:


Patrick R. Michaud wrote:


On Mon, Dec 03, 2007 at 12:20:02PM +, Smylers wrote:
 


cdumont writes:
  


I don't really think using the column in a ternary means that you
cannot use it else where.



We started off with that, and it was changed specifically because it 
was

causing a problem; I can't remember exactly what, but it's in this
list's archives somewhere.

Remember that whatever expression you want to use the colon for is 
going

to be valid between the ? and : parts of the ? ... : operator, and so
you need to avoid the colon being confused for the : which marks the 
end

of this part of the ? ... : operator.
  



...and it's not just the colon, but the ? also has the potential to be
confusing here, because there's a prefix: operator that is used to
coerce into boolean context.

Which indirectly gets around to an even stronger reason for using
C over C -- Perl 6 aims for a consistency in the
use of the ? and ! characters to mean "boolean true" and "boolean
not true".  This is true not only for the operators, but also in
regular expressions and other places.  So, having something like

   $foo =  $cond ?? ...if_true... !! ...if_not_true... ;

achieves several important goals:
 - it frees up the ? and : characters for other purposes
 - it reinforces the convention of ? as "if true" and ! as "if false"
 - it is more visually distinctive, so that the ternary tokens don't
   get lost in the middle of other operands and expressions
 - it simplifies parsing (both compiler and human) and improves
   error reporting

In my case, I've found the switch to ?? !! to be fairly
natural, and that I don't use it often enough to worry about
the extra characters.
 


OK that explains the logic behind the conclusion. Thank you!
I don't use it that much either but it was for the sake of coherence 
with other languages

but Mr. Wall got the point in his response!






--
シリル・デュモン(Cyrille Dumont)
[EMAIL PROTECTED]
our work is the portrait of ourselves
tel: 03-5690-0230 fax: 03-5690-7366
http://www.comquest.co.j




Re: perl 6 and web open source projects

2007-12-03 Thread Trey Harris

In a message dated Tue, 4 Dec 2007, cdumont writes:


oh, it might not be relevant in many ways but :

http://iamseb.com/seb/2007/12/perl-on-rails-why-the-bbc-fails-at-the-internet/

http://www.bbc.co.uk/blogs/radiolabs/2007/11/perl_on_rails.shtml

There's one thing I would like perl6 to shine in, is web and open source.
I know it's not the purpose of the language
and that the above articles are placed in a particular
context but I guess this can explain to some extends
why both perl don't have a widespread use in entreprise
and in open source project
(I have looked for them but they are little and some of them
like movable type moves to php at each upgrade)


May I divert from where this discussion would clearly go if your comment 
were directly responded to (into a massive flame-fest, that is) just to 
point out that this is not the purpose of the p6-l@ list?


This list is to discuss the Perl 6 core language.

The very notions of "enterprise" use and "open source" use and "web" use 
are so amorphous that it is hard to imagine core language features that 
would foster or discourage them.  A language is an ecosystem, and it's 
hard to argue that Perl has done poorly in any of the three; the fact that 
other languages may currently have more forward momentum reflects, as much 
as anything else, that Perl reached saturation in these areas many years 
ago.


If you want to make specific recommendations with regards to the language 
Perl 6, go ahead.  But a free-for-all on Perl's successes and failures in 
particular arenas is not what this list is for.


Trey


Re: perl 6 and web open source projects

2007-12-03 Thread cdumont

Trey Harris wrote:


In a message dated Tue, 4 Dec 2007, cdumont writes:


oh, it might not be relevant in many ways but :

http://iamseb.com/seb/2007/12/perl-on-rails-why-the-bbc-fails-at-the-internet/ 



http://www.bbc.co.uk/blogs/radiolabs/2007/11/perl_on_rails.shtml

There's one thing I would like perl6 to shine in, is web and open 
source.

I know it's not the purpose of the language
and that the above articles are placed in a particular
context but I guess this can explain to some extends
why both perl don't have a widespread use in entreprise
and in open source project
(I have looked for them but they are little and some of them
like movable type moves to php at each upgrade)



May I divert from where this discussion would clearly go if your 
comment were directly responded to (into a massive flame-fest, that 
is) just to point out that this is not the purpose of the p6-l@ list?


This list is to discuss the Perl 6 core language.

The very notions of "enterprise" use and "open source" use and "web" 
use are so amorphous that it is hard to imagine core language features 
that would foster or discourage them. A language is an ecosystem, and 
it's hard to argue that Perl has done poorly in any of the three; the 
fact that other languages may currently have more forward momentum 
reflects, as much as anything else, that Perl reached saturation in 
these areas many years ago.


If you want to make specific recommendations with regards to the 
language Perl 6, go ahead. But a free-for-all on Perl's successes and 
failures in particular arenas is not what this list is for.


Trey



Sorry.

Where can I find a mailing list that is about Perl 6 in general then?

Thank you.




--
シリル・デュモン(Cyrille Dumont)
[EMAIL PROTECTED]
our work is the portrait of ourselves
tel: 03-5690-0230 fax: 03-5690-7366
http://www.comquest.co.j




Re: perl 6 and web open source projects

2007-12-03 Thread Darren Duncan

At 2:51 PM +0900 12/4/07, cdumont wrote:

Sorry.
Where can I find a mailing list that is about Perl 6 in general then?
Thank you.


I would recommend that [EMAIL PROTECTED] is the best place to talk 
about these things, out of the official Perl 6 lists that I know of. 
-- Darren Duncan


Re: perl 6 and web open source projects

2007-12-03 Thread cdumont

Darren Duncan wrote:


At 2:51 PM +0900 12/4/07, cdumont wrote:


Sorry.
Where can I find a mailing list that is about Perl 6 in general then?
Thank you.



I would recommend that [EMAIL PROTECTED] is the best place to talk 
about these things, out of the official Perl 6 lists that I know of. 
-- Darren Duncan




Thank you (^^;)

Just ignore my messages about this topic, all.

I will copy and paste it for this mailing list.



--
シリル・デュモン(Cyrille Dumont)
[EMAIL PROTECTED]
our work is the portrait of ourselves
tel: 03-5690-0230 fax: 03-5690-7366
http://www.comquest.co.j




Re: perl 6 and web open source projects

2007-12-03 Thread cdumont



Trey Harris wrote:

The very notions of "enterprise" use and "open source" use and "web" 
use are so amorphous that it is hard to imagine core language 
features that would foster or discourage them. A language is an 
ecosystem, and it's hard to argue that Perl has done poorly in any of 
the three; the fact that other languages may currently have more 
forward momentum reflects, as much as anything else, that Perl 
reached saturation in these areas many years ago.



As for that point :

in these areas many years ago.

If other languages are now favoured for web development over Perl5
that is supposed to have reached saturation years ago,
it means that it wasn't the optimum or even closed to be it.
While perl6 is being implemented it is perhaps a good idea to evoluate 
perl 6
in regards to perl 5 at the language level but also cultural and 
environment level.
I wanted to point out that offering an ecosystem, water, was perhaps 
good enough

when perl went thru.
But now, roads, high-way and plane are very common things in new languages.
They do implement more than just a basic ecosystem.
This offers coherence, standard and assurance that programm A will run
in context Y and Z without having to rebuilt the road.
For what I have seen, many people in this mailing list thinks that the 
ecosystem

is good enough.
But as somebody says in this mailing list,
when you go buy a car you want everything in it.
Not going in a, b,c ,d shops to get it to work.
That's why open source projects favor php or ruby because
the assurance the program will run in context is higher
than in perl and it seems like it will in perl 6.

So perhaps this shouldn't have to be discussed in a 'language'
mailing list but I guess a language is built upon a certain
context whether you want to hear about it or not.

But don't get me wrong!
I don't want to blame anything at all!
I wanted to point out that CPAN was the sucess of perl.
But C6PAN might be it failure.

Like an other person said, having a web module,
that will be part of the core documentation
without even having to be in the core of perl 6
would be a very good solution.
This will offer standard, assurance and allow
wide spread use of perl 6 over predominant actual languages.

In order to do so, the language has to take into account
what are the most common actual needs and reflect them
to some extends.

French used to have many verbs and tricky grammar rules.
It tends to disappear and in the same time English words,
computer words are just getting in our everyday life
more and more.
Perhaps we won't be using them in 2 years but and so what?
If we need them now.
Don't you think this has to do with perl 6 language?

now,now,now,it's all about now.

as said Jeff Buckley...


But this might not be the place and I will stop here.

Thank you anyway for your kind reply.











--
シリル・デュモン(Cyrille Dumont)
[EMAIL PROTECTED]
our work is the portrait of ourselves
tel: 03-5690-0230 fax: 03-5690-7366
http://www.comquest.co.j




Re: [perl #47011] [DEPRECATED] VTABLE entry 'new_from_string'

2007-12-03 Thread Francois PERRAD

Will Coleda via RT wrote:

On Mon Oct 29 11:11:03 2007, bernhard wrote:

In pdd17_pmc.pod it is stated that 'new_from_string' is deprecated.
The existing use of 'new_from_string' can probably be achieved with 
'init' or

'set_string_native'.

TODO:
Hunt down existing use of 'new_i_s' and either replace or remove the 
functionality.

The FixedIntegerArray is an example of where 'new_from_string' is used.


Given the usage in compilers/imcc/pbc.c:

_class  = interp->vtables[r->pmc_type]->pmc_class;
p   = VTABLE_new_from_string(interp, _class, s, PObj_constant_FLAG);

Is there a standard for passing the flags? In the old scheme, we had a specific argument to 
pass in the flags... There are a lot of cases where we pass in flags here; Do we now have to 
create a Hash PMC in each case? If it's a Hash, then we have to setup a convention to pass 
the flags... but doing this just as a convention seems to be ripe for mistakes; Clues welcome 
on how to proceed.





'new_from_string' is widely used by .const, for example :
.const .String key_print = "print"
or
.const .Sub _create = 'create'
What becomes this kind of constructor ?

Francois.