Re: Front End? (Was: Re: async problem)
- Posted by Robert Craig <rds at RapidEuphoria.com> Dec 30, 2003
- 427 views
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