Re: [perl #39715] [TODO] #39715 IMCC errors should throw Parrot exceptions

2006-07-12 Thread Vishal Soni

> >
> > PARROT_API void *Parrot_compile_file(Parrot_Interp interpreter,char
> > *fullname, String **error);
> 
> I like this interface, except for the return value from Parrot_compile_file.  
> Are there other options, such as returning a Sub PMC?

Chip and I have had a chat about other possible API's which could be
added in future. Some e.g.

1. To throw Parrot exceptions instead of the String **error.
2. Possibly using Compiler PMC. (not sure on that yet)

Your suggestion is good and I will keep in mind. 

These two functions are just a start for defining Compile API's.
Programming languages should not talk directly to IMCC or any other low
level compiler like IMCC and PASM. 

Thanks for your suggestion.
Vishal



Re: [perl #39715] [TODO] #39715 IMCC errors should throw Parrot exceptions

2006-07-12 Thread chromatic
On Wednesday 12 July 2006 22:02, Vishal Soni via RT wrote:

> This patch also introduces a Parrot API for the calling programs to
> compile the code. Currently pugs uses immc_compile() call into IMCC.
> Ideally Pugs should not be communicating with IMCC but with Parrot. This
> new API will try to hide IMCC/PASM compile details from programming
> languages
>
> PARROT_API PMC *Parrot_compile_string(Parrot_Interp interpreter, STRING
> *type, char *code, STRING **error);
>
> PARROT_API void *Parrot_compile_file(Parrot_Interp interpreter,char
> *fullname, String **error);

I like this interface, except for the return value from Parrot_compile_file.  
Are there other options, such as returning a Sub PMC?

-- c