1. Beta Release
I just uploaded Euphoria 2.0 *beta* to the
Euphoria Web site at:
http://members.aol.com/FilesEu/
The Web site content is not completely updated yet
to reflect the beta release. That will be done tomorrow.
Registered users of 2.0 alpha should send e-mail
to rds at msn.com to get the Complete Edition
download instructions. The Complete Edition for
2.0 beta will be ready sometime tomorrow.
Here's a list of what's new, ignoring bug fixes:
---------------------------
Euphoria Version 2.0 (beta)
February 26, 1998
Release Notes
---------------------------
* The WIN32 interpreter, exw.exe, is now a true WIN32 GUI
program. In 2.0 alpha it was a WIN32 "console" program that
was always associated with a "console" or DOS-window.
A DOS-style console window will now be created only if your
program needs one. exw will automatically create a new console
window the first time your program writes to the screen, reads
from the keyboard, or calls any library routine that requires a
console to work. The console will disappear automatically when
your program finishes execution.
* A new library routine, free_console(), will immediately delete the
console window if you currently have one.
* The Complete Edition of Euphoria now provides a -scramble
option of bind and shroud to improve the security of programs
that you distribute.
* You can now pass Euphoria atoms to C routines as 64-bit C
double type floating-point arguments, and you can receive a
floating-point result back from a C function.
* exw.exe (beta) runs 10 to 15% faster than exw.exe (alpha)
(based on sieve.ex, shell.ex, etc.). The WATCOM C compiler
was doing a bad job of optimizing a critical section of the
interpreter when building exw, but was producing excellent code
when building ex.exe. With some trivial changes to the interpreter
C code, WATCOM now produces excellent code for both
platforms.
* The average program now has 60K more memory available
before having to use the swap file.
* The limit on the size of a single procedure, function or type has
been eliminated.
* The limit on the size of a single top-level statement has been
eliminated.
* The limit on the total number of include files that can make up a
program has been increased to 256 from 150.
* Some optimizations were added. The following general forms
of expression are now faster:
2 * x
x * 2
1 + x
where x can be any expression, and have type atom or
sequence
* There is a new documentation file, PERFORM.DOC with lots of
tips for performance-obsessed programmers.
* If you call a C routine using c_func(), but you linked the C routine
using define_c_proc() you will get an error message. Similarly, if
you call it using c_proc(), but you linked it using define_c_func()
you'll get an error message. This restriction was documented,
but not actually enforced in 2.0 alpha. Some programs written
for the alpha release will have to be corrected.
* You will now see the actual name of the C or Euphoria routine
that you were attempting to call, when you get an error message
from call_proc, call_func, c_proc, or c_func.
* A new -clear_routines option of bind and shroud will leave the
names of all routines unshrouded. This is necessary if your
program calls routine_id(). You'll be warned if you use
routine_id() and do not choose this option. (Registered users
can use -scramble together with -clear_routines to restore a
high level of shrouding.)
* If a name conflict arises with a global symbol, the shrouder
will now warn you, and then choose a new name. It used to
abort with a message.
* It is no longer possible to trace or profile shrouded code.
* A new demo program, hash.ex, was added to euphoria\demo.
* freq.ex was moved from euphoria\bin to euphoria\demo and
renamed as tree.ex
* A new documentation file, BIND.DOC describes all the features
of bind.bat and shroud.bat. The previous description in
REFMAN.DOC has been shrunk.
* The file, OVERVIEW.DOC gives a quick overview of all
documentation files.
* The description of get_mouse() in library.doc discusses the
problem of 320-wide graphics modes (you must divide the x
coordinate value by 2).
* Minor improvements were made to ed.ex, several of the
demo programs, and many documentation files.
Regards,
Rob Craig
Rapid Deployment Software