1. Euphoria 4.0 appears to problematic
- Posted by mcwong Dec 12, 2010
- 1383 views
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
2. Re: Euphoria 4.0 appears to problematic
- Posted by eumario Dec 12, 2010
- 1335 views
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
3. Re: Euphoria 4.0 appears to problematic
- Posted by eumario Dec 12, 2010
- 1343 views
Stupid double posting. ~.
4. Re: Euphoria 4.0 appears to problematic
- Posted by jeremy (admin) Dec 12, 2010
- 1371 views
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.
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.
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
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
5. Re: Euphoria 4.0 appears to problematic
- Posted by ChrisB (moderator) Dec 12, 2010
- 1360 views
Hi
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
6. Re: Euphoria 4.0 appears to problematic
- Posted by DerekParnell (admin) Dec 12, 2010
- 1348 views
I have used 3.11 for quite sometime and decided to try version 4.
Thank you for trying it out.
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.
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?
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
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
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?
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.