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

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu