think one criteria to consider is, are their architectures out there
(that we're targeting now or likely to) that have the equivalent op
implemented at a CPU instruction level, such that we could JIT it in the
future? If so, there's probably benefit in it staying a Parrot op.
Jonathan
what we've needed to date.
I'm curious - is anyone else doing a HLL on Parrot that uses morph? If
nobody is, is it worth spending time on, or even worth keeping?
Thanks,
Jonathan
>) could all
> $string.rtrim internally.
>
If I were going to have ltrim() and rtrim(), I'd implement them in terms of
trim() rather than the other way around.
-Scott
--
Jonathan Scott Duff
perlpi...@gmail.com
k calls 'em TrimStart and TrimEnd (and has a Trim that
does both). So maybe trim_start and trim_end if we wanted to take that
lead...
Jonathan
Author: jonathan
Date: Wed Jan 7 08:01:00 2009
New Revision: 35128
Modified:
trunk/docs/pdds/pdd23_exceptions.pod
Log:
[pdd] Remove unimplemented notes for annotations method on Exception, and add
documentation for backtrace method.
Modified: trunk/docs/pdds/pdd23_exceptions.pod
Author: jonathan
Date: Mon Nov 24 15:22:49 2008
New Revision: 33166
Modified:
trunk/docs/pdds/pdd19_pir.pod
Log:
[pdd] Document .annotate and .file and update .line directives in the PIR PDD.
Modified: trunk/docs/pdds/pdd19_pir.pod
Author: jonathan
Date: Mon Nov 24 14:50:50 2008
New Revision: 33163
Modified:
trunk/docs/pdds/pdd23_exceptions.pod
Log:
[pdd] Correction to previous commit; name is just an optional parameter to
annotations, for consistency with e.g. inspect method.
Modified: trunk/docs/pdds
Author: jonathan
Date: Mon Nov 24 14:49:30 2008
New Revision: 33162
Modified:
trunk/docs/pdds/pdd23_exceptions.pod
Log:
[pdd] Add details of how to get bytecode annotations from Exception PMC.
Modified: trunk/docs/pdds/pdd23_exceptions.pod
.annotate "file" "foo.pl"
.annotate "compiler" "rakudo-0.1"
And then per line:
.annotate "line" 42
When a new source code line starts.
And yes, I need to get this all into the PIR docs, though the storage
scheme for all of this is in the bytecode PDD already. But it should
give us plenty of flexibility.
Sound good?
Thanks,
Jonathan
#file and we're done...perhaps for the next release.
Sound sane?
Jonathan
codes can probably go away; I can't think of a
use case where we'd want to set these dynamically, since we know the
line number/file number/column/whatever else we wish to store at compile
time. Doing an op dispatch rather than making an annotation we can look
up only when we need it seems odd to me.
Thoughts?
Jonathan
days, they just take too
long on my slow old laptop, which I've been hacking on at conferences.)
Jonathan: Perhaps you could delete the 'perl6' at the beginning of
the basenames of these 4 files:
languages/perl6/t/pmc/perl6multisub-basic.t
languages/perl6/t/pmc/perl6multisub-d
Ron Blaschke wrote:
Jonathan Worthington wrote:
I've just been looking at the time op, and what it returns is
somewhat platform specific.
* On Win32, it's the number of seconds since January 1, 1601
If I remember correctly, some parts of Windows use 100ns ticks since
1601 to repr
nda thing may be a solution, though I'm not sure how robust it is.
Thanks,
Jonathan
is likely needs a bit more thought from the Rakudo side
before we rush and stick a get_bool into the Exception PMC. Maybe
something to work out next week at YAPC...
Thanks for the clarification from the Parrot side of things!
Jonathan
,
Jonathan
here needs to know, in the PIR itself, what actual
register number is being used.
Jonathan
#x27;t really have tuits to look at this at the moment, though I
certainly want to bring it up to date when I do get chance.
Thanks,
Jonathan
e Win32 version to do the same as the
others for consistency? Or should we keep these platform specific and
make code that cares check what OS we are on and work it out (don't like
this option so much, since we're meant to be abstracting the OS away...)
Opinions?
Thanks,
Jonathan
C does not implement the get_bool
vtable method (which I'm guessing must have changed when we merged
pdd25cx). I'm not sure what the best solution for this is...in the
meantime, I have fudged that test, so the rest of attributes.t passes
again now.
Thanks,
Jonathan
entioned, works as a hint to the register allocator not
to bother trying to allocate something that will have life over the
entire compilation unit anyway.
Jonathan
..if not, I will
follow up on it when I next have tuits.
Thanks,
Jonathan
en before, I could forgive you for wanting to spend a day
enjoying the city rather than hacking though - it's nice! :-)
See you there,
Jonathan
ing if we take a reference to an undisambiguated
multi...then we have to newclosure it (clone it) as we take a
reference...well, I guess then it just populates its clone to the
closures too. But we'd not want to close non-closures, I guess. So, hmm...
Sleep!
Jonathan
happens
when we do newclosure on a multi, but I think we can make that do
something sane (snapshot the lot, perhaps? Need to think about what
falls out of that...) Also it's interesting to note in this example that
replacing "newclosure" with "clone" gives the same seman
s gives 42, which is The Answer, so all must be good. (Apart from my
sanity, after hacking on IMCC...)
No new failing tests in Parrot nor Rakudo spectest_regression. In as r28710.
Hope this is what's needed,
Jonathan
s on your platform, rather than
something specific to Rakudo's usage of them (which is still an
important problem to solve, but it's good to know exactly where the
problem lies).
Thanks,
Jonathan
.
So:
* svn up to the latest version
* make realclean
* Remove everything in langauges/perl6/src/ops apart from perl6.ops
* Build as usual
That should do it - if not, please just reply and say so.
Thanks!
Jonathan
;. So this is an
ex-GC bug. :-)
Thanks,
Jonathan
e can move the 'iter' op from experimental
to standard status.
This should do it. If you want to work up some tests, we can get this
applied.
Thanks, applied this along with a (passing) test.
Jonathan
Moritz Lenz wrote:
Attached patch adds a few more files to the 'make spectest_regression'
target. All of them pass.
Applied in r27783.
Thanks!
Jonathan
Moritz Lenz wrote:
rakudo's "make spectest" suffers from too much noise in its output.
The attached patch adds a spectest_regression target to Makefile that
uses whitelisting to run only those tests that are known to pass.
This is really useful! Applied in r27708, thanks. :-)
Jonathan
Bob Rogers wrote:
From: Jonathan Worthington <[EMAIL PROTECTED]>
Date: Sat, 17 May 2008 00:25:35 +0200
Hi,
In Perl 6 we need to be able to have Parrot subs take on a range of
different types . . .
Is the idea sane, and is the name of the adverb OK? If so, I'
method')
...
.end
That instead of creating a Sub PMC, creates an instance of Submethod
(which should have Sub as one of its parents, mind, so we can stash the
sub info away).
Is the idea sane, and is the name of the adverb OK? If so, I'll go ahead
and implement it (with changes as needed).
Thanks,
Jonathan
.
It should be removed, since the subclass v-table method was removed.
Haven't got time to do it myself right now, but this patch can be
applied by whoever gets chance.
Thanks,
Jonathan
he time of the conference too, so expect I will just hang around in the
general area for a week or so.
We could always do the 12th AND the 16th, just for fun and bonus
productivity (if everyone isn't exhausted from a day of hacking and
three days of conference)? ;-)
Jonathan
nt
it to do. :-) There's something spec'd in the bytecode PDD to do what we
need for Rakudo, it's just not implemented yet. I will try and get to it
soon.
Thanks,
Jonathan
ndered this too, but didn't really look into it properly.
Jonathan
o.new())
foo
test(Bar.new())
bar
So yes, you could re-write it and just write "Object", or "Any" or
probably just no type at all (which should default to Any).
Jonathan
7;t show the problem?
Thanks,
Jonathan
methods.
This is the commit which broke the Rock, Paper, Scissors MMD example.
*confused look* But I didn't implement the stuff needed to run the rock,
paper scissors MMD example until 4 days after the commit you mention?
http://parrotvm.org/svn/parrot/revision/?rev=26885
Jonathan
t in the compilation time of
Rakudo's actions.pm, nor when I took a Perl 6 Ackerman's function
implementation and ran it under Rakudo.
Jonathan
Index: src/inter_call.c
===
--- src/inter_call.c(revision 26955)
+++ src
then call the original v-table method in the PMC we inherited
from to actually stash the value being assigned somewhere. What should
this look like at a PIR level? In fact, this last issue is the main one
I'm blocking on at the moment.
Thanks,
Jonathan
on is always
relative. The code should probably be using an absolute namespace op,
such as get_hll_namespace (or get_root_namespace), which looks up from
the appropriate root. I understood get_namespace as doing a relative
lookup within the current namespace.
Jonathan
Will Coleda wrote:
Can we get an idea of how many parrot hackers are planning on
attending YAPC::EU this year? (will be held in Copenhagen, Denmark, on
13-15 August 2008.)
http://www.yapceurope2008.org/ye2008/
I am actually a maybe at this point.
It's very likely I'll be there.
Jonathan
James Keenan via RT wrote:
On Sat Dec 16 21:56:15 2006, allison wrote:
Adequately covered by PDD 13. Leaving ticket to Jonathan to close when
implemented.
Your cage cleaner wants to know ... has this been implemented?
No, not yet.
Jonathan
# New Ticket Created by "Jonathan Scott Duff"
# Please include the string: [perl #51838]
# in the subject line of all future correspondence about this issue.
# http://rt.perl.org/rt3/Ticket/Display.html?id=51838 >
---
osname= cygwin
osvers= 1.5.24(0.15642)
arch= cygwin-threa
chromatic wrote:
To recap, I think this bug will require a substantial refactoring and
cleanup of the packfile code. For now, I believe it's a non-trivial bug
(except, perhaps, for someone with a more thorough understanding of the
packfile code).
Agreed.
Same here.
I believe Jon
James Keenan via RT wrote:
Jonathan: You took this RT some time back. Could you give us an update
on its status? (It's the oldest outstanding RT.)
Resolved; PDD13 specified doing it a Different Way and that bit of PDD13
is one of the bits I've gotten around to implementing too,
is method, since does tests for
what roles are done, and can is for testing if a certain method is
supported.
Thanks,
Jonathan
the C stub should be removed and the ticket closed.
Other opinions?
Jonathan
e's one and only one good way out of this function.
Goes nicely on the end of the else block.
Done in r25588.
Thanks,
Jonathan
t them and see if anything breaks?
What about when you want to implement things like, element -1 gets the
last element of the array? That's the case in some languages, I believe...
Jonathan
ing conventions have available to them.)
Which reminds me, we probably want to be caching arity in the Sub PMC's
data structure itself, though I've not gotten around to that yet.
Jonathan
es away, since you just
don't mark them as invocants. And the list only applies to those things
that are invocants. So:
.sub blah :multi('foo', 'bar')
.param pmc foo :invocant
.param pmc i_so_aint_an_invocant
.param pmc bar :invocant
# ...
.end
Jonathan
ll be called?
Thanks,
Jonathan
s to all our contributors for making this possible, and our
sponsors for supporting this project.
Enjoy!
Jonathan
that it would normally do due to the
complexity of analysing code using computed goto, since the problem code
compiled just fine outside of the computed goto core without the patch.
Jonathan
build" solution. :-)
If someone wants to apply this (of course, further feedback welcome)
while I go sleep the night, that'd be great. Otherwise, I'll put it in
myself before I start working on the release tomorrow.
Thanks,
Jonathan
lease, but this breakage seems pretty widespread...
Jonathan
Allison Randal wrote:
Jonathan Worthington wrote:
I suspect re-writing it to do a memcpy would solve the
problem...anyway, sleep calls...
See the thread from earlier this year:
<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/f50d1057d4855b7f/93fdb2d7e24e35f5>
mcpy would solve the problem...anyway,
sleep calls...
Jonathan
patch form from anyone without a commit bit.
From now, please try and avoid checking anything in that has a high
probability of breaking stuff; the releases are all that some people see
of Parrot, so it's good if they can be reasonably stable and working.
Thanks for your help in making the next release happen!
Take care,
Jonathan
Hi,
At the top of the NCI PMC, there are these comments:
--
Invoking an NCI function changes some registers according to PDD 3.
The caller has to preserve registers if needed.
--
Am I right in thinking that's no longer true?
Thanks,
Jonathan
chromatic wrote:
On Thursday 06 December 2007 15:49:45 Jonathan Worthington wrote:
What it implemented (when I get chance, which should be this weekend) as
an arity method on the Sub PMC?
That would be much nicer
Implemented in r23598 for the Sub PMC.
(which doesn't make sense
.Net implementation is fairly unmaintainted at the
moment. I'm struggling for time for core Parrot stuff, let alone a
language as well.
Jonathan
he bytecode there for the get_params
instruction of the sub. That points you to the signature PMC, which
tells you how many args there are.
What it implemented (when I get chance, which should be this weekend) as
an arity method on the Sub PMC?
Jonathan is working on an update to our bytec
t;
and cmp operators to get junctions to thread through them. As you say,
it would be useful for other languages that want to hand back an
undefined value or something too. So perhaps a general mechanism is a
good thing.
say $allison.thoughts; # por favor :-)
Jonathan
at. Thus I think we need <, <=, > and >= MMD
methods (plus the string variants) rather than relying on cmp for
everything. Maybe we can write some default implementations of these
that fall back on cmp, though, since in the majority of cases just
having cmp is fine.
Thoughts?
Thanks,
Jonathan
ight in thinking the tests are wrong
and need to be fixed to clone the (already instantiated) class before
adding the new methods? See for example t/oo/methods.t.
Thanks,
Jonathan
so far so I'm just doing what feels right. I
hope it may be useful or a starting point, anyway. I've supplied it as a
diff against the PDD.
If such PAST nodes are wanted, and once we've got a spec for them ironed
out, I'd be interested to have a crack at the implementation
t is instantiated. Maybe
(hopefully) someone has a better idea.
Hope this makes sense,
Jonathan
se let me know. I can't promise I'll get to everything in a hurry, but
I should have time to actually do some Parrot stuff again now.
Thanks,
Jonathan
his email weeks ago, as I should have, and to
anyone waiting on me for anything.
Thanks for understanding,
Jonathan
r,
though I'm not sure I like that. Anyway, nobody seems to hate it so far
so I'll look at implementing it, if nobody beats me to that.
While you're at it, any chance of some suggested PIR syntax for calling
super-methods? Guess we need a _keyed/_super/_worreva variant of
find_method too, for this.
Thanks,
Jonathan
nting PDD13 and it
doesn't use fingerprints).
Fixed in r20153.
Jonathan
Author: jonathan
Date: Mon Jul 23 21:22:21 2007
New Revision: 20135
Modified:
trunk/docs/pdds/pdd13_bytecode.pod
Changes in other areas also in this revision:
Modified:
trunk/PBC_COMPAT
Log:
[PDD13] Bring format of PBC_COMPAT and the specification in line with each
other.
Modified
t the conclusion of a particular configuration step.
This sounds useful - thanks! :-)
Jonathan
te
you with details.
Alas, I'll be leaving on Friday but will be around on Sunday before
OSCON. Will anyone else be available for pre-OSCON hacking?
I leave first thing Saturday morning after OSCON, but I am about on the
Sunday before too.
Jonathan
(which is second to correct behavior, of course, but still...) and that
the values that inspect_str takes and is expected to respond to aren't
actually standardized anywhere.
Jonathan
Author: jonathan
Date: Tue Jul 3 05:38:21 2007
New Revision: 19555
Modified:
trunk/docs/pdds/draft/pdd17_pmc.pod
Log:
[PDD17]: Properly document my proposal for how inheriting from PMCs will be
made to work.
Modified: trunk/docs/pdds/draft/pdd17_pmc.pod
instance of Class. The things that you add_method'd to a
class are methods of objects instantiated from the class.
Thanks,
Jonathan
that I'm not clear on the answer to.
Jonathan
chromatic wrote:
Classes are PMCs. Are there benefits to pushing them one step further and
making them Objects as well?
A PDD15 class is an object in so far as it's an instance of a PMC. A PMC
is a class, just written in C rather than PIR.
Jonathan
the exact PIR syntax for it
isn't. So there are two tasks: implement the underlying storage model
for this and sort out some PIR syntax for it.
How important/blocking is this to you? I can direct some tuits this way
in the near future if you're needing it.
Jonathan
ehavior, as I understand it.
How about writing the method without the :method modifier, but also
addmethod'ing it to the class? Then it will be found by find_method, but
won't think the first parameter is an invocant. Something here doesn't
feel quite right to me, though I'm tired and can't put my finger on what.
Jonathan
ately, all PMCs need to have an entry in their NameSpace so
the type IDs can go away entirely.
They already do, and by hanging PMCProxy off the class slot in the
NameSpace PMC, we're a step closer to that, if it's the Right Thing to do.
Thanks,
Jonathan
n't know
what's been done there already - but I don't think that trying to
implement Parrot in hardware is the way to go if you want to look into
this...you might find Parrot and other dynamic language's interpreters
for hints as to what might be needed though.
Hope this helps,
Jonathan
s in namespaces
anymore, and I think the same will go for vtable methods. With PMCProxy
now existing, I suspect we can do the same for non-vtable methods of
PMCs too...
Jonathan
erl 6 GC failures I posted about yesterday, which cause most of the
Perl 6 test suite to fail on Win32. Is it just the one that fails on
FreeBSD like this?
Thanks,
Jonathan
meone else to continue
the hunt for this bug, which would be rather nice to nail.
Happy hacking,
Jonathan
d to get the Parrot executable to build - hopefully
this is an OK thing to have done; I'm still catching up on what's been
going on while I've been away.
Seems that nci_test.c has different, but related problems with
inconsistent use of PARROT_API, though I've not time to look into this
right now.
Thanks,
Jonathan
my travels).
Jonathan
Jonathan Worthington wrote:
I guess that doing so will involve re-writing a lot of the current
Configure system and build tools into something that compiles down to
PBC (and then just ship something very basic that can run a PBC).
Whoa. I meant, have some kinda miniparrot that can run a PBC but
to make a
decision and tell people to put up with it. :-)
IMHO, etc.
Jonathan
analyzed; I always meant to return to look a bit more, but never
had time to dig deeper. I think re-discovering where it's spending so
much time during GC would be a good start, though. And just randomly
breaking into the program did it for me, usually first time.
Jonathan
ribute methods when you delegate up the
tree, as I suggested for crossing universe boundaries during attribute
lookup.
OK, that's all I've got for now. Sorry for the rambling towards the end
as I explored the bits I'm not clear on yet, and hope it's helpful.
Jonathan
chromatic wrote:
Jonathan, can you help us figure out why deleting these lines out of init()
fixes the problem? Are they vestigial?
/* turn on marking of the class_data array */
PObj_data_is_PMC_array_SET(self);
I saw those before and thought they were very suspect
src/pmc/default.pmc",
"$main::topdir/src/pmc/class.pmc", );
Couldn't you could just allow there to be .h files in there, provided
they don't start with "pmc_" (and therefore we know they ain't leftovers
from an uncleaned tree)?
Thanks,
Jonathan
--- End Message ---
James E Keenan wrote:
File src/pmc/classobject.h was added very recently:
r18244 | jonathan | 2007-04-16 19:26:34 -0400 (Mon, 16 Apr 2007) | 1 line
Aye.
I'm wondering why it was added in directory src/pmc/. Previously,
that directory held only files with names ending in .num or
1 - 100 of 557 matches
Mail list logo