Folks,
Please always verify test results, don't use the Parrot output of the test as
the expected output.
If you are implementing a new feature, write the *test first*.
Thanks,
leo
PS from r13305:
@@ -1324,7 +1324,7 @@
set P2, 300 # .Integer
set P3, 246.246
On behalf of the Parrot team I'm proud to announce another
monthly release of Parrot.
I'd like to thank all involved people as well as our
sponsors for supporting us.
What is Parrot?
Parrot is a virtual machine aimed at running Perl6 and other dynamic
languages, see http://www.parrotcode.org/
On behalf of the Parrot team I'm proud to announce another
monthly release of Parrot.
I'd like to thank all involved people as well as our
sponsors for supporting us.
What is Parrot?
Parrot is a virtual machine aimed at running Perl6 and other dynamic
languages, see http://www.parrotcode.org/
On behalf of the Parrot team I'm proud to announce another
monthly release of Parrot.
I'd like to thank all involved people as well as our
sponsors for supporting us.
What is Parrot?
Parrot is a virtual machine aimed at running Perl6 and other dynamic
languages, see http://www.parrotcode.org/
On behalf of the Parrot team I'm proud to announce another
1.5 monthly release of Parrot. GPW is the German Perl Workshop,
which will take place next week.
I'd like to thank all involved people as well as our
sponsors for supporting us.
What is Parrot?
Parrot is a virtual machine aimed at
On behalf of the Parrot team I'm proud to announce another
major release of Parrot. More than 530 svn checkins and 1000
added tests by numerous folks bump up the version to 0.4.0.
I'd like to thank all involved people as well as our
sponsors for supporting us.
What is Parrot?
Parrot is a
On Nov 23, 2005, at 3:06, chromatic wrote:
On Wed, 2005-11-23 at 01:39 +0100, Leopold Toetsch wrote:
But my argument was: whenever you
start introspecting a call frame, by almost whatever means, this will
keep the call frame alive[1] (see Continuation or Closure). That is:
timely destruction
On Nov 22, 2005, at 1:40, Matt Fowles wrote:
Call Frame Access
Chip began to pontificate about how one should access call frames.
Chip
suggested using a PMC, but Leo thought that would be too slow.
No, not really. It'll be slower, yes. But my argument was: whenever you
start
On Nov 15, 2005, at 17:24, The Perl 6 Summarizer wrote:
The Perl 6 Summary for the fortnight ending 2005-11-13
string_bitwise_*
Leo, it seems to boil down to a choice between throwing an
exception or
simply mashing everything together and marking the 'resulting bit
mess'
On behalf of the Parrot team I'm proud to announce the release of
Parrot 0.3.1. I'd like to thank all involved people as well as our
sponsors for supporting us.
What is Parrot?
Parrot is a virtual machine aimed at running Perl6 and other dynamic
languages.
Parrot 0.3.1 changes and news
-
On Oct 5, 2005, at 1:17, Matt Fowles wrote:
Here Doc in PIR
Will Coleda revived a thread from February about PIR here doc
syntax.
Looks like the syntax is ok.
Jonathan Worthington has already implemented here doc syntax.
Data::Escape::String Dislikes Unicode
Will
On behalf of the Parrot team I'm proud to announce the release of
Parrot 0.3.0. I'd like to thank all involved people as well as our
sponsors for supporting us.
What is Parrot?
Parrot is a virtual machine aimed at running Perl6 and other dynamic
languages.
Parrot 0.3.0 changes and news
- New
On Aug 23, 2005, at 3:43, Matt Fowles wrote:
Perl 6 Summary for 2005-08-15 through 2005-08-22
Java on Parrot
I vote for Jot.
That's already occupied by another language
http://en.wikipedia.org/wiki/Iota_and_Jot.
Perl 6 Language
Type Inferencing in Perl 5
Autrijus
Parrot 0.2.3 Serenity Released!
On behalf of the Parrot team I'm proud to announce another monthly
release of Parrot and I'd like to thank all involved people as well as
our sponsors for supporting us.
What is Parrot?
Parrot is a virtual machine aimed at running Perl6 and other dynamic
Parrot 0.2.2 Geeksunite Released!
On behalf of the Parrot team I'm proud to announce another monthly
release of Parrot and I'd like to thank all involved people as well as
our sponsors for supporting us.
Please visit http://geeksunite.org and support Chip.
What is Parrot?
Parrot is a virtual
Parrot 0.2.1 APW Released!
On behalf of the Parrot team I'm proud to announce another monthly
release of Parrot and I'd like to thank all involved people as well as
our sponsors for supporting us.
The release name stands for Austrian Perl Workshop, which will take
place on 9th and 10th of June
Nigel Sandever [EMAIL PROTECTED] wrote:
Thanks, applied - r8263
Further thoughts on the questions in comments invited.
Yeah.
njs
leo
Autrijus Tang [EMAIL PROTECTED] wrote:
What does unboxed values return for their id, though?
3 =:= 3; # always true?
3.id ~~ 3.id; # ditto?
Maybe true or not, that's highly implementation dependent. I'd not touch
these internals:
$ python
Python 2.4 [...]
id(2) == id(1+1)
; ++n, ++p) {
switch(*p) {
// case statements go here
}
}
The $N_I gets according to the IOpTrans/*.pm expanded to something
like:
IREG(2+n) aka REG_INT(cur_opcode[2+n])
similar to the current $1, $2, ...
=head1 AUTHOR
Leopold Toetsch
=head1 SEE ALSO
Fdocs/pdds
Parrot 0.2.0 NLnet Released!
On behalf of the Parrot team I'm proud to announce the release of
Parrot 0.2.0 and I'd like to thank all involved pepole as well as
our sponsors for supporting us.
It's a pleasure and honor for me to be able to advertise (after 0.1.0) the
next leap release 0.2.0 with
Larry Wall [EMAIL PROTECTED] wrote:
It would be nice to have an easy-to-access What's this? interface
that could be stitched into your favorite editor to identify what's
under the cursor, or at least a command like:
p6explain '[+]'
s:p5/nice to have/absolutely necessary/ unless $self ~~
Autrijus Tang [EMAIL PROTECTED] wrote:
my sub get_book () of Hash of Array of Recipe {...}
my num @nums = Array of num.new(:shape(3;3;3));
Does Parrot's MMD carry this type information natively?
Neither of above. But:
multi sub foo(Int $a, Num $b) { ... }
aka
.sub foo
Gaal Yahas [EMAIL PROTECTED] wrote:
Two things popped up while implementing a demo version of alarm() today.
1. In perl5 and in most underlying libraries, alarm() has 1 second
granularity
2. ..., in which you can
pass an optional closure to alarm()
I can't say anything about the actual
Larry Wall [EMAIL PROTECTED] wrote:
On Tue, Apr 19, 2005 at 02:02:41PM +, Ingo Blechschmidt wrote:
: # Possibility #2
: multi sub *postcircumfix:'[', ']'(TiedArray $self, $index) {
: # Body as above
: }
None of those are quite right, because you have to be prepared to
Larry Wall [EMAIL PROTECTED] wrote:
On Fri, Apr 15, 2005 at 11:44:03PM +0200, Juerd wrote:
: Is there a ?ws-like thingy that is always \s+?
Not currently, since \s+ is there. ?ws used to be that, but
currently is defined as the magical whitespace matcher used by :words.
: Do \s and ?ws match
Larry Wall [EMAIL PROTECTED] wrote:
: On Thu, 2005-03-31 at 23:46 -0800, Darren Duncan wrote:
:
: In P6, an object is a data-type. It's not a reference, and any member
: payload is attached directly to the variable.
Well, it's still a reference, but we try to smudge the distinction in P6.
A
Rod Adams [EMAIL PROTECTED] wrote:
Leopold Toetsch wrote:
the method call in PIR can be written as:
d = x.cos() # normal method call
d = Float.cos(x) # class method, argument shifted down
d = P6Num.cos(x) # same
d = cos x # PIR opcode syntax [1]
cos d
Rod Adams [EMAIL PROTECTED] wrote:
While that's a nice feature to have in general, I feel better about
going ahead and predefining that the builtins are already members of
Num, Str, Array, Hash for the shear performance and documentation values
of it.
That's exactly the plan, when it comes
Bob Rogers [EMAIL PROTECTED] wrote:
From: Leopold Toetsch [EMAIL PROTECTED]
1) is there a MultiSub object with one short name that holds all
possible long names (and function references)?
If yes, who is creating it: the Perl6 compiler emits code to do so or
it's up to Parrot
Rod Adams [EMAIL PROTECTED] wrote:
Leopold Toetsch wrote:
Discussion seems to have went off into esoteric cases of locally
overriden dispatcher policies and what not.
I don't think it's as esoteric as you might think. Consider:
package Foo;
use MMD::Random;
our bar is MMD
Rod Adams [EMAIL PROTECTED] wrote:
Well
if 10 $j 1 { ... }
if 10 $j { if $j 1 { ... }}
Could easily wind up with the same opcodes.
No. In the first case $j is evaluated just once. In the second case it's
evaluated twice.
leo
Rod Adams [EMAIL PROTECTED] wrote:
If I were to need a different policy for a given method .bar, I would
likely create something called .bar much like your run_random_bar,
which then dispatches amongst methods I name something like ._bar .
I see some detractions to this approach:
1) Users
Rod Adams [EMAIL PROTECTED] wrote:
It seems to me that there are several advantages to making a group of
multi with the same short name a single object, of type
MultiSub|MultiMethod, which internally holds references to the all the
various routines that share that short name.
Discussion seems
Luke Palmer [EMAIL PROTECTED] wrote:
I think we should replace our multimethod system with a more general
pattern matcher, a variadic multimethod system of sorts. Multimethods
need to be variadic anyway, because we want pugs's quicksort example to
work.
I'd not say replace. The dispatcher
On behalf of the Parrot team I'm proud to announce the release of
Parrot 0.1.2.
What is Parrot?
Parrot is a virtual machine aimed at running Perl6 and other dynamic
languages.
Parrot 0.1.2 contains a lot of new stuff:
- New string handling code. Strings now have charset and encoding
- Parts of a
Thomas Sandlaß [EMAIL PROTECTED] wrote:
Am I missing something, but the only thing I've figured out so far is that
Parrot uses ternary MMD for its builtin binary ops like ADD, MUL, OR, etc.
actually binary, dispatch is based on (left, right) operands.
They are ternary to prevent a final copy
Thomas Sandlaß [EMAIL PROTECTED] wrote:
The opcodes for 'callmethod_MMD_3_sig func' and 'callmethod_MMD_n
func, n' are simply not there yet, right?
No. The problem is that at function call time there is no indication
that a MMD subroutine should be called. So Parrot will just do a full
MMD
[ cc'ed p6l ]
Matt Fowles wrote:
Leo~
On Wed, 19 Jan 2005 10:02:26 +0100, Leopold Toetsch [EMAIL PROTECTED] wrote:
But where does that PerlMMD PMC come from? Does the Perl6 compiler
generate one somewhere?
It is generated by the compiler. During compilation all of the
different MMD functions
The Perl 6 Summarizer [EMAIL PROTECTED] wrote:
I tried, I really did, but I'm afraid that I must raise the white flag
..- Dan, Leo and the
rest of the p6i team have done fantastic work
Thanks for the flowers and of course for all your precise summaries.
... But if any of you are thinking I
On behalf of the Parrot team I'm proud to announce the Parrot 0.1.1
release.
Parrot 0.1.1 is an intermediate release with tons of updates and fixes.
- Python support: Parrot runs 4/7 of the pie-thon test suite
- Better OS support: more platforms, compilers, OS functions
- Improved PIR syntax
Larry Wall [EMAIL PROTECTED] wrote:
On Sat, Sep 04, 2004 at 09:47:29AM +0200, Leopold Toetsch wrote:
: Honestly I don't see the point why all normal array usage should be
: slowed down just for the sake of some rare usage patterns.
Does it have to? Couldn't it have a different vtable? (Which
John Williams [EMAIL PROTECTED] wrote:
What happens when the Pascal programmer declares
my int @ints is shape(-10..10);
Should that really all be in core? Why not let the user create his own
derived array that does what she wants?
Honestly I don't see the point why all normal array usage
Larry Wall [EMAIL PROTECTED] wrote:
On Fri, Sep 03, 2004 at 11:41:05AM +0100, Tim Bunce wrote:
: (I'm not (yet) familiar with Parrot's ManagedStruct and UnManagedStruct
: types but there's probably valuable experience there.)
Quite likely.
Well, *ManagedStruct is already working pretty well.
[snipped except for essentials :) ]
Book News
New Releases
***Perl 6
The Perl 6 Summarizer [EMAIL PROTECTED] wrote:
Congratulations Ion, don't forget to send in a patch to the CREDITS
file.
$ grep -1 Ion CREDITS
N: Ion Alexandru Morega
D: string.pmc
Thanks again for your summary,
leo
The Perl 6 Summarizer wrote:
PIO_unix_pipe()
Leo's implemented a PIO_unix_pipe() method which allows you to run an
external program and capture the results with a Parrot IO handle. He
doctored the open opcode to use it
pipe = open /bin/ls -l, -|
While that's right regarding
Richard Nuttall [EMAIL PROTECTED] wrote:
On the DWIM principle, shouldn't Perl then just autoload the DWIM::AI
module and provide as output the script that they are intending to write ?
That needs of course some support in the inyards of Perl6, i.e. in
Parrot.
$ parrot
,--[ editor-session
Leopold Toetsch [EMAIL PROTECTED] wrote:
spawnw $I0, $EDITOR hello.imc
.end
That's of course suboptimal. Here is a better version:
.local pmc env
env = new Env
.local string editor
editor = env[EDITOR]
# TODO: provide sensible default if not found, i.e. vim
Parrot 0.1.0 Leaping Kakapo Released!
The Parrot team proudly presents the Parrot 0.1.0 leap release. It
provides some milestones like objects and multi-threading1[1] and
supports many more platforms.
After some pause you can grab it from
Piers Cawley wrote:
newsub and implicit registers
[...] ops [...] that IMCC needed to
track. Leo has a patch in his tree that deals with the issue.
Sorry, my posting seems to have been misleading. The register tracking
code is in the CVS tree.
Thanks again for your summaries,
leo
Piers Cawley [EMAIL PROTECTED] wrote:
Parrot Calling Convention Confusion
... -- I thought they were exactly the same as an unprototyped call,
but you invoke the return continuation (P1) instead of P0, the other
registers are set up exactly as if you were making an unprototyped
Parrot 0.0.13 Screaming Pumpkin Released!
Your new Bluza[1] proudly presents Parrot 0.0.13 Halloween edition[2].
Proposed originally as a fun release it has a remarkable list of
improvements, additions, and fixes[3].
While not really milestones are reached, many steps towards these are
Piers Cawley [EMAIL PROTECTED] wrote:
Object Freezing
[ ... ]
... The upshot is that we're doing it Dan's way; Glorious Leader
continues to trump Pumpking Patchmonster.
As this is a summary, abbove sentence is a summary as well. The reality
is more complex. The final implementation
Piers Cawley [EMAIL PROTECTED] wrote:
... spending the morning of your 36th birthday
Happy birthday to you and us.
l - A full year has passed, hasn't it? - eo
Piers Cawley [EMAIL PROTECTED] wrote:
Okay, okay, PONIE really stands for 'Perl On New Internal Engine'.
That's that what they say. Actually it was: PONIEPONIE:
Perl5 Obsoletes Nasty Internals Entirely:
Parrot Occupies Numerous Interpreters Everywhere
But that was to bulky. Or too many
Piers Cawley [EMAIL PROTECTED] wrote:
More CPS shenanigans
I get the strong feeling that Leo Tötsch isn't entirely happy with the
new Continuation Passing Style regime.
No, I'm really happy with CPS. Restoring the whole context by invoke'ing
the return continuation is a very elegant
Matthijs van Duin wrote:
Which system is likely to run faster on parrot?
I would propose, estimate the ops you need and test it :)
E.g. call a continuation 1e6 times and communicate state with one global
(a lexical is probably the same speed, i.e. a hash lookup)
$ cat a.pasm
new P5,
Matthijs van Duin wrote:
sweepoff# or bus error
collectoff# or segmentation fault
Please try :
/* set this to 1 for tracing the system stack and processor registers */
#define TRACE_SYSTEM_AREAS 1
in dod.c (works for me).
Though I don't know, if processor registers on PPC gets
Austin Hastings wrote:
But what's the vision for p6?
My expectation is that the type-checking stuff will be heavily used
for:
1- Large scale projects.
2- CPAN modules.
3- speed
When you are not on perl one liners, but maybe some inner tight loops of
some algorithm or whatever, where speed
Piers Cawley wrote:
Coroutines end and DFG
Nobody explained what DFG stands for.
It's a commonly used TLA standing for Data Flow Graph, which accompanies
the CFG (Control Flow Graph). Both are necessary for register allocation.
leo
Aaron Sherman wrote:
On Tue, 2003-01-28 at 16:23, Leopold Toetsch wrote:
Arrays (or hashes) don't grow on reading - never.
But for less pure forms of reading:
foo(@a[0]);
auto-vivification will have to happen in some cases. e.g. if foo
requires a lvalue parameter.
A lvalue param
Dave Mitchell wrote:
On Fri, Jan 31, 2003 at 05:59:46PM +0100, Leopold Toetsch wrote:
IMHO some sort of proxy could be passed here, saying: if you write to
me, this will be at @a[0]. Or auto-vivify the entry.
This is what Perl 5 does at the moment:
$ perl5.8.0 -MDevel::Peek -e 'sub f{Dump
Jonathan Scott Duff wrote:
The solution I advocate is to allow even primitive types to hold
undef.
Why do you then use a primitive type in the first place?
IMHO:
1) primitive types are what they are - no undef, no attributes, just
e.g. plain integers (or shorts or bits ...)
2) if you
Michael Lazzaro wrote:
[EMAIL PROTECTED] wrote:
Shouldn't access to 'is computed' arrays be read-only?
In general, I would hope that 90% of them would be, but it's been stated
that it won't be a requirement.
If you want such 'is computed' thingy, then tie it or wrap it in your
own -
John Williams wrote:
I think you are still overlooking the autovivification behavior.
i.e. What is the difference between these:
1) $a{1234567} = 1;
2) $a[1234567] = 1;
Answer: #1 creates 1 element. #2 creates 1,234,567 elements!
Not currently: 2) does
- generate a sparse hole
Austin Hastings wrote:
Another question: If you ask for a value and get it, does the array
grow? Or does that happen only on assignment? (
Arrays (or hashes) don't grow on reading - never.
And another anser from current low level (list.c classes/Array.pmc)
*Return value
*
Michael Lazzaro wrote:
2) There is NO platform-dependent maximum array size. If it's not a
sparse array, you'll run out of memory long before you run out of
indexes, but using bigints as indexes for sparse arrays is OK.
Current: array size is limited to $arch's +INTVAL (2^31-1 / 2^63-1).
Michael Lazzaro wrote:
I have some answers from current low level implementation.
2) As hinted above, is there a (platform-dependent) maximum addressable
array index, or do we promise to correctly handle all integers, even if
BigInt? (This might come into play for lazy/sparse arrays.
Damian Conway wrote:
Piers Cawley wrote:
Acknowledgements
But, of course, modesty forebade him from thanking the tireless Perl 6
summarizer himself, for his sterling efforts wading through the morasses
that are P6-language and P6-internals
Remembering e.g. perl6 operator threads, brrr, I
Larry Wall wrote:
... I can see ways of binding properties
to a location without growing the location itself, but I think stuffing
a junction of ints into a single location is somewhat problematical.
We are still talking about native types - these with lowercase names in
the docs? Why
Michael Lazzaro wrote:
On Thursday, November 7, 2002, at 06:36 AM, Austin Hastings wrote:
For 'bit', the key value is (eenie, meenie, ...) '1'.
From A2 we have:
Run-time properties really are associated with the object in question,
which implies some amount of overhead. For that
Luke Palmer wrote:
I wonder if things should have a more general interface than
numerical indices. I've wanted linked lists in perl, and every time I
do a splice on an array I cringe for speed reasons.
Heh, we could use my linked array implementation. Or not.
Please have a look at list.c,
Kay Röpke wrote:
On Wednesday, Sep 18, 2002, at 17:42 Europe/Berlin, Piers Cawley wrote:
IMCC / Mac OS X problem
Have those patches committed, yet? I tried last night (instead of
sleeping...;-)) but failed utterly.
No, sorry. I'm still waiting for my imcc 0.0.9 patch to be checked
Piers Cawley wrote:
Happy birthday to me!
Congratulations.
... by my turning 35 on the 15th
44 on 16th - yes Sept.
and thanks for the kudos,
leo
Aaron Sherman wrote:
Of these, about 30-50% will probably be pure Perl. Another small
percentage will be assembly wrappers that call a one-for-one parrot
function (e.g. exit). The rest will be a complex mix of Perl and
assembly (e.g. sprintf which is mostly Perl, but needs assembly for
Brent Dax wrote:
Aaron Sherman:
sub abs($num is int){ return $num=0 ?? $num :: -$num }
^
I believe that should be (int $num).
and there is a »abs« in core.ops.
Anyway, before implementing a bunch of builtins, it should be organized
a little, where they
Piers Cawley wrote:
( a lot ;-)
Thanks for this really informative summary. Must be a lot of work.
... Actually, Leopold was something of a patch monster this week,
Of course, you missed all my private mails to Sean WRT imcc perl6
patches ;-)
If I read his post right, Leopold
Uri Guttman wrote:
[ CCs stripped ]
... what if you passed \$a{llama}{alpaca}? even as a read only param,
you could deref later through the ref in another sub that gets passed it
from this sub.
If I understand Dan's proposal (a05111b55b977c7a65606@[63.120.19.221])
for a change in the
[EMAIL PROTECTED] wrote:
Question: if the compiler *doesn't* raise an error, what happens? How would
the following code be interpreted, even insanely? An endless loop perhaps?
while something() = $_ { ... }
Changing the closure to use »=« instead of »-« yields with current P6C:
Can't
Sean O'Rourke wrote:
-- languages/perl6 should work equally well with 5.005_03 and 5.6.1.
s/should/does/
EOT ;-)
/s
leo
Dan Sugalski wrote:
At 10:44 AM +0200 7/28/02, Leopold Toetsch wrote:
2) Some Mops numbers, all on i386/linux Athlon 800, slightly shortend:
(»make mops« in parrot root)
Just out of curiosity, I presume the (rather abysmal) perl 6 numbers
include time to generate the assembly
Dan Sugalski wrote:
At 10:44 AM +0200 7/28/02, Leopold Toetsch wrote:
2) Some Mops numbers, all on i386/linux Athlon 800, slightly shortend:
Just out of curiosity, I presume the (rather abysmal) perl 6 numbers
After the bugfix in perlarray.pmc I can bring you new numbers, which
Hi all,
thanks to Sean, finally a perl6 driver arrived in CVS.
To further improve/clean up/enhance it, I would need the help of various
people, working on different parts of the parrot project.
Though I could try to write some patches, to address below mentioned
items, I think, people
Hi all,
1) perl6 driver program arrived in CVS/languages/perl6
CAVEATS: it generates a lot of intermediate files:
($filename.{warn,imc,pbc,pasm[,c,o,tree,])
an may therefore clobber e.g. mops.c if you run
languages/perl6 perl6 -C
Nicholas Clark wrote:
In October 2000 I believed that 5.005 maintenance *is* important for the
acceptance of perl6, and I still do now:
Some minutes ago I sent a first patch to Sean, to make it work on 5.005_03.
One reason of failure is shown by the following snippet:
$ cat t1
85 matches
Mail list logo