version 1.27, 2007/12/31 18:40:23
|
version 1.29, 2008/07/16 19:59:28
|
Line 1
|
Line 1
|
|
|
|
|
User-visible changes between 0.6.2 and 0.6.9 (up to 2007-09-12): |
User-visible changes between 0.6.2 and 0.6.9 (up to 2008-07-16): |
|
|
|
Requirements: |
|
At run-time requires libtool and gcc (for libcc C interface) and |
|
gdb (for disassembler (SEE) on some platforms). |
Installation: |
Installation: |
support for DESTDIR, POST_INSTALL, INSTALL_SCRIPT |
support for DESTDIR, POST_INSTALL, INSTALL_SCRIPT |
report performance and functionality problems at end of "make" |
automatic performance tuning on building (--enable-force-reg unnecessary) |
|
report performance and functionality problems at end of "make" |
|
autogen.sh now exists |
|
License: |
|
Changed to GPLv3 |
Bug fixes |
Bug fixes |
Now works with address-space randomization. |
Now works with address-space randomization. |
The single-step debugger works again in some engines. |
The single-step debugger works again in some engines. |
Line 12 Bug fixes
|
Line 19 Bug fixes
|
Ports: |
Ports: |
AMD64, ARM, IA-64 (Itanium): better performance |
AMD64, ARM, IA-64 (Itanium): better performance |
PPC: disassembler and assembler (32-bit) |
PPC: disassembler and assembler (32-bit) |
Gforth EC: R8C, Lego NXT (complete?) |
Gforth EC: R8C, Lego NXT (not distributed; complete?) |
|
MacOS X: better support |
Invocation: |
Invocation: |
New flags --ignore-async-signals, --vm-commit (default overcommit) |
New flags --ignore-async-signals, --vm-commit (default overcommit) |
|
--print-sequences |
Forth 200x: |
Forth 200x: |
extension queries (produce true for all implemented extensions) |
extension queries (produce true for all implemented extensions) |
REQUIRED etc. (not new) |
REQUIRED etc. (not new) |
Line 23 Forth 200x:
|
Line 32 Forth 200x:
|
deferred words (new: DEFER@ DEFER! ACTION-OF) |
deferred words (new: DEFER@ DEFER! ACTION-OF) |
X:structures: +FIELD FIELD: FFIELD: CFIELD: etc. |
X:structures: +FIELD FIELD: FFIELD: CFIELD: etc. |
X:ekeys: new: EKEY>FKEY K-SHIFT-MASK K-CTRL-MASK K-ALT-MASK K-F1...K-F12 |
X:ekeys: new: EKEY>FKEY K-SHIFT-MASK K-CTRL-MASK K-ALT-MASK K-F1...K-F12 |
Unicode support (incomplete, documentation probably not up-to-date): |
Unicode support (currently supports only uniform encoding): |
added xchars words for dealing with variable-width multi-byte characters |
added xchars words for dealing with variable-width multi-byte characters |
provide 8bit (ISO Latin 1) and UTF-8 support for xchars |
provide 8bit (ISO Latin 1) and UTF-8 support for xchars |
Number prefixes: |
Number prefixes: |
Line 33 Number prefixes:
|
Line 42 Number prefixes:
|
' now only handles a single (x)char: 'ab is no longer accepted, |
' now only handles a single (x)char: 'ab is no longer accepted, |
'a' now produces (decimal) 97 |
'a' now produces (decimal) 97 |
New words: |
New words: |
\C C-FUNCTION (libcc C interface) |
\C C-FUNCTION C-LIBRARY END-C-LIBRARY C-LIBRARY-NAME (libcc C interface) |
|
LIB-ERROR (complements OPEN-LIB) |
OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state) |
OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state) |
16-bit and 32-bit memory acces: UW@ UL@ SW@ SL@ W! L! W@ L@ /W /L |
16-bit and 32-bit memory acces: UW@ UL@ SW@ SL@ W! L! W@ L@ /W /L |
NEXT-ARG SHIFT-ARGS (OS command-line argument processing) |
NEXT-ARG SHIFT-ARGS (OS command-line argument processing) |
Line 43 New words:
|
Line 53 New words:
|
Improvements/changes of existing words: |
Improvements/changes of existing words: |
S\", .\" now support \l, \m, \z, and limits hex and octal character specs. |
S\", .\" now support \l, \m, \z, and limits hex and octal character specs. |
OPEN-FILE with W/O no longer creates or truncates files (no compat. file) |
OPEN-FILE with W/O no longer creates or truncates files (no compat. file) |
|
OPEN-LIB now understands ~ at the start, like OPEN-FILE. |
TRY...ENDTRY changed significantly, compatibility files available (see docs). |
TRY...ENDTRY changed significantly, compatibility files available (see docs). |
The disassembler (DISCODE) can now use gdb to disassemble code |
The disassembler (DISCODE) can now use gdb to disassemble code |
Uninitialized defered words now give a warning when executed |
Uninitialized defered words now give a warning when executed |
Line 58 Newly documented words:
|
Line 69 Newly documented words:
|
Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends) |
Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends) |
C interface: |
C interface: |
exported symbols now start with "gforth_" (for referencing them from C code) |
exported symbols now start with "gforth_" (for referencing them from C code) |
support for use of libffi (supplied with gcc) (undocumented) and |
libcc C function call interface (requires libtool and gcc at run-time) |
a C-compiler-based approach (requires C compiler at run-time) (incomplete). |
alternative: undocumented libffi-based interface |
Libraries: |
Libraries: |
depth-changes.fs: report stack depth changes during interpretation |
depth-changes.fs: report stack depth changes during interpretation |
ans-report.fs now reports CfV extensions |
ans-report.fs now reports CfV extensions |
Line 77 Libraries:
|
Line 88 Libraries:
|
compat library: |
compat library: |
compat/execute-parsing.fs |
compat/execute-parsing.fs |
Speed improvements: |
Speed improvements: |
|
automatic performance tuning on building |
static stack caching (good speedup on PPC) |
static stack caching (good speedup on PPC) |
mixed-precision division is now faster |
mixed-precision division is now faster |
support for int128 types on AMD64 |
support for int128 types on AMD64 |