home *** CD-ROM | disk | FTP | other *** search
- ---------------------------
- Euphoria Version 1.5
- March 21, 1997
- Release Notes
- ---------------------------
-
- Version 1.5 Official Release:
-
- * In addition to handling sequences of characters, the library routines
- upper() and lower() now handle atoms and arbitrarily-complex sequences
- (and they've been shrunk to just ONE line of code each).
-
- * Performance improvement: hex constants in the range #2000000 to #3FFFFFFF,
- and decimal constants in the range 1000000000 to 1073741823 were being
- stored internally as floating-point numbers. They are now stored as machine
- integers to save space and time.
-
- * Some further improvements were made to the documentation.
-
-
- Version 1.5 beta-2, March 1997:
-
- * The following library routines have been added. They are described fully
- in library.doc.
-
- allow_break - lets you prevent control-c/control-break from terminating
- your program
-
- check_break - lets you detect that control-c/control-break has been
- pressed
-
- mem_copy - fast routine for copying a block of memory
-
- mem_set - fast routine for setting a block of memory to a value
-
- atom_to_float32 - convert an atom to 32-bit IEEE floating-point format
-
- atom_to_float64 - convert an atom to 64-bit IEEE floating-point format
-
- float32_to_atom - convert from 32-bit IEEE format to an atom
-
- float64_to_atom - convert from 64-bit IEEE format to an atom
-
- get_all_palette - get the palette values for all colors
-
- save_bitmap - create a .BMP file, given a palette and a 2-d sequence
- of sequences of any size
-
- * The editor, ed, will no longer terminate when control-c/control-break are
- pressed.
-
- * The accuracy of the time-profiler was improved significantly.
-
- * The documentation was clarified in many places.
-
- * "Bucket sort" was added to allsorts.ex.
-
- * without warning / with warning was removed from image.e. It could interfere
- with your own use of "without warning".
-
- * BUG FIXED: A bug was fixed in the ex.exe storage allocator. It could, in
- very rare situations, cause a program to crash.
-
-
- Version 1.5 beta-1, February, 1997:
-
- * The following library routines have been added. They are described fully
- in library.doc.
-
- save_screen - saves all or part of the screen as a .BMP file
-
- arctan - arctangent
-
- and_bits - bitwise AND
- or_bits - bitwise OR
- xor_bits - bitwise XOR
- not_bits - bitwise NOT
-
- get_vector - get address of current interrupt handler
- set_vector - set new address for interrupt handler
- lock_memory - lock a region of memory so it can't be swapped out
-
- * A demo program has been added that shows how to redirect a hardware
- interrupt to your own machine-code handler. See demo\hardint.ex
-
- * The trace screen is updated much faster in graphics modes. Also, in modes
- that can only show 40 characters or less of text per line, the line number
- has been dropped so there's more room to display your source code.
-
- * Registration information has been moved to a new directory called REGISTER.
- The program HOW2REG.EX will assist you in choosing the most convenient
- way to register or upgrade. It can even make an order form for you.
-
- * Help text displayed in ed is now shown in a new edit window, so you can
- continue to view your program while reading the help text.
-
- * A customizable command (F12) has been added to ed. It's set up to
- comment-out the current line, but you can easily change it to perform
- any series of keystrokes. See ed.doc.
-
- * Euphoria will switch to a clear, text-mode screen before printing
- your "crash message" - see crash_message().
-
- * Some extra optimizations have been added. Many programs now run a few
- percent faster, particularly on Pentium systems.
-
- * Warnings about "the value assigned to variable x is not used" have been
- eliminated. They were almost always just a nuisance, and did not
- indicate a real problem. You will still be warned about variables or
- constants that you declare but never use.
-
- * The "Press Enter" prompt that would sometimes appear after an error has
- been eliminated.
-
- * The time profiling feature has been improved since the alpha release.
- It now requires less memory. If you got a "subprogram is too large"
- error, try again, it will probably work now.
-
- * install.ex now handles the case of no autoexec.bat file, or no
- PATH command in autoexec.bat, and gives a better warning if you
- try to run install.ex again after you've already installed.
-
- * BUG FIXED: The line number information on a run-time error trace-back
- was often incorrect for programs larger than about 5000 statements.
- The time profile for such a program could also show incorrect values.
-
- * BUG FIXED: bind would fail when the last line of a file was lacking
- a \n character. (with ed or MS-DOS edit this can't happen, but it can
- with some other editors)
-
- * BUG FIXED: bind ..\..\myprog would fail to automatically add the
- ".ex" suffix to myprog
-
- * BUG FIXED: characters greater than 127 inside a double-quoted string
- had 2's complement negative values (they would still print ok).
- Inside a single-quoted constant they were positive as they should be.
-
- * BUG FIXED: During tracing, pokes to the screen would display characters
- immediately on the trace screen, instead of the main output screen.
- Similarly, peeks would read from the trace screen instead of from the
- main screen.
-
-
- Version 1.5 alpha, December 1996:
-
- * You can now get accurate time profiles, in addition to the statement-count
- profiles that were previously available. Use: with profile_time
-
- * You can use tick_rate() to control the rate at which clock-tick
- interrupts occur on your system while your program is running.
- This lets you improve the precision of the time() routine, as well as
- giving you more accurate time profiles.
-
- * ex.exe now uses 4 bytes less memory for each floating-point number and
- 4 bytes less memory for each sequence. e.g. a value such as: {1.3, -8.9}
- would require 12 bytes less memory.
-
- * The "Viper" video card is now better supported for SVGA modes.
-
- * display_image() and save_image() have been sped up by about 5 to 10
- percent.
-
- * BUG FIXED: ex.exe might crash when a variable was initialized with
- extremely large amounts of data at the top-level of a program.
-
-
- Version 1.4b, October 1996:
-
- * mset.ex has a more visible selector box on it's grid. It has also been
- sped up by having it write out an entire row of pixels with each call
- to pixel().
-
- * ed.ex now allows special characters greater than ASCII 127 to be entered by
- pressing the ALT key and typing digits on the numeric keypad.
-
- * ed will now display the error message and line of error even if the
- offending file was included using a filename extension of ".E" rather than
- the standard ".e".
-
- * eprint.ex now resets the printer back to normal after printing in
- condensed mode.
-
- * BUG FIXED: Assignment statements of the form: s[a..b] = i
- where i has an integer value, were performed correctly but with
- a side-effect that could cause the program to crash later on.
-
- * BUG FIXED: poke(a, s) where s is a sequence containing some non-integer
- values, was failing to convert floating-point values to integers and was not
- complaining about sequence values contained in s.
-
- * BUG FIXED: In some cases bind.ex was not automatically adding ".ex" to the
- file name when you tried to bind a program that was not in the current
- directory.
-
-
- Version 1.4a, July 1996:
-
- * crash_message() library routine added to machine.e. See library.doc.
-
- * Programs bound by registered users will now produce run-time error
- diagnostics regardless of the size of the program.
-
- * Extra information was added to the documentation regarding:
- - system()
- - abort()
- - get_mouse()
- - installing Euphoria when there isn't much memory available
- - binding and shrouding
-
- * shroud.bat has a new option "-full_keywords" to let you shroud a program
- but not reduce keywords to a single-byte. This can help you to decipher
- ex.err dumps generated against bound or shrouded code.
-
- * Several other very minor improvements were made in the documentation and
- example programs.
-
- * BUG FIXED: If you selected both "with profile" and "with trace" then the
- "last 25 lines executed" portion of ex.err would not appear.
-
- * BUG FIXED: A couple of minor bugs were fixed in bind.ex.
-
-
- Highlights of Previous Releases:
-
- Version 1.4, May 1996:
-
- * You can now convert any Euphoria program into a stand-alone .exe file.
-
- * The separate DOS4GW.EXE DOS extender file has been eliminated.
-
- * Windows 95 long filename support
-
- * DOS software interrupts
-
- * New utility programs: key.ex, where.ex, ascii.ex, guru.ex
-
- * New demo program: dosint.ex
-
- * New library routines: set_rand(), use_vesa()
-
- * You can peek or poke an entire sequence of bytes
-
- * Editor enhancements
-
- * Reduction in space overhead for sequences
-
-
- Version 1.3, June 1995:
-
- * You can now edit multiple files using multiple edit windows.
-
- * 20 new library routines were added
-
- * Graphics performance was greatly improved.
-
-
- Version 1.2, March 1994:
-
- * A problem that prevented Euphoria from running in a DOS prompt under
- Windows was eliminated.
-
-
- Version 1.1, January 1994:
-
- * Several language features and demo programs were added.
-
-
- Version 1.0, July 1993:
-
- * Euphoria was first released after 3 years of research and development
- and 6 months of Beta testing. Many of the ideas behind Euphoria came
- from Robert Craig's Master's Thesis in Computer Science at the University
- of Toronto. That thesis was strongly influenced by the work of John Backus
- on functional programming (FP) languages.
-
-