Anton Ertl wrote: > You can find the latest snapshot on > http://www.complang.tuwien.ac.at/forth/gforth/Snapshots/gforth-0.6.9-20080716.tar.gz > > It has not had much portability testing. > > 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: > support for DESTDIR, POST_INSTALL, INSTALL_SCRIPT > 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 > Now works with address-space randomization. > The single-step debugger works again in some engines. > Many others. > Ports: > AMD64, ARM, IA-64 (Itanium): better performance > PPC: disassembler and assembler (32-bit) > Gforth EC: R8C, Lego NXT (not distributed; complete?) > MacOS X: better support > Invocation: > New flags --ignore-async-signals, --vm-commit (default overcommit) > --print-sequences > Forth 200x: > extension queries (produce true for all implemented extensions) > REQUIRED etc. (not new) > [DEFINED] and [UNDEFINED] > PARSE-NAME (new name) > deferred words (new: DEFER@ DEFER! ACTION-OF) > 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 > Unicode support (currently supports only uniform encoding): > added xchars words for dealing with variable-width multi-byte characters > provide 8bit (ISO Latin 1) and UTF-8 support for xchars > Number prefixes: > 0x is a hex prefix: 0xff and 0XfF now produces (decimal) 255 > # is a decimal prefix: #10 now produces (decimal) 10 > Signs after the number prefix are now accepted, e.g, #-50. > ' now only handles a single (x)char: 'ab is no longer accepted, > 'a' now produces (decimal) 97 > New words: > \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) > 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) > NOTHROW (for backtrace control) > FTRUNC FMOD (undocumented) > SEE-CODE SEE-CODE-RANGE (show generated dynamic native code) > Improvements/changes of existing words: > 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-LIB now understands ~ at the start, like OPEN-FILE. > TRY...ENDTRY changed significantly, compatibility files available (see docs). > The disassembler (DISCODE) can now use gdb to disassemble code > Uninitialized defered words now give a warning when executed > Division is floored (disable with "configure --enable-force-cdiv") > Gforth (not gforth-fast) reports division by zero and overflow on division > on all platforms. > Newly documented words: > S>NUMBER? S>UNUMBER? > EKEY keypress names: K-LEFT K-RIGHT K-UP K-DOWN K-HOME K-END K-PRIOR > K-NEXT K-INSERT K-DELETE > CLEARSTACKS > FORM > Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends) > C interface: > exported symbols now start with "gforth_" (for referencing them from C code) > libcc C function call interface (requires libtool and gcc at run-time) > alternative: undocumented libffi-based interface > Libraries: > depth-changes.fs: report stack depth changes during interpretation > ans-report.fs now reports CfV extensions > fsl-util.4th: FSL support files (undocumented) > regexp.fs for regular expressions (undocumented) > complex.fs for complex numbers (undocumented) > fft.fs for Fast Fourier Transform (undocumented) > wf.fs, a Wiki implementation (undocumented) > httpd.fs, a web server (undocumented) > status.fs, show interpreter status in separate xterm (undocumented) > profile.fs for profiling (undocumented, incomplete) > endtry-iferror.fs, recover-endtry.fs to ease the TRY change transition > test/tester.fs: Now works with FP numbers (undocumented) > test/ttester.fs: Version of tester.fs with improved interface (T{...}T). > compat library: > compat/execute-parsing.fs > Speed improvements: > automatic performance tuning on building > static stack caching (good speedup on PPC) > mixed-precision division is now faster > support for int128 types on AMD64 > workarounds for gcc performance bugs (in particular, PR 15242) > branch target alignment (good speedup on Alpha). > > - anton > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
1. "autogen.sh" is missing: [EMAIL PROTECTED] ~/gforth/gforth-0.6.9-20080716 $ ./BUILD-FROM-SCRATCH ./BUILD-FROM-SCRATCH: line 28: ./autogen.sh: No such file or directory 2. Benchmark results (Athlon64 X2 2.2 GHz, Gentoo Linux 2.6.26, gcc 4.3.1): [EMAIL PROTECTED] ~/gforth/gforth-0.6.9-20080716 $ make bench Each benchmark takes about 30s on a 486-66 (gcc-2.6.3 -DFORCE_REG) time ./gforth-fast --die-on-signal -p ".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.6.9-20080716:/usr/local/share/gforth/0.6.9-20080716:." siev.fs -e "main bye" real 0m0.257s user 0m0.239s sys 0m0.004s time ./gforth-fast --die-on-signal -p ".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.6.9-20080716:/usr/local/share/gforth/0.6.9-20080716:." bubble.fs -e "main bye" redefined cell redefined list real 0m0.291s user 0m0.266s sys 0m0.004s time ./gforth-fast --die-on-signal -p ".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.6.9-20080716:/usr/local/share/gforth/0.6.9-20080716:." matrix.fs -e "main bye" real 0m0.135s user 0m0.119s sys 0m0.004s time ./gforth-fast --die-on-signal -p ".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.6.9-20080716:/usr/local/share/gforth/0.6.9-20080716:." fib.fs -e "main bye" real 0m0.378s user 0m0.349s sys 0m0.005s [EMAIL PROTECTED] ~/gforth/gforth-0.6.9-20080716 $ 3. How difficult would it be to make a gforth with a 64-bit cell size that would run on machines with a 64-bit (virtual) address space? There are enough of them out there (alpha, x86_64, Itanium, sparc, ppc, "Cell") that I think it's worth doing. -- M. Edward (Ed) Borasky "A mathematician is a machine for turning coffee into theorems." -- Alfréd Rényi via Paul Erdős text/x-vcard attachment (znmeb.vcf) "A mathematician is a machine for turning coffee into theorems." -- Alfréd Rényi via Paul Erdős --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]