1. Euphoria 4.0 appears to problematic

I have used 3.11 for quite sometime and decided to try version 4. It appears to be very troublesome, probably because of the documentation where the sample codes do not work. Constants such as CONSOLE, KEYBOARD, as given in the sample throws out error msg. Even "namespace io" throws "errors resolving the following references". running on win XP, statements such as if platform()=LINUX throws an errorI really cannot describe the problems compared to v3.11. I'm using RC 2. Also documentation is at best sketchy especially on using win32lib

new topic     » topic index » view message » categorize

2. Re: Euphoria 4.0 appears to problematic

mcwong said...

I have used 3.11 for quite sometime and decided to try version 4. It appears to be very troublesome, probably because of the documentation where the sample codes do not work. Constants such as CONSOLE, KEYBOARD, as given in the sample throws out error msg. Even "namespace io" throws "errors resolving the following references". running on win XP, statements such as if platform()=LINUX throws an errorI really cannot describe the problems compared to v3.11. I'm using RC 2. Also documentation is at best sketchy especially on using win32lib

A lot of the default constants that were used in 3.11, have changed in 4.0. An example, being platform() is now deprecated for detecting which platform your on. Instead, use the ifdef ... elsifdef ... elsedef ... end ifdef for platform specific code. The reason for this, is to reduce the overhead code that has to be executed at runtime, as with the previous method of platform(), it was always ran each and every time a function or procedure with platform() in it was called. Where as with the ifdef system, it offsets the work of what platform() did to a single parse time execution, to determine what code to use.

CONSOLE and KEYBOARD I believe are old constants used for DOS programs, which I am not certain on. But we have dropped DOS Support for 4.0, and has been stated on the forum, that there are people looking for coders to renew development for DOS Support.

As for Win32lib. This is a separate project, that is not officially sponsored or supported by the developers of the Core Language. Any issues with Win32lib, need to be brought up with the development team working on it. Which currently, I don't know who is working on it. Sorry.

The documentation does need a lot of fixing up before final release, hopefully we'll be able to get clearer documentation out, so that people will be able to understand what is going on. Any documentation errors, or examples given in the documentation that don't work, please make sure to create a ticket for it. But do not refer to the 3.11 documentation for 4.0, as the 3.11 documentation is way out of date, and many new features, and functions have been added, as well as a major re-organization of the included standard library.

hth,

Mario

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

3. Re: Euphoria 4.0 appears to problematic

Stupid double posting. ~.

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

4. Re: Euphoria 4.0 appears to problematic

mcwong said...

I have used 3.11 for quite sometime and decided to try version 4. It appears to be very troublesome, probably because of the documentation where the sample codes do not work. Constants such as CONSOLE, KEYBOARD, as given in the sample throws out error msg.

I did not find examples of CONSOLE or KEYBOARD in our documentation. Can you point me to the examples where these two constants exist? I will fix them right away.

mcwong said...

Even "namespace io" throws "errors resolving the following references".

namespace io declares a new namespace, it does not use a namespace. You must use include std/io.e for that.

mcwong said...

running on win XP, statements such as if platform()=LINUX throws an error

All platform defines are defined in std/os.e. An example of doing what you are doing above is:

include std/os.e 
 
if platform() = LINUX then 
    printf(1, "I'm on Linux!\n") 
else 
    printf(1, "I'm not on Linux!\n") 
end if 

Or, a new 4.0 way (conditional complation) is to use ifdef:

ifdef LINUX then 
    printf(1, "I'm on Linux!\n") 
elsedef 
    printf(1, "I'm not on Linux!\n") 
end ifdef 
mcwong said...

I really cannot describe the problems compared to v3.11. I'm using RC 2. Also documentation is at best sketchy especially on using win32lib

I don't think that win32lib has ever been documented in the Euphoria docs. I know that Derek has recently said: "The current Win32lib (0,70,20, "13-Nov-2010"), which is available at Sourceforge, works with Eu 4, both interpreted and translated."

Are there other issues you are having with 4.0? These don't seem to be problems, just some changes. It has been an easier migration for those who have kept up w/4.0 development as it was going on but for those that have not we are creating a What's new in 4.0 document as we speak. It should be available in a few days.

Jeremy

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

5. Re: Euphoria 4.0 appears to problematic

Hi

mcwong said...

I have used 3.11 for quite sometime and decided to try version 4. It appears to be very troublesome, probably because of the documentation where the sample codes do not work.

Pleas let us know which of the sample programs do not work - frankly the input from people is vital for polishing up the documentation. Remeber, this is a totally voluntary effort, and the more 'proofreaders' there are, the better.

I find the win32lib documentation more than adequate, it sometimes takes a little effort to navigate, but all the info is there. If you have problems (as I have on many occasions), then you will find that posting a query on here is quicker than getting a response from an aol broadband call centre. ("Press start" "I use Linux" "Ok...press start")

Chris

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

6. Re: Euphoria 4.0 appears to problematic

mcwong said...

I have used 3.11 for quite sometime and decided to try version 4.

Thank you for trying it out.

mcwong said...

It appears to be very troublesome, probably because of the documentation where the sample codes do not work.

Can you please tell us which samples do not work? We need to fix those documentation errors.

mcwong said...

Constants such as CONSOLE, KEYBOARD, as given in the sample throws out error msg.

There are no examples in the V4 documentation that uses either of these symbols. Are you sure you are looking at version 4 samples and not version 3 samples?

mcwong said...

Even "namespace io" throws "errors resolving the following references".

What do you mean? Can you give me some sample code that does this? For example, the code below has this statement and does not give me any errors.

namespace io 
printf(1, "Hello word") 

Maybe you are misunderstanding what that statement means.

The "namespace" statement defines the default namespace for the current file, which can be used by other files that include the file containing the namespace statement.

Let's say I have the following file...

-- xyz.e -- 
namespace kkk 
public constant CONST = 1 


and another file ...

-- myapp.ex -- 
include xyz.e 
? kkk:CONST -- uses the default namespace defined inside xyz.e 
mcwong said...

running on win XP, statements such as if platform()=LINUX throws an error

While the platform() function is a built-in one, the LINUX symbol is not. And thus you need to include the file in which LINUX is defined. Your program needs the line ...

include std/os.e 
mcwong said...

I really cannot describe the problems compared to v3.11. I'm using RC 2.

Are you running DOS applications written for v3? These will not work as the DOS platform is no longer supported.

It would be very helpful of you if you could tell us what exactly is causing issues to appear. We cannot help fix things if we have to guess what your problems are. Can you show us error messages and the source code that goes with these messages?

mcwong said...

Also documentation is at best sketchy especially on using win32lib

What can't you find in the V4 documentation?

Also, Win32lib is not part of Euphoria. It is an independent library and has no connection with the development of Euphoria.

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

Search



Quick Links

User menu

Not signed in.

Misc Menu