Re: Regarding status of Parrot and pure perl Perl6 compiler

2005-04-06 Thread Arthur Bergman
On 6 Apr 2005, at 13:50, Nicholas Clark wrote: The roadmap starts with an introduction to Ponie, gives instructions on how to check it out of CVS and build it, and other useful information, so I'll avoid duplicating its contents here. Ponie is using released versions of Perl 5.9.x, rather than

Re: Functions for embedders to override

2004-08-12 Thread Arthur Bergman
On 11 Aug 2004, at 06:10, Dan Sugalski wrote: * Networking: socket, accept, connect, listen, etc. (see "Files") Yeah, and this'll be ever so much fun too. We need to add in select and poll to that list. Modern operating systems all have a way to get around the suckiness of poll/select when yo

Re: ponie roadmap

2004-05-18 Thread Arthur Bergman
On 18 May 2004, at 08:10, Leopold Toetsch wrote: I don't think that this is the best idea. You are later stopping refcounting anyway. But I can imagine that you might present an SV with a refcount to (GC-unaware, unmodified) XS code. It is not the best idea, but it is a temporary solution to the p

Re: Outstanding parrot issues?

2004-05-03 Thread Arthur Bergman
On 3 May 2004, at 13:27, Leopold Toetsch wrote: because the stacktop is not set! so what Parrot_runcode should do is in { if(!parrot->stacktop) { set_stacktop When you call C from different locations, this wouldn't work. So the correct sequence is: app_x_run_plugin(...) { void stk;

Re: Outstanding parrot issues?

2004-05-03 Thread Arthur Bergman
On 3 May 2004, at 09:11, Leopold Toetsch wrote: Arthur Bergman wrote: On 2 May 2004, at 12:37, Leopold Toetsch wrote: Can't you call that somewhere in an outer frame? E.g. where you create the interpreter. No, because I might be creating the interpreter in a callback from the application

Re: Outstanding parrot issues?

2004-05-02 Thread Arthur Bergman
On 2 May 2004, at 12:37, Leopold Toetsch wrote: that simplifies step 1) No, it entirely misses the point, every time I call into parrot the place I called parrot_init_stacktop might not, or most likely will not be in my current stack. Can't you call that somewhere in an outer frame? E.g. where you

Re: Outstanding parrot issues?

2004-05-02 Thread Arthur Bergman
On 2 May 2004, at 11:47, Leopold Toetsch wrote: All I want to do is. 1) create a parrot interpreter 2) create some pmcs 3) call some code inside parrot with those pmcs I've now added a missing init function that sets the stack top: Parrot_init_stacktop(Interp*, void*); This function can be used

Re: Outstanding parrot issues?

2004-05-02 Thread Arthur Bergman
On 2 May 2004, at 10:54, Leopold Toetsch wrote: Arthur Bergman <[EMAIL PROTECTED]> wrote: ... The obvious answer seems to be to have the embedding interface set the top of stack in each embedding function if it is not set. This would do the right thing and make it easy to embed parrot. No

Re: Outstanding parrot issues?

2004-05-01 Thread Arthur Bergman
On 2 May 2004, at 00:20, Leopold Toetsch wrote: Arthur Bergman <[EMAIL PROTECTED]> wrote: THERE ARE CASES Arthur, please let's quietly talk about possible issues. Many libraries that you want to use, demand that you call "The_lib_init(bla)". This isn't inappropriate, it&

Re: Outstanding parrot issues?

2004-05-01 Thread Arthur Bergman
On 30 Apr 2004, at 19:30, Leopold Toetsch wrote: Like it or not DOD/GC has different impacts on the embedder. Above rules are simple. There is no "when the PMC isn't used any more decrement a refcount" and "when you do that and that then icnrement a refcount" or some such like in XS. This is reall

Re: Outstanding parrot issues?

