1. Rob: Suggestions for Euphoria 2.6

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

new topic     » topic index » view message » categorize

2. Re: Rob: Suggestions for Euphoria 2.6

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

new topic     » goto parent     » topic index » view message » categorize

3. Re: Rob: Suggestions for Euphoria 2.6

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

new topic     » goto parent     » topic index » view message » categorize

4. Re: Rob: Suggestions for Euphoria 2.6

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

new topic     » goto parent     » topic index » view message » categorize

5. Re: Rob: Suggestions for Euphoria 2.6

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

new topic     » goto parent     » topic index » view message » categorize

6. Re: Rob: Suggestions for Euphoria 2.6

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

new topic     » goto parent     » topic index » view message » categorize

7. Re: Rob: Suggestions for Euphoria 2.6

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

new topic     » goto parent     » topic index » view message » categorize

8. Re: Rob: Suggestions for Euphoria 2.6

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
> 
>

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu