1. Anxiety over 4.0

Bernie Ryan wrote:
> 
> I am going to wait for version 4.0 new features to see if
> I am going to continue with using Euphoria.
> It looks like 4.0 is driving off into the sunset leaving me
> behind.

Bernie,

Could you expand on this a bit?  From memory, I recall several issues you've
brought up:

PCRE:       You seem to be against including this in the core.
GPM:        You'd like to see this back into the core.
GOTO:       You voted no.
Namespaces: I recall you saying that the 3.1 namespaces weren't useful to
            you.  I think the newer implementation is much better.

Are there other issues or concerns?

Matt

new topic     » topic index » view message » categorize

2. Re: Anxiety over 4.0

Matt Lewis wrote:
> 
> Bernie Ryan wrote:
> > 
> > I am going to wait for version 4.0 new features to see if
> > I am going to continue with using Euphoria.
> > It looks like 4.0 is driving off into the sunset leaving me
> > behind.
> 
> Bernie,
> 
> Could you expand on this a bit?  From memory, I recall several issues you've
> brought up:
> 
> PCRE:       You seem to be against including this in the core.
> GPM:        You'd like to see this back into the core.
> GOTO:       You voted no.
> Namespaces: I recall you saying that the 3.1 namespaces weren't useful to
>             you.  I think the newer implementation is much better.
> 
> Are there other issues or concerns?
> 

Matt:

 PCRE is added to the core but wouldn't it be better to use it to

 write a new lexer for eu so features could be easier to add ?

 Say I write a great function in a library that returns the address

 of a function that I want use except I can't use it until after I

 write the code that I want to use it in. NO FORWARD REFERENCES.

 Euphoria is written in "C" which has forward references; NOT PASCAL.

 An all the time spent on arguing about how to exit a routine and why

 goto should be added has just frustrated me.

 Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

3. Re: Anxiety over 4.0

I've just written a significant piece of code using v4.0 idioms (around 2000
lines) and it was so much easier to write than sticking with the way 3.1 insists
on using. Coming from 3,1 anyone could read it and know what its doing, 'cos the
new v4.0 features were only used a few times but when they were used, it was to
make the code better to write and read.

The features that I found useful during this exercise were the 'switch'
construct, the 'continue' statement, labelled loops, and default parameters.

And for those who are interested in the code I wrote, it is a translator for the
'creole' wiki markup language into HTML.

-- 
Derek Parnell
Melbourne, Australia
Skype name: derek.j.parnell

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

4. Re: Anxiety over 4.0

Hi Bernie

Don't leave. Your mixedlib lib has been really useful to me.

 From what I can see, what Joe Coder eu programmer actually sees in terms of
difference is very little from 3.1 to 4.0. He can use goto now (but
without having too)

I'm waiting for the beta tests to see if most of the progs I have will have
little or no work to do in order to run them with 4.0. (correct me if I'm 
wrong devs)

Forward referencing would be nice, but its livable without. You never know
Bernie, one day Eu may be all things to all people. Until that time, keep
plugging.

BTW, could you turn off double line spacing in whatever you're using to
write the replies. Just makes the flow a bit stilted. (I know, I use 8 space
tabs, and you use 4 space!)

Chris

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

5. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> Matt Lewis wrote:
> > 
> > Bernie Ryan wrote:
> > > 
> > > I am going to wait for version 4.0 new features to see if
> > > I am going to continue with using Euphoria.
> > > It looks like 4.0 is driving off into the sunset leaving me
> > > behind.
> > 
> > Bernie,
> > 
> > Could you expand on this a bit?  From memory, I recall several issues you've
> > brought up:
> > 
> > PCRE:       You seem to be against including this in the core.
> > GPM:        You'd like to see this back into the core.
> > GOTO:       You voted no.
> > Namespaces: I recall you saying that the 3.1 namespaces weren't useful to
> >             you.  I think the newer implementation is much better.
> > 
> > Are there other issues or concerns?
> > 
> 
> Matt:
> 
>  PCRE is added to the core but wouldn't it be better to use it to
>  write a new lexer for eu so features could be easier to add ?

I think the reason forward references aren't in euphoria are more 
philosophical than technical.  This was probably less true before eu2.5,
when the parsing paradigm changed.  

As an aside, adding PCRE to the core was pretty easy, and didn't take too 
much work.

>  Say I write a great function in a library that returns the address
>  of a function that I want use except I can't use it until after I
>  write the code that I want to use it in. NO FORWARD REFERENCES.
> 
>  Euphoria is written in "C" which has forward references; NOT PASCAL.
>  An all the time spent on arguing about how to exit a routine and why
>  goto should be added has just frustrated me.

Well, we all have our priorities.  And you're right, forward referencing
has not been discussed very much recently, though I suspect that there 
will be a pretty wide divide on opinions about allowing it into euphoria.

Matt

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

6. Re: Anxiety over 4.0

ChrisBurch3 wrote:
> 
> Hi Bernie
> 
> Don't leave. Your mixedlib lib has been really useful to me.
> 
>  From what I can see, what Joe Coder eu programmer actually sees in terms of
> difference is very little from 3.1 to 4.0. He can use goto now (but
> without having too)
> 
> I'm waiting for the beta tests to see if most of the progs I have will have
> little or no work to do in order to run them with 4.0. (correct me if I'm 
> wrong devs)

