On 8/30/06, chromatic [EMAIL PROTECTED] wrote:
On Wednesday 30 August 2006 04:12, Watson Ladd wrote:
Seriously, what's so bad about adding functionality into
a language?
I once saw an overfilled waterbed that was almost as tall as I am. I would
have called it PHP, but it didn't explode and
On 12/28/05, Sastry [EMAIL PROTECTED] wrote:
I am looking for the latest Perl6 source code. Could somebody give me
a link to the same?
Do we need to install parrot before we install perl6?
You can check out the latest code at:
http://svn.openfoundry.org/pugs
You'll need ghc-6.4 or later
On 12/11/05, Bryan Burgers [EMAIL PROTECTED] wrote:
I was wondering... Are there plans to have parrot securely execute
remote code, similar to JVM, so a person can have a parrot plug-in in
their browser (for example), and run parrot 'applets' with the
confidence that they are safe?
Or is this
On 12/2/05, jerry gay [EMAIL PROTECTED] wrote:
i'm afraid adding tracing info will bring either system to its knees.
perhaps there's some other way for me to help debug?
Okay, I haven't looked into the source at all, but I have one theory:
If Punie now uses Allison's attribute grammar
Hi Jerry,
I'm just curious, I don't mean to criticize your ideas. Just, give
some whys for the shoulds.
On 11/29/05, jerry gay [EMAIL PROTECTED] wrote:
the parrot directory structure is large and a bit disorganized.
let me give you some examples:
* build_tools/, util/, and tools/*/ each
On 11/3/05, Leopold Toetsch [EMAIL PROTECTED] wrote:
On Nov 3, 2005, at 20:49, Joshua Isom wrote:
I was trying to use bit shifting for division by multiples of two, but
if the shift amount is a multiple of the int size, it seems to fail to
shift the bits. Here's some example code
Attempting to come up with a simplistic math grammar that has one possible
operand (A) and one possible operator (*) - so that things like A, A*A, and
A*A*A*A*A are all parsed. This simplistic example (thanks to spinclad on
#perl6) cause PGE to explode.
$ cat ta.p6r
grammar f;
rule atom
On 6/21/05, Matthew Zimmerman [EMAIL PROTECTED] wrote:
Could we revisit the idea of using a shorter keyword for $?SELF, like
'o'? I know that $Larry said the idea was probably not going to work:
http://tinyurl.com/7baz6
but I'm curious if the reasoning that killed it then still holds
This patch makes PIO_fdopen return NULL when you give it flags it
doesn't understand. I gathered that this was the correct behavior
from the test that I untodid.
Luke
Index: t/src/io.t
===
--- t/src/io.t (revision 7981)
+++
Robin Redeker writes:
On Sat, Apr 30, 2005 at 05:02:54PM -0400, Dan Sugalski wrote:
destroy. There's a vtable method that's called by the GC system when
an object is no longer reachable from the root set.
Actually, not when, but some (indefinite) time after that has happened,
right?
Dan Sugalski writes:
Also, with all this stuff, people are going to find timely destruction
is less useful than they might want, what with threads and
continuations, which'll screw *everything* up, as they are wont to do.
I know I've been making heavy use of continuations myself, and this is
Robin Redeker writes:
On Wed, Apr 27, 2005 at 12:33:30PM -0600, Luke Palmer wrote:
I think, more importantly, they don't understand what they're
getting in return for giving [refcounting] up.
Could you point out what i get?
I use TD is to handle resources: filehandles, database handles
Robin Redeker writes:
This should actually be, to prevent the resource from leaking:
{
my $s = new CoolClass;
eval {
... do stuff that may throws ...
};
destroy $s;
}
Or, with the block hooks that I keep claiming makes timely destruction
almost
Leopold Toetsch writes:
But with one more indirection a PIC-like scheme can work with
read-only bytecode too (probably). E.g. the assembler emits instead
of the proposed:
infix __add, Pd, Pl, Pr
this opcode:
infix (.MMD_ADD 24) | n, Pd, Pl, Pr
Just 256? Why don't you add another
Markus Laire writes:
[EMAIL PROTECTED] kirjoitti:
Please,
I have a question if exists in Perl somethink like keyword
'operator' in C++ ?
That will exist in perl6.
And to quite a larger extent. Not only can you overload existing
operators, you can make up whatever operator name you like.
Sam Ruby writes:
Mmm, syntax! :) Luckily it makes no difference to us at the parrot
level. What that should translate to is something like:
$P0 = find_method Parrot_string, find
# Elided check for failed lookup and fallback to attribute fetch
$P1 =
Dave Mitchell writes:
On Fri, Jan 14, 2005 at 02:40:43PM -0700, Luke Palmer wrote:
What I'd most like is to convince Larry to waive the timely destruction
requirement. However, that doesn't really solve the problem for other
languages that need timely destruction. Are there any?
Perl 5
Unknown writes:
On Fri, 2005-01-14 at 17:57 -0500, Michael Walter wrote:
You could change the GC scheme (*cough*) to use one similar to
Python's (ref-counting + additional GC for cyclic references
*double-cough*).
You could adapt Java's last-generation GC scheme to do a really fast GC
Shevek writes:
On Fri, 2005-01-14 at 16:56 -0700, Luke Palmer wrote:
I thought C++ only guaranteed destruction (on return or exception) for
objects which were directly on the stack.
That's true, you have to explicitly delete most memory. I was actually
referring to the template
Bernhard Schmalhofer writes:
This sounds somewhat like a Piddle, which is the data structure of the
Perl Data Language, http://pdl.perl.org/. AFAIK there is already a hook,
that allows you to use your own data lying somewhere in your memory.
It might be worthwile to create a Piddle PMC,
Graciliano M. P. writes:
Will be nice to can write this directly on Perl6:
int the_matrix[10][10] ;
Or rather:
my int @matrix is dim(10,10);
Perl 6 has been planning support for such naive data structures for a
long time.
I'm not sure about hashes. They have enough internal
Sam Ruby writes:
In the general case, a call to a subroutine with three arguments can
have four possibilities: anywhere from zero to three arguments may be
involved in the dispatch.
I also read this to say that whatever code is generated by a subroutine
call is independent of the number
[EMAIL PROTECTED] writes:
Please
Lets have two scalars variables in Perl and some operation under
them like an adding.
x = a + b
I would like know, witch auxiliary variables are creating
on the in-line code like a Parrot
somethink like T = a + b
x = T ???
and
Dave Brondsema writes:
# New Ticket Created by Dave Brondsema
# Please include the string: [perl #33092]
# in the subject line of all future correspondence about this issue.
# URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=33092
If I define a sub as:
.sub print
Leopold Toetsch writes:
Why do we have the special notion of current_object in the first place?
Why not just pass all in as P5, P6, ...?
I agree that this is the way to go. Especially if we have some marker
somewhere that tells us that we were called as a method.
Luke
Sam Ruby writes:
Mike Guy wrote:
Perl5 Cxor always returns a standard boolean value, i.e.
dualvar(0, '') or dualvar(1, '1').Perl6/Parrot should do the same
thing.
Try:
perl -le print 'day' xor 'night'
On the version of Perl I have installed, I get day as the result.
Odd,
[ From p6i ]
Patrick R. Michaud writes:
On Fri, Dec 10, 2004 at 08:50:46PM +0100, Leopold Toetsch wrote:
Not quite. It gives one value if one is true or 0 (false). This is more
information then the perl5 implementation returns. The returned value (if
any) is still true but usable, if I
Leopold Toetsch writes:
citing Luke Palmer
On a semi-related note, can I get a classoffset without doing a hash
lookup? That is, can I store the class number I get assigned somewhere
for quick fetching?
Hey now, you're citing the Luke Palmer that writes code. Don't confuse
him with the Luke
Leopold Toetsch writes:
This term came up in a recent discussion[1]. But I'd like to give this
term a second meaning.
Except what you're talking about here is premature *optimzation*.
You're expecting certain forms of the opcodes to be slow (that's the
pessimization part), but then you're
Piers Cawley writes:
I'd submit that, in the vast majority of cases you're not going to be
dealing with full continuations, and on the occasions when you are the
programmer using them will be aware of the cost and will be willing to
pay it.
Yeah probably. Except the problem isn't the cost.
Timm Murray writes:
I've always thought of Perl5 having two basic types: Scalar and List, with
Hash and Array being subtypes of List. The reason is that arrays and hashes
can be easily converted into each other, because of Perl5's list-flatening
nature:
@array = %hash;
%hash = @array;
Leopold Toetsch writes:
I think we have basically 3 choices: support continuations such that
they work correctly in all HLL situations and accept likely poor
performance, or support only escape continuations, or devise a strategy
whereby Parrot itself doesn't provide continuations, but
I looked through google groups and couldn't find leo's solution
(putting lexicals in registers, and I can't figure out what that
means; couldn't you have a loop counter that isn't a lexical?).
I think we all agree that this is a major problem, and that to ignore it
would be a fatal mistake in
can be reduced to single), JIT still works.
So, scrap my proposal. Seriously consider his. My comments about this
is a real problem and needs a real solution still hold.
Luke
Luke Palmer writes:
I looked through google groups and couldn't find leo's solution
(putting lexicals in registers
Bill Coffman writes:
I can see that there is true magic in the power of using references in
this way. Nonetheless, how can the compiler figure out that it can't
use an integer here? The compiler should use integers when it can,
but it sounds like you are saying that when a variable crosses a
It seems to me that there is no good solution to this problem without
annotating the register set or killing the register allocator. So
perhaps we should keep the non-pmc registers at value semantics; that
is, continuations simply restore their value when the continuation was
taken.
Yes, I
Parrot Assembler via RT writes:
make testj hangs on string_102.pasm. Here's the gdb backtrace.
It looks like a really subtle, nasty problem. If I add a noop anywhere
in the top section of code (before MAIN) it works. It works even if I
change the filename from string_102.pasm to test.pasm!
Leopold Toetsch wrote:
I've checked in intial support for anonymous subroutines.
.sub foo @ANON
creates an anonymous subroutine.
On a semi-related note, can I get a classoffset without doing a hash
lookup? That is, can I store the class number I get assigned somewhere
for quick fetching?
Nicholas Clark writes:
The appended patch makes it compile and pass tests. The change which caused
the problem appears to be this one, which added pge_parseglob.c:
http://www.nntp.perl.org/group/perl.cvs.parrot/7849
I infer that dylib is not as forgiving of multiply defined symbols as ELF.
Sam Ruby writes:
Overall, JavaScript would be a good match for Parrot. One place where
it would significantly diverge at the moment is in the concept of a
class. Objects in JavaScript are little more than bundles of
properites, some of which may be functions. And classes are essentially
IMCC yells at me when I say:
.namespace [ Foo ]
.sub new
...
.end
While it's tolerable for local symbols, subs really have to be
named according to the interface. Is it possible to allow:
.sub new
...
.end
?
Thanks,
Luke
Since there is a syntax for invoking subs:
.sub foo
# ...
.end
.sub bar
foo()
.end
Should there be one for invoking a sub out of a namespace, say:
.namespace [ Foo ]
.sub bar
# ...
.end
.namespace [ Baz ]
.sub quux
[ Foo, bar ]()
William Coleda writes:
Should the compilation sub for p6g3 be in the root namespace as it is
currently, or moved to, say, a p6ge namespace?
I doubt we should be taking up the users' precious namespace with things
that aren't standardly prefixed.
It's likely that the p6ge_compile should be in
There's a pretty bad problem with calling the vtable proxy methods with
keys that aren't constant. Best illustrated by example:
.sub _main
newclass $P0, Foo
find_type $I0, Foo
new $P1, $I0
$I1 = $P1[foo]
$S0 = foo
$I1 = $P1[$S0]
end
.end
.namespace [Foo]
Are we still supposed to put underscores before sub names? Since they
don't get converted into PASM labels, there doesn't seem much need for
that restriction anymore.
Luke
Leopold Toetsch writes:
+if (arg-vtable-base_type == enum_class_Key) {
+while (arg) {
+UINTVAL flags = PObj_get_FLAGS(arg);
+if (flags KEY_register_FLAG) {
+INTVAL n =
Jerome Quelin writes:
On 04/11/22 07:14 -0700, Patrick R. Michaud wrote:
Looks great to me -- I'll switch things around to (pardon the pun) match.
They'll become P6GE::compile (compiler sub) and P6GE::Match, with
a note that P6GE::compile is still subject to change.
Well, since we're
Jeff Clites writes:
On Nov 14, 2004, at 3:03 AM, Leopold Toetsch wrote:
Matt Fowles [EMAIL PROTECTED] wrote:
Yes, but in the case of the continuation resuming after foo, the
continuation should restore the frame to the point where it was taken.
Thus all of the registers will be exactly
This adds information about the result of a test if the information is
terse enough. i.e. changes:
Determining whether your cc is actually gcc...done.
Into:
Determining whether your cc is actually gccyes.
Enjoy,
Luke
Index: config/auto/aio.pl
Klaas-Jan Stol writes:
Hello,
I spoke (through email) with Roberto Ierusalimschy, one of the creators of
the Lua programming language, and I said that Parrot has good support for
implementing coroutines and closures (heck, they are explicitly there).
However, in a reply, Roberto asked:
Christian Aperghis-Tramoni writes:
I have the folowing program :
print Give me an integer number : n
getstdinP0
readline S1,P0
Its execution gives :
10
Give me an integer number :
How is it possible to flush stdout before reading the number.
It means
Jeff Clites writes:
On Nov 4, 2004, at 8:29 PM, Brent 'Dax' Royal-Gordon wrote:
This is true. But how do you define a number? Do you include
floating-point? Fixed-point? Bignum? Bigrat? Complex? Surreal?
Matrix? N registers don't even begin to encompass all the numbers
out there.
I haven't written PIR in a while, and I'm not terribly familiar with the
new changes, but I'll make some guesses.
Klaas-Jan Stol writes:
function main()
local p = 123;
local q = 345;
foo(q);
foo(q);
function foo(a) # nested function, it does have access to p in
Stphane Payrard writes:
That would allow to implement typechecking in imcc.
.sym Scalar a
a = new .PerlInt # ok. Perlint is derived from Scalar
Ugh, yeah, but what does that buy you? In dynamic languages pure
derivational typechecking is very close to useless. The reason C++[1]
has
Dan Sugalski writes:
At 4:15 PM +0200 9/23/04, Leopold Toetsch wrote:
return_cc() # 2) return via current continuation
1) is only needed for special porposes, like passing the
continuation on to a different place. The normal way to return from
a sub will be 2)
If that's in,
Jeff Clites writes:
On Sep 12, 2004, at 8:43 PM, Luke Palmer wrote:
Jeff Clites writes:
On Sep 7, 2004, at 6:26 AM, Dan Sugalski wrote:
*) Namespaces are hierarchical
So we can have [foo; bar; baz] for a namespace. Woo hoo and all
that. It'd map to the equivalent perl namespace of foo
Jeff Clites writes:
On Sep 7, 2004, at 6:26 AM, Dan Sugalski wrote:
*) Namespaces are hierarchical
So we can have [foo; bar; baz] for a namespace. Woo hoo and all
that. It'd map to the equivalent perl namespace of foo::bar::baz.
How does this hierarchical nature manifest? I ask because
Dan Sugalski writes:
Time to nail this.
We need namespaces. Duh. We talked about this in the past.
So, here's what I'm proposing. It'll be formalized into a PDD once we
hash things out.
*) Namespaces are hierarchical
So we can have [foo; bar; baz] for a namespace. Woo hoo and all
And as I look at the code for that test:
output_is( 'CODE', 'OUTPUT', Getting PMCs from string;int compound keys);
new P0, .PerlHash
new P1, .PerlHash
new P2, .PerlInt
set P2, 4
set P1[9], P2
set I0, P1[9]
print I0
print \n
set P0[a], P1
set I0, P0[a;9]
Andr Pang writes:
On 21/08/2004, at 5:48 AM, Leopold Toetsch wrote:
3) The copying collector isn't integrated yet. But that should be easy.
After finishing sweep and if there is some possible wastage in the
memory pools, these get compacted.
I thought Parrot wasn't using copying
Leopold Toetsch writes:
$ time parrot -j -Oc c.imc
in main
20
real0m1.069s
user0m0.910s
sys 0m0.020s
$ time parrot -C ch.imc
in main
20
real0m0.356s
user0m0.250s
sys 0m0.000s
I think that a factor 3 improvement in function call speed (and a
RaghavendraK 70574 writes:
Hi,
Am a hardcore C++ guy and don;t know much abt the Perl. But one of my
friend has proved that the fastest way to RAD is Perl. I need to know
if we can convert a Perl script to a dynamic link library under unix
only.
I don't know what RAD is, but I know you're
Jeff 'japhy' Pinyan writes:
It'll appear shortly at your local mirror. You can get it from my web
site as well.
I'll be writing an extension module tomorrow, and starting next week, I'll
get started on Regexp::Perl6.
Cool.
Which leads me to a question about Perl 6 regexes. I'm writing
Jeff 'japhy' Pinyan writes:
I am currently completing work on an extensible regex-specific parsing
module, Regexp::Parser. It should appear on CPAN by early July
(hopefully under my *new* CPAN ID JAPHY).
Once it is completed, I will be starting work on writing a subclass
that matches Perl
Dan Sugalski writes:
Once we decide how to *get* these things (see the previous e-mail) we
need to decide how they should work. We can fiddle around, but
honestly the scheme:
1) They act as arrays--if you want the 18th element in the iterator,
access it directly
2) They have 'next',
Dan Sugalski writes:
The slice vtable entry should take as its parameter a slice pmc. This
should be an array of typed from/to values, so we can do something
like:
@foo[0..2,4..8,12..];
with three entries in the slice array--one with a from/to of 0/2, one
with 4/8, and one with
Dan Sugalski writes:
At 1:21 PM -0600 6/14/04, Luke Palmer wrote:
Dan Sugalski writes:
The slice vtable entry should take as its parameter a slice pmc. This
should be an array of typed from/to values, so we can do something
like:
@foo[0..2,4..8,12..];
with three entries
Dan Sugalski writes:
At 1:08 PM -0600 6/14/04, Luke Palmer wrote:
Dan Sugalski writes:
Once we decide how to *get* these things (see the previous e-mail) we
need to decide how they should work. We can fiddle around, but
honestly the scheme:
1) They act as arrays--if you want the 18th
Dan Sugalski writes:
Right now the only good way to find out if a value is true or not is
to do something like:
$I0 = 1
if $P0, done
$I0 = 0
done:
and look in $I0 for the result.
[snip]
Anyway, because of it I'm pondering non-flowcontrol logical ops. That
is, something like:
Dan Sugalski writes:
And personally I'd be happy to do violence to the dragon book. (Not
that it's *entirely* horrible, as I occasionally need to prop doors
open or shim a broken table leg temporarily...)
But, anyway, snipping out the rest of this stuff...
The big problem is that I
Leopold Toetsch writes:
[1] yes I'm thinking of just one frame pointer :) Well, the whole scheme
makes a stack machine out of Parrot:
I0,...In, In+1Ik, Ik+1...Il
^
|
frame
pointer
I0..In are the incoming function arguments
In+1..Ik are the working registers of the function
Nicholas Clark writes:
Thanks. Everything compiles again now, and all tests pass
(after I do the little .so - .dylib dance)
I'm new to OS X. Might you describe said dance?
Luke
Jeff Clites writes:
I don't (right off) know of any other language which has something in
between variables and objects. That is, containers. They're feeling a
bit artificial.
Well... Perl 5.
Luke
Aaron Sherman writes:
But according to A12 as I understand it, the part BEFORE that, which
looked innocently like a definition:
class Joe { my $.a; method b {...} }
would actually get turned into a BEGIN block that executes the body of
the class definition as a closure in class
I was asked to post a small summary of hyper ops for you guys. Here it
is:
Of course to hyperize an operator you surround it with , or just one
of them for a unary operator.
@a + @b
@a++
You can't necessarily override their semantics without chaning how Perl
6 interprets the syntax
Dan Sugalski writes:
I'm OK with moving the return continuation out of P1 and into
somewhere else--I can even see throwing it on the control stack. (Or
a special register, I can live with that as well)
I'd like to express my vote of confidence for an RC register, which is
put in the context
[EMAIL PROTECTED] writes:
Hi guys,
I know approximately zero about the DoD and GC mechanisms which are
currently used by Parrot, but I did attend a talk a few weeks ago about
a promising new method of garbage collection called Ulterior Reference
Counting:
Piers Cawley writes:
You seem to be mixing up different issues with that statement. Using
plain Continuation PMCs for returning just from subroutines was dead
slow, w or w/o COWed stacks.
But when a Continuation is simply a collection of pointers to the tops
of the various stacks (and I
luka frelih writes:
But how should the two interpretations of x.x be resolved? Is that
concatenation or method calling?
currently, the pir line
S5 = S5 . 'foo'
produces
error:imcc:object isn't a PMC
concatenation with . seems to be gone
i cannot think of a good replacement
Here's a patch that prettifies parrotbench's output. It also redirects
errors to /dev/null, and replaces them with !!! in the output. The
benchmarking program is not the correct place to debug errors.
Luke
Index: tools/dev/parrotbench.pl
Leopold Toetsch writes:
Luke Palmer [EMAIL PROTECTED] wrote:
Here's a patch that prettifies parrotbench's output. It also redirects
errors to /dev/null, and replaces them with !!! in the output. The
benchmarking program is not the correct place to debug errors.
Must be soemthing wrong
Dan Sugalski writes:
At 2:38 PM +0100 2/26/04, Leopold Toetsch wrote:
Simplifies compilers:
newclass P1, Foo
addattribute P1, i
findclass I1, Foo
new P2, I1
classoffset I2, P2
In static cases, where P2 is known to be a CFoo, attrib #0 (i) would
be always 0. That
Leopold Toetsch writes:
Dan Sugalski [EMAIL PROTECTED] wrote:
At 4:54 PM -0500 2/25/04, Simon Glover wrote:
If I'm understanding the docs correctly, this should print '0'.
Instead, it prints 'Array index out of bounds!'
Another bug, though the offset ought to be 2 right now.
Leopold Toetsch writes:
Matt Fowles [EMAIL PROTECTED] wrote:
This patch make the problem case submitted by Jeff Clites work. All
tests pass, and his sample has been added to the tests.
struct RegisterChunkBuf* top = stack-top;
if (top-used 1) {
+top-used--;
Michal Wallace writes:
On Fri, 13 Feb 2004, Dan Sugalski wrote:
We also have to have a way to fetch the method PMC for a named method
for later use, which is where the interesting bits come in.
This is required for a number of reasons, including Python, so we
have to have it. The
Jonathan Worthington writes:
I would go with the idea of having a sigil that is placed before all local
variables, and another (different!) sigil for registers (of the IMCC-handled
type). Anything without one of those is a direct register access. Or a
syntax error. Clean, simple rules.
Joseph Ryan writes:
It's surely possible by modifying that class's DISPATCH.
Whether it should actually be in the language is up for debate. I'd say
that if you need to do this with any frequency whatsoever, you're not
thinking about roles right. A good example might be in order... :-)
Leopold Toetsch writes:
I'd add some syntax additions and some notes:
- Pn above is a NameSpace PMC, derived from Hash
- an interpreter has a current namespace
- located in the context, so that its restored after sub calls
getinterp P2
find_global Pn, P2[.] # get current NS
Jeff Clites writes:
We could certainly do some sort of language-specific prefixing, as Tim
suggested, but it seems that we are then going to trouble to unify,
only to immediately de-unify. Certainly, a random Java programmer
shouldn't have to worry about naming a class so that it doesn't
Leopold Toetsch writes:
This is unlimited self-inspection and self-modification :) With little
additions (nested structs) one could read/write all Parrot_Interp
internals (including possible security bits) and not only registers like
above. But current state is already sufficient to
Will Coleda writes:
I'm trying to track down a problem with a PerlArray that is getting
modified on me.
I have a snippet of code like:
typeof $S12, tcl_words
$I12 = tcl_words
print TYPEOF:
print $S12
print \n
print SIZEOF:
print $I12
print \n
Matt Fowles writes:
All~
Of late it seems that everybody has been throwing around their own
little homegrown benchmarks to support their points. But many people
frequently point out that these benchmarks are flawed on one way or another.
I suggest that we add a benchmark/ subdirectory
Leopold Toetsch writes:
While trying to generate a small example that shows the memory
corruption problem reported by Steve, I came along these issues:
a) [1] is .Sub, [2] is turned off
The subroutine prints main's $m - very likely wrong.
Well, Subs don't do anything with pads, so I'd
Dan Sugalski writes:
At 9:38 AM +0100 1/21/04, Leopold Toetsch wrote:
Dan Sugalski [EMAIL PROTECTED] wrote:
Okay, at this point we've a pile of different array classes
Before we go any further we need to figure out what we want.
1) Unify setting/getting element count
- the
Dan's thread proposal mentions:
=item Automatic PMC sharing will be provided
When a PMC is placed into a container which is shared (including
lexical pads and global namespaces) then that PMC will automatically
be marked as shared. It is acceptable for this to trigger an
exception if for
Will Coleda writes:
I didn't expect the code to be very usable, merely compilable. =-)
If I want to call myself from myself, how do I do that then?
For anything else, I do:
.local Sub foo_sub
newsub foo_sub, .Sub, __foo
.pcc_begin prototyped
.arg $S1
.pcc_call foo_sub
Leopold Toetsch writes:
Luke Palmer clearly should, that optimizations WRT register frame stacks
are possible.
The follwing numbers seem to second that:
FRAMES_PER_CHUNK time real user
4 1.2s 0.9
8 1.6
16 2.3 1.4
Luke Palmer writes:
-memcpy(buf-data.bufstart, chunk-data.bufstart, stack-chunk_size);
+memcpy(buf-data.bufstart, chunk-data.bufstart,
+stack-frame_size * FRAMES_PER_CHUNK);
Silly me -- left over from benchmarks. Of course I mean:
+ memcpy(buf-data.bufstart
Benjamin K. Stuhl writes:
Other than the special case of :readonly, can you give me an example
of when you'd need to, rather than simply writing a PMC class that
inherits from some base? I'm having trouble thinking of an example of
when you'd want to be able to do that... After all, since
Jeff Clites writes:
On Jan 15, 2004, at 8:26 PM, Benjamin K. Stuhl wrote:
Thus wrate Dan Sugalski:
At 10:13 AM -0800 1/13/04, Jeff Clites wrote:
Short version: I was originally going to argue for fully
hierarchical namespaces, identified as above, but after turning this
over in my head
1 - 100 of 242 matches
Mail list logo