2004-05-01 Thread Arthur Bergman
On 30 Apr 2004, at 12:54, Leopold Toetsch wrote: ... Would it be possible for parrot to provide an embedder's interface to all the (exported) functions that checks whether the stack top pointer is set, and if not (ie NULL) it pulls the address of a local variable in it This doesn't work: { P

Re: Parrot hijacks SIGINT

2004-03-16 Thread Arthur Bergman
On 16 Mar 2004, at 06:36, Leopold Toetsch wrote: This is a snipped from the stress example program I posted some days ago with an additional check if events are to be handled. Both functions might not be in the extension interface[1]. Would it be possible to have a global variable that indicate

Re: Parrot hijacks SIGINT

2004-03-15 Thread Arthur Bergman
On 15 Mar 2004, at 17:25, Jeff Clites wrote: We shouldn't, I would think, be snagging any signals unless user code expresses an interest in the signal. The default disposition of every signal is either to be ignored, or to abruptly terminate the process, and we preserve that behavior if we just

Re: unprefixed global symbols

2004-03-15 Thread Arthur Bergman
On 15 Mar 2004, at 17:20, Jeff Clites wrote: On Mar 15, 2004, at 7:36 AM, Leopold Toetsch wrote: Arthur Bergman <[EMAIL PROTECTED]> wrote: PDB is too generic ParrotDB_ Of course, "ParrotDB" sounds like "Parrot database" May be its best if someone who has com

Re: unprefixed global symbols

2004-03-15 Thread Arthur Bergman
On 15 Mar 2004, at 12:54, Leopold Toetsch wrote: I think all parrot externally visible macros, types and all functions should be prefixed Parrot_ as a start. Are patches welcome that change this? Sure. But we should allow some already used prefixes too, beside Parrot_. We have: Cool, I still th

Re: unprefixed global symbols

2004-03-15 Thread Arthur Bergman
In article <[EMAIL PROTECTED]>, [EMAIL PROTECTED] (Mitchell N Charity) wrote: > Leopold Toetsch <[EMAIL PROTECTED]> wrote: > >Marcus Holland-Moritz <[EMAIL PROTECTED]> wrote: > >> One of my modules embeds the ucpp preprocessor, which has a >> function init_tables(). The same functio

Re: Parrot hijacks SIGINT

2004-03-15 Thread Arthur Bergman
In article <[EMAIL PROTECTED]>, [EMAIL PROTECTED] (Dan Sugalski) wrote: > At 12:25 PM + 3/12/04, Arthur Bergman wrote: > >Hi, > > > >Tracking down test failures in ponie I noticed some tests using > >SIGINT failing, they don't fail when I change the te

Re: ponie unwell without --gc=libc

2004-03-12 Thread Arthur Bergman
On 12 Mar 2004, at 19:26, Leopold Toetsch wrote: Nicholas Clark <[EMAIL PROTECTED]> wrote: On Thu, Mar 11, 2004 at 10:33:24PM +0100, Leopold Toetsch wrote: All PMCs are anchored properly? Yes. Arthur and I got it down to the appended test case, which is pure C embedding and extending parrot. I a

CPAN Upload: A/AB/ABERGMAN/ponie-2.tar.gz - Ponie Development Release 2

2004-03-12 Thread Arthur Bergman
This is Ponie, development release 2 "And, isn't sanity really just a one-trick ponie anyway? I mean all you get is one trick, rational thinking, but when you're good and crazy, oooh, oooh, oooh, the sky is the limit." -- the tick Welcome to this second deve

Parrot hijacks SIGINT

2004-03-12 Thread Arthur Bergman
Hi, Tracking down test failures in ponie I noticed some tests using SIGINT failing, they don't fail when I change the tests using SIGUSR1, making me think that parrot somehow hijacks SIGINT but not other signals. Is this per design or is it something that should be fixed? Arthur

Re: status update

2004-03-04 Thread Arthur Bergman
On 3 Mar 2004, at 08:09, Leopold Toetsch wrote: follow the scheme used in t/src/basic_3, i.e. run your code via Parrot_run_native(). Tried this, I think the interface to Parrot_run_native() is wrong, it should most likely be void* Parrot_run_native(Parrot, func, void*) ; so you can pass in arg

Re: status update

2004-03-03 Thread Arthur Bergman
On 3 Mar 2004, at 08:09, Leopold Toetsch wrote: I wasn't aware that the Parrot DOD/GC would run even if I wasn't running any parrot bytecode, so when we started executing larger amounts of perl code, things got ugly because parrot was GCing from under our feet! Do you initialize interpreter->lo_v

Valgrind shouting

2004-03-02 Thread Arthur Bergman
Hi, So I am currently trying to find another segfault, valgrind is helping me but the only thing it really says is ==24093== Conditional jump or move depends on uninitialised value(s) ==24093==at 0x8273227: compact_pool (src/resources.c:301) ==24093==by 0x827300C: mem_allocate (src/resou

Parrot_PMC_new vs Parrot_register_pmc

2004-03-02 Thread Arthur Bergman
Hi, Just a quick check, why is Parrot_register_pmc not named as the other Parrot_PMC_* functions in the external interface? Cheers Arthur

Valgrind and parrot

2004-02-24 Thread Arthur Bergman
Using valgrind 1.9.6 I find it impossible to use with parrot, is this a known issue, should I try and get someone to upgrade valgrind for me? The following impossible happens. switch% valgrind --num-callers=100 ./parrot examples/assembly/mops.pasm ==23809== Memcheck, a.k.a. Valgrind, a memory er

Re: References to hash elements?

2004-01-06 Thread Arthur Bergman
On 6 Jan 2004, at 17:05, Simon Cozens wrote: I would have thought that a hash element would itself be a PMC rather than an immediate value, so a reference to that should be treated just like any other reference to a PMC. But this does not hold true if the hash element is in fact conjured up by

References to hash elements?

2004-01-06 Thread Arthur Bergman
Hi, I am wondering how the references to hash elements are planned to be done? The call to set_ must somehow be delayed until the time is right. $foo = \$hash{key}; $$foo = "bar"; $has{key} is now "bar" I don't see how the current vtable setup will allow for this in a tied situation, or will

Re: Segfault in extend.c/ parrot_pmc_get_pointer

2003-12-19 Thread Arthur Bergman
On Monday, December 15, 2003, at 12:58 pm, Leopold Toetsch wrote: Arthur Bergman <[EMAIL PROTECTED]> wrote: #0 0x081cef45 in Parrot_PMC_get_pointer (interp=0x82d7f78, pmc=0x8a0) That looks like the vtable could be corrupted. $ p *pmc $ p *pmc->vtable So, after a couple of days s

Re: -lpthread

2003-12-17 Thread Arthur Bergman
On Wednesday, December 17, 2003, at 02:06 pm, Dan Sugalski wrote: Well... yes and no. You need to make sure Parrot links against the thread libraries. You don't, strictly speaking, need to have perl linked against the threading libraries except... several (perhaps most) platforms *really* hat

Re: -lpthread

2003-12-17 Thread Arthur Bergman
On Wednesday, December 17, 2003, at 12:38 pm, Leopold Toetsch wrote: $ grep thr_pthread config/gen/platform/*.h config/gen/platform/darwin.h:# include "parrot/thr_pthread.h" config/gen/platform/generic.h:# include "parrot/thr_pthread.h" config/gen/platform/openbsd.h:# include "parrot/thr_pthre

Re: -lpthread

2003-12-17 Thread Arthur Bergman
On Wednesday, December 17, 2003, at 11:35 am, H.Merijn Brand wrote: Unacceptable IMHO. Many people getting prebuild binaries on commercial OS's have no choice I don't see how this is relevant, prebuilt perl or prebuilt parrot? I don't think we need to worry about prebuilt parrot, and ponie will

-lpthread

2003-12-17 Thread Arthur Bergman
After updating and building I notice... make[1]: Entering directory `/home/abergman/Dev/ponie/perl' cc -L/home/abergman/Dev/ponie/parrot/blib/lib -o miniperl \ miniperlmain.o opmini.o libperl.a -lnsl -ldl -lm -lcrypt -lutil -lc -lparrot /home/abergman/Dev/ponie/parrot/blib/lib/libparrot.a(eve

Segfault in extend.c/ parrot_pmc_get_pointer

2003-12-15 Thread Arthur Bergman
Hi, today I hit a little bug #0 0x081cef45 in Parrot_PMC_get_pointer (interp=0x82d7f78, pmc=0x8a0) at src/extend.c:44 #1 0x080c5403 in Perl_macro_LvTYPE (sv=0x82d3410) at sv.c:1280 #2 0x080b196f in Perl_hv_fetch_ent (hv=0x8387588, keysv=0x82d3400, lval=0, hash=4044421188) at hv.c:

Re: Storing external data in PMCs

2003-10-27 Thread Arthur Bergman
On Monday, October 27, 2003, at 05:20 pm, Melvin Smith wrote: Apologies for the formatting of these replies, I'm at work with Lotus Notes. PNI (Parrot Native Interface) is for writing native extensions in C. So, what I meant is you can write a method for stashing a raw pointer with the API tod

Re: Storing external data in PMCs

2003-10-27 Thread Arthur Bergman
On Monday, October 27, 2003, at 04:44 pm, Melvin Smith wrote: In this case I assume the function can either be Perl5 or Parrot? Sounds like a custom PMC to me. Given the PMC that could stash function pointers and correctly dispatch gets/sets you have the option of writing a PNI method for setting

Re: Storing external data in PMCs

2003-10-27 Thread Arthur Bergman
On Monday, October 27, 2003, at 03:26 pm, Melvin Smith wrote: At 02:56 PM 10/27/2003 +, Arthur Bergman wrote: So I am currently trying to do a Perl5LVALUE pmc, a stumbling block is however that I need to pass the PMC the thing that it is lvalueling, I was planning to use the pmc data field

Storing external data in PMCs

2003-10-27 Thread Arthur Bergman
Hi, So I am currently trying to do a Perl5LVALUE pmc, a stumbling block is however that I need to pass the PMC the thing that it is lvalueling, I was planning to use the pmc data field for storing this but I cannot access it as a extender without violating the API and guessing at layouts which

Re: #define version obj.version is a kind of generic thing

2003-10-27 Thread Arthur Bergman
On Monday, October 27, 2003, at 02:10 pm, Leopold Toetsch wrote: Arthur Bergman <[EMAIL PROTECTED]> wrote: include/parrot/pobj.h:# define version obj.version Sorry for that :) We can AFAIK toss the version part of a PObj. Its almost unused and hardly needed. It could be renamed too

Using extend.h to create a specific PMC

2003-10-27 Thread Arthur Bergman
Hi, Quick question, is it possible to create a specific type of PMC using extend.h? Arthur

#define version obj.version is a kind of generic thing

2003-10-27 Thread Arthur Bergman
Hi, Upgraded parrot today and ran into some snags with in my own perl5lv.pmc that includes perl.h The error was /Users/sky/Documents/Projects/ponie/perl/proto.h:778: parse error before '.' token That line is PERL_CALLCONV void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop,

Re: [PATH] Get rid of very annoying header warnings on darwin

2003-09-12 Thread Arthur Bergman
On Thursday, September 11, 2003, at 07:50 pm, Brent Dax wrote: Arthur Bergman: # This gets rid of the very annoying long double might change warning # under Darwin... Thanks, applied (config/init/hints/darwin.pl version 1.7). However, can you see if the diff below my sig (applied against 1.7

[PATH] Get rid of very annoying header warnings on darwin

2003-09-11 Thread Arthur Bergman
Hi, This gets rid of the very annoying long double might change warning under darwin, the warning comes from my config.h which has typedef long double HUGEFLOATVAL; Arthur Index: config/init/hints/darwin.pl === RCS file: /cvs/publ

Embedding interface to PMCs

2003-09-11 Thread Arthur Bergman
Hi, Is there any documentation, or code I can read to figure out how use PMCs in embedded mode? I tried to just include parrot/parrot.h in sv.c but that results in a million (or so ;) errors, so using parrot/embed would be nice. (it looks like it isn't finished yet, so it is more a question of

Re: [PATCH] Small test case exception for ponie

2003-09-11 Thread Arthur Bergman
On Wednesday, September 10, 2003, at 05:55 pm, Leopold Toetsch wrote: From: Leopold Toetsch <[EMAIL PROTECTED]> Date: Wed Sep 10, 2003 5:55:59 pm Europe/London To: [EMAIL PROTECTED] (Arthur Bergman) Cc: [EMAIL PROTECTED] Subject: Re: [PATCH] Small test case exception for ponie Reply-To:

Re: [PATCH] Build system command line options

2003-09-10 Thread Arthur Bergman
On Wednesday, September 10, 2003, at 05:40 pm, Brent Dax wrote: Got something a bit better. Parrot Configure has had syntax for modifying settings without removing them for a long time: :add{foo} :rem{foo} Until now, it only worked when Configure prompted you interactively for th

[PATCH] Small test case exception for ponie

2003-09-10 Thread Arthur Bergman
Hi, I am adding an additional pmc (Perl5LV), however a test fails t/pmc/pmc...NOK 75# Failed test (t/pmc/pmc.t at line 1650) # got: 'Perl5LV PMCs have incorrect name "" # ' # expected: 'All names and ids ok. # ' t/pmc/pmc...ok 91/91# Looks like you failed 1 tests

[PATCH] Build system command line options

2003-09-10 Thread Arthur Bergman
Currently if you specify cc and ld flag options at the command line it totally overrides the ones it finds, this seems non DWIM and non optimal. This little patch fixes it. Reason I need this is am moving in pmcs into classes that #include perl.h and thus need patch/to/perl.h in -I Arthur ---

Abandoning Subversion

2003-09-04 Thread Arthur Bergman
Hi, After a weeks vacation, returning back to work on Ponie I have frequent motivational problems because subversion is treating me so badly. (ie, I don't want to change something because it is such a pain then to commit it, I don't want to upgrade to latest parrot because it will take a whole

Parrot and STDOUT/STDERR

2003-08-14 Thread Arthur Bergman
Hi, In my efforts to embed parrot into perl I stumbled upon something mildly interesting but most likely terribly hard to track down problem. If I execute a miniperl (but linked into parrot and with it's own parrot interpreter) it works, but if the caller closes(STDERR) before invoking miniper

Re: ponie-dev list

2003-07-10 Thread Arthur Bergman
On Thursday, July 10, 2003, at 08:47 am, Jerome Quelin wrote: May I ask why ponie doesn't use the p6i ml since as I see it, it's another project for parrot and thus will use $PARROT/languages/ponie (or perl5 or whatever)? Jérôme I think the same reason we don't do it on perl5-porters (because it

PRE / POST in loops

2003-01-02 Thread Arthur Bergman
Hello, I just got a question from Lee Pumphret regarding Hook::Scope POST in loops. Currently it treats every iteration as a scope entry and scope exit so. for(1..3) { POST { print 2 }; print 1; } will print "121212", Since perl6 seems to have a NEXT {} block for doing this, how is POST an