Re: Front End? (Was: Re: async problem)

new topic     » goto parent     » topic index » view thread      » older message » newer message

C.K. Lester wrote:
 > What I really want to know is, "What does it mean for the end user?"
 > Will I notice any difference in how I currently develop programs,
 > or is all this going to be changes behind the scenes?

Things will stay pretty much the same for the end user.
My main motivation is to improve the maintainability
and portability of Euphoria.

There will be a few (minor) positive side effects however:
    - the interpreter that you bind with will be smaller
      and use less memory
    - bound programs will start up without any parsing required
    - you'll be able to ship a shrouded or bound program and
      *also* get a clear traceback with original variable names
      if an error happens
    - both translated and interpreted code will run a tiny bit faster
      in some cases (due to some improvements that are now practical
      in various optimization algorithms)

Of course, if someone buys the Interpreter source, they'll
see a parser written in pure Euphoria code, which will be easier
to work with than C, especially if they don't know C very well.
Perhaps they can use that parser to make other
Euphoria-related tools.

I think the main advantages to the user will come in
the long term. I suspect some interesting developments
could flow from this.

Kat wrote:
> Specifically, what can we access that we cannot now? The list of variable 
> names and what they contain? A way to trap when contents of vars change, 
> instead of a type check now?

No, but I might be more inclined to make symbol
information available, and provide more analysis of the source,
better "folding" of constant expressions etc.
Maybe I can (optionally) tell you when a symbol is declared
as global when it needn't be, when an atom variable could
be declared as integer etc. etc.

The parser (i.e. front-end) is now free to grow without
increasing the size of bound programs, or consuming memory
needed by the Euphoria program at run-time.

There are advanced algorithms I might want to add to
the Translator. It's 100% C now, but will become 100%
Euphoria. In Euphoria it will be easier and safer for me to
add these algorithms.

The run-time system is not changing.

Regards,
    Rob Craig
    Rapid Deployment Software
    http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu