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]

Reply via email to