The main issue should be if you used any of the new keywords for routines or
variables.  I think that some of the standard library has been reorganized
a little bit, though it probably won't affect people too much.

Matt

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

7. Re: Anxiety over 4.0

ChrisBurch3 wrote:
> 
> I'm waiting for the beta tests to see if most of the progs I have will have
> little or no work to do in order to run them with 4.0. (correct me if I'm 
> wrong devs)
> 

We've started a Wiki page for documenting problems when moving up to 4.0. It's
URL is: http://openeuphoria.org/wiki/euwiki.cgi?MigratingTo40

It is not complete as it's meant to be a page where users can document their
problems, but it has some content.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

8. Re: Anxiety over 4.0

Keyword Clashes
continue
is a keyword in eu4.0

The Euphoria Editor, euphoria/bin/ed.ex, had defined a variable named "continue"
which is now a keyword. The variable had to be renamed to continue_search as that
was its purpose. ed.ex then ran fine. -- jeremy_c[?]
label
is a keyword in eu4.0

you may see an error on the console or in prog.err like
c:\euphoria\myinc\globs.e:245 a name is expected here something something



If you haven't written programs bigger than 2k bytes or
haven't contributed to the archive then you may find the
time correct all the programs in the archive.

I hope you are ready to correct every program in the archive
that is going to name-clash with following names :

label
loop
break
entry
case
override
export
enum

Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

9. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> 
> If you haven't written programs bigger than 2k bytes or
> haven't contributed to the archive then you may find the
> time correct all the programs in the archive.
> 
> I hope you are ready to correct every program in the archive
> that is going to name-clash with following names :
> 
> label
> loop
> break
> entry
> case
> override
> export
> enum
> 

Bernie,

I have a few apps now that I run on 4.0 w/o any conversion what-so-ever. One is
about 20KLOC. I've run it for a long time in Euphoria and when 4.0 became
reasonably stable, I gave it a try. Zero changes required.

All of the above, w/the exception of possibly label, are very program language
specific words that people tend to not use as variable names.

Others have *major* projects that run just fine on 4.0 as well.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

10. Re: Anxiety over 4.0

EuGTK has over 21k lines of code. 
Only minor changes were required to get it working with 4.0, 
but several new additions to 4.0 have made it possible to rewrite 
and improve some routines. Unfortunately, I haven't had time to 
investigate all the new keywords, so there may be more that I could 
take advantage of, if I knew about them.

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

11. Re: Anxiety over 4.0

I know I am displaying my ignorance but I agree with Bernie; Euphoria is running
away from me too.

Over the last couple of weeks I've looked at posts where someone says the new
keywords are much clearer than the old way. Well let me tell you as a person that
only knows the current pre 4.0 version of Euphoria -- that isn't always a true
statement.

I've looked at posted examples which have label, continue, retry, etc and they
leave me confused. Usually the poster says something "...it works like in C or
Basic". Well I don't know C or basic so I don't have a clue what the poster is
saying.

So what I'm asking for is please, whoever is writing the documentation, make the
examples and explanations very clear for those of us who are not multiple
language knowledgeable; sorta for "Dummies 101." I'd like to know how to use the
new keywords where useful if I can understand what they are suposed to do.

judith evans

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

12. Re: Anxiety over 4.0

irv mullins wrote:
> 
> EuGTK has over 21k lines of code. 
> Only minor changes were required to get it working with 4.0, 
> but several new additions to 4.0 have made it possible to rewrite 
> and improve some routines. Unfortunately, I haven't had time to 
> investigate all the new keywords, so there may be more that I could 
> take advantage of, if I knew about them.

Irv, were you able to do any benchmarks of 3.1 vs 4.0?

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

13. Re: Anxiety over 4.0

irv mullins wrote:
> 
> 
> EuGTK has over 21k lines of code. 
> Only minor changes were required to get it working with 4.0, 
> but several new additions to 4.0 have made it possible to rewrite 
> and improve some routines. Unfortunately, I haven't had time to 
> investigate all the new keywords, so there may be more that I could 
> take advantage of, if I knew about them.

On a related note, the warning flood has been reduced.  In the original
[naive] implementation, it warned about every symbol use if in a file
not directly or indirectly included.  Now it just gives one warning per
file per file.

Matt

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

14. Re: Anxiety over 4.0

c.k.lester wrote:
> 
> irv mullins wrote:
> > 
> > EuGTK has over 21k lines of code. 
> > Only minor changes were required to get it working with 4.0, 
> > but several new additions to 4.0 have made it possible to rewrite 
> > and improve some routines. Unfortunately, I haven't had time to 
> > investigate all the new keywords, so there may be more that I could 
> > take advantage of, if I knew about them.
> 
> Irv, were you able to do any benchmarks of 3.1 vs 4.0?

I've done no formal ones yet, as I'm still finding better ways to do things
(and mistakes I made in the original). However, once I found out how to stop 
generating thousands of warnings, it seems to run just as fast. The warnings 
didn't slow down the response once it was running, either, just added to the 
the startup time.

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

15. Re: Anxiety over 4.0

ChrisBurch3 wrote:
> 
> Hi Bernie
> 
> Don't leave. Your mixedlib lib has been really useful to me.
> 
>  From what I can see, what Joe Coder eu programmer actually sees in terms of
> difference is very little from 3.1 to 4.0. He can use goto now (but
> without having too)
> 
> I'm waiting for the beta tests to see if most of the progs I have will have
> little or no work to do in order to run them with 4.0. (correct me if I'm 
> wrong devs)
> 
> Forward referencing would be nice, but its livable without. You never know
> Bernie, one day Eu may be all things to all people. Until that time, keep
> plugging.
> 
> BTW, could you turn off double line spacing in whatever you're using to
> write the replies. Just makes the flow a bit stilted. (I know, I use 8 space
> tabs, and you use 4 space!)
> 
> Chris

There is no technical problem with forward referencing, well hardly any, as
stated earlier.

There was hardly any discussion on the dev list that it should not be added.
One thing that was discussed is the syntax. Derek would pprefer just making the
call without a "forward" directive (which at least some Pascal compilers support,
I use it). I'm not sure it can be done that way, and I have explained why.

The biggest issue is the timetable. The list of major features should not change
between 4.0 alpha and official. It will take some days to port and, most
importantly, thoroughly test, the code, assuming we go "forward".

So don't worry, forward refs will ver likely make their way, but probably for
4.1 - unless Jeremy wishes to take a bit more time.

Last thing: in what way would Eu leave you behind? Remember you can access the
current dos (not exactly complete though) on JC's site.

CChris

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

16. Re: Anxiety over 4.0

CChris wrote:
> 
> 
> So don't worry, forward refs will ver likely make their way, but probably for
> 4.1 - unless Jeremy wishes to take a bit more time.
> 

The thing about taking more time is we have a whole feature list that could take
the next year to implement. Which are features that we should take more time on
and which are not? I think it's important that we get any features in 4.0 that
may break someone's code as to not have a break in 4.0, then another in 4.1, yet
another in 4.2, etc...

We have to have a freeze date sometime or we will be here next year talking
about one more feature.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

17. Re: Anxiety over 4.0

Jeremy Cowgar wrote:
> 
> CChris wrote:
> > 
> > 
> > So don't worry, forward refs will ver likely make their way, but probably
> > for
> > 4.1 - unless Jeremy wishes to take a bit more time.
> > 
> 
> The thing about taking more time is we have a whole feature list that could
> take the next year to implement. Which are features that we should take more
> time on and which are not? I think it's important that we get any features in
> 4.0 that may break someone's code as to not have a break in 4.0, then another
> in 4.1, yet another in 4.2, etc...
> 
> We have to have a freeze date sometime or we will be here next year talking
> about one more feature.
> 
> --
> Jeremy Cowgar
> <a href="http://jeremy.cowgar.com">http://jeremy.cowgar.com</a>

Could some potential keywords be added to 4.0?
Words which are likely to become keywords in a later version
but which are not yet implemented?
This would mean that more code could be broken in 4.0 but a lot less later.

Arthur Crump, (no website)

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

18. Re: Anxiety over 4.0

Arthur Crump wrote:
>  
> Could some potential keywords be added to 4.0?
> Words which are likely to become keywords in a later version
> but which are not yet implemented?
> This would mean that more code could be broken in 4.0 but a lot less later.
> 

Arthur,

That's a good idea. I'll run it past the dev list and see what transpires and
let you know here. If you use them, you will get an error such as "Reserved word"

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

19. Re: Anxiety over 4.0

Jeremy Cowgar wrote:
> 
> Arthur Crump wrote:
> >  
> > Could some potential keywords be added to 4.0?
> > Words which are likely to become keywords in a later version
> > but which are not yet implemented?
> > This would mean that more code could be broken in 4.0 but a lot less later.
> > 
> 
> Arthur,
> 
> That's a good idea. I'll run it past the dev list and see what transpires and
> let you know here. If you use them, you will get an error such as "Reserved
> word"

 
Jeremy:

Wouldn't it be a better idea to use a character in a reserve word that
is illegal in any identifier name; that would guaranty that a reserve word
could not be used as a identifier and would never break code.     


Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

20. Re: Anxiety over 4.0

Bernie Ryan wrote:
>   
> Jeremy:
> 
> Wouldn't it be a better idea to use a character in a reserve word that
> is illegal in any identifier name; that would guaranty that a reserve word
> could not be used as a identifier and would never break code.     
> 

Bernie,

I am not sure I follow. I was thinking of a simple list in parser.e such as:

reserved_words = { "forward", "backward", "upside_down", "rightside_up" }

Can you give me an example of what you mean?

btw... I do like the new single spaced messages. It is much easier to read.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

21. Re: Anxiety over 4.0

Jeremy Cowgar wrote:
> 
> Bernie Ryan wrote:
> >   
> > Jeremy:
> > 
> > Wouldn't it be a better idea to use a character in a reserve word that
> > is illegal in any identifier name; that would guaranty that a reserve word
> > could not be used as a identifier and would never break code.     
> > 
> 
> Bernie,
> 
> I am not sure I follow. I was thinking of a simple list in parser.e such as:
> 
> reserved_words = { "forward", "backward", "upside_down", "rightside_up" }
> 
> Can you give me an example of what you mean?
> 
> btw... I do like the new single spaced messages. It is much easier to read.
> 
> --

Jeremy
   A identifier can contain any caracter a-z or A-Z or _ ( underscore ) or     
   0123456789.
   Any other character is illegal in an identifier therefore you could
   use any other single character in your reserved name word.

   Example: continue@  



Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

22. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> 
> Jeremy
>    A identifier can contain any caracter a-z or A-Z or _ ( underscore ) or 
>    
>    0123456789.
>    Any other character is illegal in an identifier therefore you could
>    use any other single character in your reserved name word.
> 
>    Example: continue@  
> 
> 

That seems to change Euphoria syntax drastically. No other keyword has to do
that, why should new ones?

global constant NAME="John Doe"
global enum@ ERR_A, ERR_B, ERR_C

while 1 do    
    switch@ abc do
        case@ 10:
             break@
        case@ else:
             continue@
    end while

entry@

    if a = 10 then
        exit
    else
        continue@
    end if
end while


That looks like quite the mess.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

23. Re: Anxiety over 4.0

Judith Evans wrote:
> 
> I know I am displaying my ignorance but I agree with Bernie; Euphoria is
> running
> away from me too.
> 
> Over the last couple of weeks I've looked at posts where someone says the new
> keywords are much clearer than the old way. Well let me tell you as a person
> that only knows the current pre 4.0 version of Euphoria -- that isn't always
> a true statement.
> 
> I've looked at posted examples which have label, continue, retry, etc and they
> leave me confused. Usually the poster says something "...it works like in C
> or Basic". Well I don't know C or basic so I don't have a clue what the poster
> is saying.
> 
> So what I'm asking for is please, whoever is writing the documentation, make
> the examples and explanations very clear for those of us who are not multiple
> language knowledgeable; sorta for "Dummies 101." I'd like to know how to use
> the new keywords where useful if I can understand what they are suposed to do.
> 
> judith evans



Did you check the HTML\ folder of the 4.0 source distribution? It has any doc
changes committed b the developers. And I know there should be something about
the new flow control keywords, coz' I wrote it. New export scope may not be
documented yet.

The posts on this list describing additions to the language often are from 
persons who use their experience in other languages to compare, assess and
borrow. As a xonsequence, they are probably not very clear for anyone lacking the
required amount of foreign exposure.

Since most (all?) developers were exposed to other languages, we may find it
harder to spot wording that is not explicit enough for people who weren't. Any
feedback appreciated, it will help improve the use of the language.

CChris

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

24. Re: Anxiety over 4.0

I must have missed this topic on EuForum. Where is the source distribution? I
logged onto Sourceforge and searched for Euphoria. But when I select download
nothing happens.

Is there a link?

CChris wrote:
> Did you check the HTML\ folder of the 4.0 source distribution? It has any doc
> changes committed b the developers. And I know there should be something about
> the new flow control keywords, coz' I wrote it. New export scope may not be
> documented yet. 
> 
> The posts on this list describing additions to the language often are from 
> persons who use their experience in other languages to compare, assess and
> borrow.
> As a xonsequence, they are probably not very clear for anyone lacking the
> required
> amount of foreign exposure.
> 
> Since most (all?) developers were exposed to other languages, we may find it
> harder to spot wording that is not explicit enough for people who weren't. Any
> feedback appreciated, it will help improve the use of the language.
> 
> CChris

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

25. Re: Anxiety over 4.0

Judith Evans wrote:
> 
> I must have missed this topic on EuForum. Where is the source distribution?
> I logged onto Sourceforge and searched for Euphoria. But when I select
> download
> nothing happens.
> 
> Is there a link?
> 

Anything before an alpha, which is where we are now (before an alpha) is not
directly downloadable. You can, however, check out the code via SVN:

svn co http://rapideuphoria.svn.sourceforge.net/svnroot/rapideuphoria/trunk eu40

Also, http://openeuphoria.org/wiki/euwiki.cgi?Compiling40 describes how to
compile 4.0. I also randomly put bins out there for people to boot strap from:
http://jeremy.cowgar.com/files/   ... note, this are just the binary files. You
need the svn check out still.

I also update docs periodically: http://jeremy.cowgar.com/euphoria/index.htm and
also more recently http://jeremy.cowgar.com/euphoria/40/index.htm -- the latter
are from the new doc system. I keep both because not all docs are converted to
the new doc system yet, so the latter link is not yet complete, but it contains
the docs that Chris was speaking about.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

26. Re: Anxiety over 4.0

Judith Evans wrote:
> 
> I must have missed this topic on EuForum. Where is the source distribution?
> I logged onto Sourceforge and searched for Euphoria. But when I select
> download
> nothing happens.
> 
> Is there a link?
> 
> CChris wrote:
> > Did you check the HTML\ folder of the 4.0 source distribution? It has any
> > doc
> > changes committed b the developers. And I know there should be something
> > about
> > the new flow control keywords, coz' I wrote it. New export scope may not be
> > documented yet. 
> > 
> > The posts on this list describing additions to the language often are from 
> > persons who use their experience in other languages to compare, assess and
> > borrow.
> > As a xonsequence, they are probably not very clear for anyone lacking the
> > required
> > amount of foreign exposure.
> > 
> > Since most (all?) developers were exposed to other languages, we may find it
> > harder to spot wording that is not explicit enough for people who weren't.
> > Any
> > feedback appreciated, it will help improve the use of the language.
> > 
> > CChris

http://euwiki.ayo.biz/CompilingEuphoriaFourOh

Since there is no alpha distribution yet, the distro is not publicly available,
but I don't expect Jeremy to delay granting you an access, if you require it.

Ask CK how it feels using an unstable version in production code smile I think he
has fared well so far.

Actually, the more people will play with the new source, the more bugs will be
debunked and mercilessly squashed, and the better the language. That's how open
source works.

Being on the dev list is completely independent from having read access to the
svn repository. Don't commit without prior notice, that's perhaps the only rule.
And update often. Twice a day is good, there are times when you'd better doing it
more often.

CChris

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

27. Re: Anxiety over 4.0

Jeremy Cowgar wrote:
> 
> Judith Evans wrote:
> > 
> > I must have missed this topic on EuForum. Where is the source distribution?
> > I logged onto Sourceforge and searched for Euphoria. But when I select
> > download
> > nothing happens.
> > 
> > Is there a link?
> > 
> 
> Anything before an alpha, which is where we are now (before an alpha) is not
> directly downloadable. You can, however, check out the code via SVN:
> 
> svn co <a
> href="http://rapideuphoria.svn.sourceforge.net/svnroot/rapideuphoria/trunk">http://rapideuphoria.svn.sourceforge.net/svnroot/rapideuphoria/trunk</a>
> eu40
> 
> Also, <a
> href="http://openeuphoria.org/wiki/euwiki.cgi?Compiling40">http://openeuphoria.org/wiki/euwiki.cgi?Compiling40</a>
> describes how to compile 4.0. I also randomly put bins out there for people to
> boot strap from: <a
> href="http://jeremy.cowgar.com/files/">http://jeremy.cowgar.com/files/</a>
>   ... note, this are just the binary files. You need the svn check out still.
> 
> I also update docs periodically: <a
> href="http://jeremy.cowgar.com/euphoria/index.htm">http://jeremy.cowgar.com/euphoria/index.htm</a>
> and also more recently <a
> href="http://jeremy.cowgar.com/euphoria/40/index.htm">http://jeremy.cowgar.com/euphoria/40/index.htm</a>
> -- the latter are from the new doc system. I keep both because not all docs
> are converted to the new
> doc system yet, so the latter link is not yet complete, but it contains the
> docs that Chris was speaking
> about.
> 
> --
> Jeremy Cowgar
> <a href="http://jeremy.cowgar.com">http://jeremy.cowgar.com</a>

I guess library.doc has not been converted or the link is broken so I can't find
out anything about the new keywords. The information about the svn stuff and
compiling is over my head. No problem though, I can wait until there is a
download of Eu 4 available.

Thanks for trying to help.

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

28. Re: Anxiety over 4.0

Judith Evans wrote:
>  
> I guess library.doc has not been converted or the link is broken so I can't
> find out anything about the new keywords. The information about the svn stuff
> and compiling is over my head. No problem though, I can wait until there is
> a download of Eu 4 available.
> 

Use the menu on the left. All the links have not yet been updated. There should
be a bold title "Euphoria Reference Manual" and under that sections. I think the
section you want is "Statements"... Oh, this is on the URL:

http://jeremy.cowgar.com/euphoria/40/index.htm

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

29. Re: Anxiety over 4.0

Jeremy Cowgar wrote:
> 
> Judith Evans wrote:
> >  
> > I guess library.doc has not been converted or the link is broken so I can't
> > find out anything about the new keywords. The information about the svn
> > stuff
> > and compiling is over my head. No problem though, I can wait until there is
> > a download of Eu 4 available.
> > 
> 
> Use the menu on the left. All the links have not yet been updated. There
> should
> be a bold title "Euphoria Reference Manual" and under that sections. I think
> the section you want is "Statements"... Oh, this is on the URL:
> 
> <a
> href="http://jeremy.cowgar.com/euphoria/40/index.htm">http://jeremy.cowgar.com/euphoria/40/index.htm</a>

So goto and the with/without statements are no longer available? They aren't
listed in the keywords under "Statements".

Kat

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

30. Re: Anxiety over 4.0

Kat wrote:
>  
> So goto and the with/without statements are no longer available? They aren't
> listed in the keywords under "Statements".
> 

goto has not been documented yet. with/without are there but they are in a
special section, as they were in 3.x. They are in Special Top-Level Statements
(further down) along with include.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

31. Re: Anxiety over 4.0

For anyone who is overly concerned about Eu 4.x making things harder, please
read:

I made minor changes to my EuGTK code and got it to work with 4.0.
However, in looking at some of the new capabilities - such as the ability 
to call functions with varying # of parameters - I found that a great deal
of the original EuGTK code was written just to work around Eu's missing 
features.

So when the new version is released, I can predict it will be 
a: faster,
b: much, much shorter.
c: much easier to maintain. 

(so if anyone is working on the old EuGTK, quit that right now!:)

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

32. Re: Anxiety over 4.0

irv mullins wrote:
> 

> However, in looking at some of the new capabilities - such as the ability 
> to call functions with varying # of parameters

My Motor libraries have been able to do that since Euphoria ver 2.5 


Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

33. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> irv mullins wrote:
> > 
> 
> > However, in looking at some of the new capabilities - such as the ability 
> > to call functions with varying # of parameters
> 
> My Motor libraries have been able to do that since Euphoria ver 2.5 

It's not the same thing.  We've always been able to pass a sequence that
was used to contain the parameters.  In fact, one of the most commonly 
used built-in functions, printf, does just that.

With 4.0, you can specify default values for parameters, and users can
omit them.  For instance:

function round( atom number, integer decimal_places = 0 )
-- ...
end function
? round( 1.5 )
? round( 1.5, 0 )


In GUI libs, this can be very useful and convenient, when you often don't
need to specify positions, sizes or styles for controls.  A possible 
wxEuphoria based example:
function wxFrame( atom parent, sequence title, integer id = -1,
    integer x  = -1, integer y  = -1, 
    integer cx = -1, integer cy = -1,
    integer style = 0 )
-- ...
end function
frame = wxFrame( 0, "My Frame" )
-- or...
frame = wxFrame( 0, "My Frame", , , , , , wxSOME_STYLE )


Matt

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

34. Re: Anxiety over 4.0

Well in the document I find references to type checking that the
user should include ctype.e for using character checking.

In the code section I find an include file called types.e which contains
the character checking.

All the functions accept object as their input parameter.
If you look at the style that ROB used in his include files
he actually would only allow a user to pass a parameter with
in certain limits. If you are trying to emulate "C" parameters
then the input parameter should allow only a ( "C" int ) NOT
a SEQUENCE.

 
Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

35. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> 
> Well in the document I find references to type checking that the
> user should include ctype.e for using character checking.
> 
> In the code section I find an include file called types.e which contains
> the character checking.
> 

The docs you are referring too have not even completed initial translation, let
alone 1st, 2nd and 3rd edits. During the creation of the docs things have
changed.

> All the functions accept object as their input parameter.
> If you look at the style that ROB used in his include files
> he actually would only allow a user to pass a parameter with
> in certain limits. If you are trying to emulate "C" parameters
> then the input parameter should allow only a ( "C" int ) NOT
> a SEQUENCE.

What do you mean all functions? I am confused at this paragraph and do not know
what you are talking about, can you expand a little?

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

36. Re: Anxiety over 4.0

Matt Lewis wrote:
> 
> Bernie Ryan wrote:
> > 
> > irv mullins wrote:
> > > 
> > 
> > > However, in looking at some of the new capabilities - such as the ability 
> > > to call functions with varying # of parameters
> > 
> > My Motor libraries have been able to do that since Euphoria ver 2.5 
> 
> It's not the same thing.  We've always been able to pass a sequence that
> was used to contain the parameters.  In fact, one of the most commonly 
> used built-in functions, printf, does just that.
> 
> With 4.0, you can specify default values for parameters, and users can
> omit them.  For instance:
> 
> }}}
<eucode>
> function round( atom number, integer decimal_places = 0 )
> -- ...
> end function
> ? round( 1.5 )
> ? round( 1.5, 0 )
> </eucode>
{{{

> 
> In GUI libs, this can be very useful and convenient, when you often don't
> need to specify positions, sizes or styles for controls.  A possible 
> wxEuphoria based example:
> }}}
<eucode>
> function wxFrame( atom parent, sequence title, integer id = -1, 
>     integer x  = -1, integer y  = -1, 
>     integer cx = -1, integer cy = -1,
>     integer style = 0 )
> -- ...
> end function
> frame = wxFrame( 0, "My Frame" )
> -- or...
> frame = wxFrame( 0, "My Frame", , , , , , wxSOME_STYLE )
> </eucode>
{{{

> 

Matt:

Mine was: 

library("somelib.so")
declare("wxFrame","...",s)

Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

37. Re: Anxiety over 4.0

Bernie Ryan wrote:
 
 
> Well in the document I find references to type checking that the
> user should include ctype.e for using character checking.

You snipped the context of your reply. To whom or what are you replying to?

-- 
Derek Parnell
Melbourne, Australia
Skype name: derek.j.parnell

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

38. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> Matt Lewis wrote:
> > 
> > Bernie Ryan wrote:
> > > 
> > > irv mullins wrote:
> > > > 
> > > 
> > > > However, in looking at some of the new capabilities - such as the
> > > > ability
> > > > to call functions with varying # of parameters
> > > 
> > > My Motor libraries have been able to do that since Euphoria ver 2.5 
> > 
> > It's not the same thing.  We've always been able to pass a sequence that
> > was used to contain the parameters.  In fact, one of the most commonly 
> > used built-in functions, printf, does just that.
> > 
> > With 4.0, you can specify default values for parameters, and users can
> > omit them.  For instance:
> > 
> > }}}
<eucode>
> > function round( atom number, integer decimal_places = 0 )
> > -- ...
> > end function
> > ? round( 1.5 )
> > ? round( 1.5, 0 )
> > </eucode>
{{{

> > 
> > In GUI libs, this can be very useful and convenient, when you often don't
> > need to specify positions, sizes or styles for controls.  A possible 
> > wxEuphoria based example:
> > }}}
<eucode>
> > function wxFrame( atom parent, sequence title, integer id = -1, 
> >     integer x  = -1, integer y  = -1, 
> >     integer cx = -1, integer cy = -1,
> >     integer style = 0 )
> > -- ...
> > end function
> > frame = wxFrame( 0, "My Frame" )
> > -- or...
> > frame = wxFrame( 0, "My Frame", , , , , , wxSOME_STYLE )
> > </eucode>
{{{

> > 
> 
> Matt:
> 
> Mine was: 
> 
> library("somelib.so")
> declare("wxFrame","...",s)

Yes, but how would you handle default parameters?  In any case, the above
call would be:
myFrame = f("wxFrame", {0, "My Frame", -1, -1, -1, -1, 0})

Also, that's mainly for calling routines in a shared/dynamic library, isn't
it?  In eu4.0, you can use default parameters calling native euphoria code.

Matt

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

39. Re: Anxiety over 4.0

Jeremy Cowgar wrote:
> 
> Bernie Ryan wrote:
> > 
> > 
> > Well in the document I find references to type checking that the
> > user should include ctype.e for using character checking.
> > 
> > In the code section I find an include file called types.e which contains
> > the character checking.
> > 
> 
> The docs you are referring too have not even completed initial translation,
> let alone 1st, 2nd and 3rd edits. During the creation of the docs things have
> changed.
> 
> > All the functions accept object as their input parameter.
> > If you look at the style that ROB used in his include files
> > he actually would only allow a user to pass a parameter with
> > in certain limits. If you are trying to emulate "C" parameters
> > then the input parameter should allow only a ( "C" int ) NOT
> > a SEQUENCE.
> 
> What do you mean all functions? I am confused at this paragraph and do not
> know
> what you are talking about, can you expand a little?
> 
> --

Jeremy:

Here is some sample "C" type functions from my motor library.

The correct way to emulate "C" type routines is to
except only 'int' as input and return 0 or -1 as output.

Other wise you are going to confuse "C" users by calling them "C" types. 

global function isascii(int chr)
Asm("isascii_",
"mov al, [esp+4] "&
"cmp al, #7F "&
"jnbe NotAscii "&
"IsAscii: mov eax, -1 "&
"ret 4 "&
"NotAscii: xor eax, eax "&
"ret 4 ",1,s)
return f("isascii_",{chr})
end function
--
global function isspace(int chr)
Asm("isspace_",
"mov al, [esp+4] "&
"cmp al, #20 "&
"je  IsSpace "&
"cmp al, #09 "&
"jb  NotSpace "&
"cmp al, #0D "&
"ja  NotSpace "&
"IsSpace: mov eax, -1 "&
"ret 4 "&
"NotSpace: xor eax, eax "&
"ret 4 ",1,s)
return f("isspace_",{chr})
end function
--
global function ispunct(int chr)
Asm("ispunct_",
"mov eax, [esp+4] "&
"cmp al, 126 "&
"jb NotPunct "&
"cmp al, 32 "&
"jl NotPunct "&
"cmp al, 47 "&
"jle IsPunct "&
"cmp al, 58 "&
"jl NotPunct "&
"cmp al, 63 "&
"jle IsPunct "&
"cmp al, 91 "&
"jl NotPunct "&
"cmp al, 96 "&
"jle IsPunct "&
"cmp al, 123 "&
"jl NotPunct "&
"jle IsPunct "&
"NotPunct: xor eax, eax "&
"ret 4 "&
"IsPunct: mov eax, -1 "&
"ret 4 ",1,s)
return f("ispunct_",{chr})
end function
--


Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

40. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> Jeremy:
> 
> Here is some sample "C" type functions from my motor library.
> 
> The correct way to emulate "C" type routines is to
> except only 'int' as input and return 0 or -1 as output.
> 
> Other wise you are going to confuse "C" users by calling them "C" types. 
> 

Ah.. I see what you are saying. However, I am not trying to emulate C. Can you
please direct me to the point where the docs says C type routines? I will fix
that. They are not C types. They do take an object as the parameter for the
reason of being able to say:

? t_alpha(65) -- 1
? t_alpha(188) -- 0
? t_alpha('A') -- 1
? t_alpha("ABC") -- 1
? t_alpha("AC#") -- 0

i.e. it will handle atoms or sequences.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

41. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> 
> Well in the document I find references to type checking that the
> user should include ctype.e for using character checking.

Ok, I get you now ... you aren't reply to anyone. This is a new 'anxiety'.
 
> All the functions accept object as their input parameter.

Thanks for picking that up. You are right, the argument shouldn't be an object
in these cases, IMHO. Also, the implemention is slower than it needs to be.
Someone (you?) might be able to fix that soon.

-- 
Derek Parnell
Melbourne, Australia
Skype name: derek.j.parnell

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

42. Re: Anxiety over 4.0

Derek Parnell wrote:
> 
> > All the functions accept object as their input parameter.
> 
> Thanks for picking that up. You are right, the argument shouldn't be an object
> in these cases, IMHO. Also, the implemention is slower than it needs to be.
> Someone (you?) might be able to fix that soon.
> 

Um, what functions are you guys talking about? Now I am really confused.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

43. Re: Anxiety over 4.0

Jeremy Cowgar wrote:
> They are not C types. They do take an object as the parameter for the
> reason of being able to say:
> 
> ? t_alpha(65) -- 1
> ? t_alpha(188) -- 0
> ? t_alpha('A') -- 1
> ? t_alpha("ABC") -- 1
> ? t_alpha("AC#") -- 0
> 
> i.e. it will handle atoms or sequences.

Oh? In that case we have a problem. It is generally accepted that type tests
return either true or false, but when supplied with a sequence, these tests
return a sequence. That will cause things like ...

   if t_alpha("abc") then 

to fail.


-- 
Derek Parnell
Melbourne, Australia
Skype name: derek.j.parnell

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

44. Re: Anxiety over 4.0

Jeremy Cowgar wrote:
> 
> please direct me to the point where the docs says C type routines? I will fix
> that. They are not C types. They do take an object as the parameter for the
> reason of being able to say:
> 

Jeremy
 Part II - Library Routines
 Syntax: 	include ctype.e  <<<----
 i = isalpha(a)
Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

45. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> Jeremy
>  Part II - Library Routines
>  Syntax: 	include ctype.e  <<<----
>  i = isalpha(a)

Ug... Sorry about this Bernie. This is the problem of releasing pre-pre-alpha
docs/code. Those have all went away and they are now in a file called types.e and
are actual types such as:

t_alpha, t_ascii, t_digit

Sorry. Derek did fine a problem with them though from your report and he's
fixing them right now.

The docs you are reading are more complete but not the most up to date. The
problem is we went through a major doc format change. During that time, new
documentation could not be generated. It was kept up to date, but could not be
converted. Now it can be converted but it is still not complete, although, what
is complete is more up to date... if that is making any sense.

So, we have two 4.0 docs out there. One is more complete than the other, but the
more complete one is out dated getlost That's one of the major reasons why we are not
yet releasing an alpha.

--
Jeremy Cowgar
http://jeremy.cowgar.com

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

46. Re: Anxiety over 4.0

Matt Lewis wrote:
> 
> Yes, but how would you handle default parameters?  In any case, the above
> call would be:
> }}}
<eucode>
> myFrame = f("wxFrame", {0, "My Frame", -1, -1, -1, -1, 0})
> </eucode>
{{{

> Also, that's mainly for calling routines in a shared/dynamic library, isn't
> it?  In eu4.0, you can use default parameters calling native euphoria code.
> 

Matt:

    That will not work in "C" because the last argument in a variable
    argument has to be a NULL and "C" would think your last argument
    ZERO was the null terminating and would leave you one argument short.
    Look up va_end in a "C" book.



Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

47. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> Matt Lewis wrote:
> > 
> > Yes, but how would you handle default parameters?  In any case, the above
> > call would be:
> > }}}
<eucode>
> > myFrame = f("wxFrame", {0, "My Frame", -1, -1, -1, -1, 0})
> > </eucode>
{{{

> > Also, that's mainly for calling routines in a shared/dynamic library, isn't
> > it?  In eu4.0, you can use default parameters calling native euphoria code.
> > 
> 
> Matt:
> 
>     That will not work in "C" because the last argument in a variable
>     argument has to be a NULL and "C" would think your last argument
>     ZERO was the null terminating and would leave you one argument short.
>     Look up va_end in a "C" book.

Bernie, why are you talking about C?  We're talking about *Euphoria* 4.0.

Matt

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

48. Re: Anxiety over 4.0

Matt Lewis wrote:
> 
> Bernie Ryan wrote:
> > 
> > Matt Lewis wrote:
> > > 
> > > Yes, but how would you handle default parameters?  In any case, the above
> > > call would be:
> > > }}}
<eucode>
> > > myFrame = f("wxFrame", {0, "My Frame", -1, -1, -1, -1, 0})
> > > </eucode>
{{{

> > > Also, that's mainly for calling routines in a shared/dynamic library,
> > > isn't
> > > it?  In eu4.0, you can use default parameters calling native euphoria
> > > code.
> > > 
> > 
> > Matt:
> > 
> >     That will not work in "C" because the last argument in a variable
> >     argument has to be a NULL and "C" would think your last argument
> >     ZERO was the null terminating and would leave you one argument short.
> >     Look up va_end in a "C" book.
> 
> Bernie, why are you talking about C?  We're talking about *Euphoria* 4.0.
> 

Matt:


   Because Euphoria calls "C" DLL and SO.

   Isn't your wxFrame being called from a DLL or SO ?

   Isn't wxwidgets called from a DLL and SO ?

   Don't Motif and Xt use variable arguments in their SO's ?

   


Bernie

My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API 

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

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

49. Re: Anxiety over 4.0

Bernie Ryan wrote:
> 
> Matt Lewis wrote:
> > 
> > 
> > Bernie, why are you talking about C?  We're talking about *Euphoria* 4.0.
> > 
> 
> Matt:
> 
> 
>    Because Euphoria calls "C" DLL and SO.
>    Isn't your wxFrame being called from a DLL or SO ?
>    Isn't wxwidgets called from a DLL and SO ?
>    Don't Motif and Xt use variable arguments in their SO's ?

Ultimately, a shared library is called with all of those.  I've never used
Motif or Xt, so I'll take your word.  There aren't any noticeable changes
made to the C interfacing for 4.0 (there's some backend stuff that's only
really important for back end developers). 

But Irv was referring to being able to use default parameters with 
native euphoria calls, which is also what I was talking about with my
wxFrame example.  It would ultimately use a c_func call, but that wasn't 
important to the example.

Matt

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

Search



Quick Links

User menu

Not signed in.

Misc Menu