1. Rob: Suggestions for Euphoria 2.6
- Posted by Vincent <darkvincentdude at yahoo.com> Nov 22, 2004
- 700 views
- Last edited Nov 23, 2004
Possible improvements and new features for Euphoria 2.6 and other products ------------------------------------------------------- * Assignment on declare ability (exp: integer foo = 345) * 32 Bit integer data type (same as a LONG in C) (not 31 bits) * Boolean data type (exp: boolean foo) * Improvement(s) with namespace feature * Case & switch feature /w break statement <(*)> * Increase nested include limit to 50 (from 30) <(**)> * Significant speed improvement in Euphoria front-end * Minor speed improvements in C back-end * Minor speed improvements on certain standard library ruitines * Minor speed/code generation improvements on translators and binder * Lots of bug fixes for everything (of course) * A greatly improved Windows installer (or no installer at all, just maybe a zip file with directions on setting up envi. var.) <(*)> Examples for Euphoria Case & Switch feature
--Example #1: --~~~~~~~~~~~ include get.e integer answer, halt answer = prompt_number("What is 8x4 equal? ", {0,50}) switch(answer) case 30 : puts(1, "Man your dumb!\n") break case 31 : puts(1, "Close but no money!\n") puts(1, "\n\t try again") break case 32 : printf(1, "The answer is: %d, so you're correct", {answer}) break defualt : puts(1, "Your dead wrong, I tell ya.\n") end switch halt = wait_key() clear_screen()
-------------------------------------------------------
--Example #2: --~~~~~~~~~~~ include get.e sequence grades, halt grades = prompt_string("How good are your grades? ") switch(grades) case "excelent" : case "good" : puts(1, "Good job, keep up the good work.\n") break case "average" : puts(1, "An average student is ok.\n") break case "poor" : puts(1, "Get your act together man!\n") break default : puts(1, "What kind of grade is that?\n" & "Ask the teacher(s) then tell me.") break end switch halt = wait_key() clear_screen()
------------------------------------------------------- <(**)> Some large libraries (exp: wxEuphoria) could reach the 30 include limit. 30 is alot but just to be on the safe side increase it to 50 or more. Vincent
2. Re: Rob: Suggestions for Euphoria 2.6
- Posted by Don <eunexus at yahoo.com> Nov 22, 2004
- 647 views
- Last edited Nov 23, 2004
Vincent wrote: > > Possible improvements and new features for Euphoria 2.6 > and other products > ------------------------------------------------------- > > * Assignment on declare ability (exp: integer foo = 345) > * 32 Bit integer data type (same as a LONG in C) (not 31 bits) > * Boolean data type (exp: boolean foo) > * Improvement(s) with namespace feature > * Case & switch feature /w break statement <(*)> > * Increase nested include limit to 50 (from 30) <(**)> > * Significant speed improvement in Euphoria front-end > * Minor speed improvements in C back-end > * Minor speed improvements on certain standard library ruitines > * Minor speed/code generation improvements on translators and binder > * Lots of bug fixes for everything (of course) > * A greatly improved Windows installer (or no installer at all, > just maybe a zip file with directions on setting up envi. var.) Just pointing a couple of things out... > * 32 Bit integer data type (same as a LONG in C) (not 31 bits) This is (mostly) already done as an atom type. From the docs: Performance Note: Does this mean that all atoms are stored in memory as 8-byte floating-point numbers? No. The Euphoria interpreter usually stores integer-valued atoms as machine integers (4 bytes) to save space and improve execution speed. When fractional results occur or numbers get too big, conversion to floating-point happens automatically. Since the conversion happens automatically should you need it, Just use 32 bit integer values and they should only take four bytes (which by definition is what your asking for). > * Boolean data type (exp: boolean foo) You can already do this by declaring your own type... Don Phillips - aka Graebel National Instruments mailto: eunexus @ yahoo.com
3. Re: Rob: Suggestions for Euphoria 2.6
- Posted by "Kat" <gertie at visionsix.com> Nov 22, 2004
- 650 views
- Last edited Nov 23, 2004
On 22 Nov 2004, at 13:11, Vincent wrote: > > > posted by: Vincent <darkvincentdude at yahoo.com> > > Possible improvements and new features for Euphoria 2.6 > and other products <snip> RobC already said none of what you suggested is going to happen. We've been asking for it all for 4 or 5 years. > puts(1, "Man your dumb!\n") Errrrr,, yeas. Kat
4. Re: Rob: Suggestions for Euphoria 2.6
- Posted by Robert Craig <rds at RapidEuphoria.com> Nov 23, 2004
- 567 views
Vincent wrote: > > Possible improvements and new features for Euphoria 2.6 > and other products Thanks. > * Significant speed improvement in Euphoria front-end I made very good progress toward that goal today. Much better than I thought possible. profile and profile_time are very handy. > Some large libraries (exp: wxEuphoria) could reach the > 30 include limit. 30 is alot but just to be on the safe > side increase it to 50 or more. The 30 limit is on the depth of nesting of includes, not the total number of includes in a program. Only one person in history every complained about the limit when it was just 10. Now that the front end is in Euphoria, I could get rid of the limit quite easily, but there might be some value in reporting recursive mistakes like: file foo.e: include foo.e Anyway, the interpreter would eventually die with too many open files, not much beyond a depth of 30. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
5. Re: Rob: Suggestions for Euphoria 2.6
- Posted by Patrick Barnes <mrtrick at gmail.com> Nov 23, 2004
- 556 views
On Mon, 22 Nov 2004 16:50:30 -0800, Robert Craig <guest at rapideuphoria.com> wrote: > Now that the front end is in Euphoria, I could get rid of > the limit quite easily, but there might be some value > in reporting recursive mistakes like: > > file foo.e: > > include foo.e Uh, I thought that a file, once included, was never included again? i.e. if A includes B and C, and B includes C, then there is still only a single instance of C internally. -- MrTrick
6. Re: Rob: Suggestions for Euphoria 2.6
- Posted by Pete Lomax <petelomax at blueyonder.co.uk> Nov 23, 2004
- 557 views
On Tue, 23 Nov 2004 11:55:57 +1100, Patrick Barnes <mrtrick at gmail.com> wrote: > >On Mon, 22 Nov 2004 16:50:30 -0800, Robert Craig ><guest at rapideuphoria.com> wrote: >> Now that the front end is in Euphoria, I could get rid of >> the limit quite easily, but there might be some value >> in reporting recursive mistakes like: >> >> file foo.e: >> >> include foo.e > >Uh, I thought that a file, once included, was never included again? >i.e. if A includes B and C, and B includes C, then there is still only >a single instance of C internally. I was thinking the same. However there isn't really a better example. FWIW, I agree with rob this limit should be kept, until someone does actually create a program which breaks it. Think about it: 30 *nested* includes?? That's pretty major, it won't happen until you have several hundred programmers working on a multi-million pound project, if ever. Regards, Pete
7. Re: Rob: Suggestions for Euphoria 2.6
- Posted by Robert Craig <rds at RapidEuphoria.com> Nov 23, 2004
- 564 views
Patrick Barnes wrote: > Uh, I thought that a file, once included, was never included again? > i.e. if A includes B and C, and B includes C, then there is still only > a single instance of C internally. Yes, you are right. My mistake. Maybe there's no point in having a limit. Although it might be nicer for the interpreter to tell you that you have a large number of nested includes, rather than giving a cryptic message when it suddenly fails to open a file. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
8. Re: Rob: Suggestions for Euphoria 2.6
- Posted by CoJaBo <CoJaBo_EUforum_Address at CJBN.net> Nov 23, 2004
- 587 views
- Last edited Nov 24, 2004
Pete Lomax wrote: > > On Tue, 23 Nov 2004 11:55:57 +1100, Patrick Barnes <mrtrick at gmail.com> > wrote: > > > > >On Mon, 22 Nov 2004 16:50:30 -0800, Robert Craig > ><guest at rapideuphoria.com> wrote: > >> Now that the front end is in Euphoria, I could get rid of > >> the limit quite easily, but there might be some value > >> in reporting recursive mistakes like: > >> > >> file foo.e: > >> > >> include foo.e > > > >Uh, I thought that a file, once included, was never included again? > >i.e. if A includes B and C, and B includes C, then there is still only > >a single instance of C internally. > > I was thinking the same. However there isn't really a better example. > FWIW, I agree with rob this limit should be kept, until someone does > actually create a program which breaks it. > > Think about it: 30 *nested* includes?? That's pretty major, it won't CJBN (which is huge) only has about 7, not even the previous limit. 50 will probably never be needed. > happen until you have several hundred programmers working on a > multi-million pound project, if ever. > > Regards, > Pete > >