Jerome Quelin <[EMAIL PROTECTED]> wrote:
>  - will objects introduce a speed overhead?

For sure, but not a big one. You can AFAIK obtain an integer index for
an attribute or method so its basically an array lookup.

>  - if I implement the Lahey space module as a regular module, how can I
> declare file-scoped vars that will be accessible by the subroutines of
> the file and only them? Since imcc parses compilation units first, I
> don't see how to do this... Maybe with the ".namespace" keyword?

Just put a ".local" or ".sym" declaration outside/in front of your subs.
This declares a file-scoped variable.

>  - the global does not seem to be available:
> $ cat foo.imc
> sub _main
>      .local int width
>      width = 0
>      global "lhs_width" = width

The *global opcodes are PMC variables only.

> Will the feature be implemented soon?

As the global stash is a PerlHash, it could be done. OTOH all the
lexical opcodes are PMC-only too and these can only store PMCs in their
array slot.

>  - when using the global keyword, can the string where one stores the
> value be anything? For example, can I use "foo::bar" as a global name?

Yes.

>  - when including a file with .include, the line numbering continues to
> increase without being zeroed, and it's quite difficult to track errors
> because of this behavior

This needs work - Or its a bug, if line numbers are messed up by
including a file.

>  - when including a file, if it isn't properly newline terminated, you
> get an error even if the line is a comment...
> $ imcc main.imc
> (error) line 26: parse error, unexpected $undefined, expecting '\n'
> Didn't create output asm.

That's fine for me and the error message is stating the problem.

> Thanx for your answers,
> Jerome

Welcome,
leo

Reply via email to