Annotation of gforth/NEWS, revision 1.10
1.9 anton 1: User-visible changes between 0.5.0 and 0.6.0:
2:
1.10 ! anton 3: added words: EDIT-LINE ID. .ID CONST-DOES> K-PRIOR K-NEXT K-DELETE
! 4: SLURP-FILE SLURP-FID WORDLIST-WORDS SIMPLE-SEE [DEFINED] [UNDEFINED]
! 5: PARSE-WORD S\" .\" \"-PARSE STR= STR< STRING-PREFIX? EXECUTE-PARSING
! 6: EXECUTE-PARSING-FILE F.RDP F>STR-RDP F>BUF-RDP
! 7:
! 8: Large file support on OSs that support them (i.e., files with more
! 9: than 2GB on 32-bit machines).
! 10:
! 11: Default dictionary size is now 4MB.
! 12:
! 13: vi tags files can be built with tags.fs (usage like etags.fs).
! 14:
! 15: gforth.el mostly rewritten.
! 16:
! 17: S": interpreted use now ALLOCATEs the string (they live until BYE).
1.9 anton 18:
19: Long word names (512MB on 32-bit systems) are now supported (change to
20: the header format).
21:
22: Generalized prims2x.fs into Vmgen (see README.vmgen etc.); used the
23: new capabilities in prims (e.g., automatic handling of the return
24: stack and instruction stream).
25:
26: New threaded code execution method: primitive-centric (allows the
27: following), hybrid direct/indirect threaded (easier portability),
28: with dynamic superinstructions (typical speedup on Athlon: factor
1.10 ! anton 29: 2). New engine gforth-itc for dealing with some potential
1.9 anton 30: backwards-compatibility problems (see "Invoking Gforth" in the
31: manual).
1.10 ! anton 32:
! 33: New image file format.
! 34:
1.9 anton 35:
1.8 anton 36: User-visible changes between 0.4.0 and 0.5.0:
37:
38: Changes in behaviour:
39:
40: There are now two engines: the fast engine (gforth-fast) is at least
41: as fast as gforth in earlier releases; the debugging engine (gforth)
42: supports precise backtracing for signals (e.g., illegal memory
43: access), but is slower by a factor of 1-2.
44: Block files now start at block 0 by default (instead of block 1). If
45: you have block files around, prepend 1024 bytes to convert them, or
46: do a "1 OFFSET !" to establish the old behaviour.
47: Gforth now does not translate newlines to LFs on reading. Instead,
48: READ-LINE now interprets LF, CR, and CRLF as newlines. Newlines on
49: output are in the OSs favourite format.
50: SEE now disassembles primitives (or hex-DUMPs the code if no
51: disassembler is available).
52: >HEAD (aka >NAME) now returns 0 (instead of the nt of ???) on failure.
53: Syntax of prim changed: stack effects are now surrounded by
54: parentheses, tabs are insignificant.
55:
56: Operating environment:
57:
58: Gforth now produces a backtrace when catching an exception.
59: On platforms supporting the Unix 98 SA_SIGINFO semantics, you get more
60: precise error reports for SIGSEGV and SIGFPE (e.g., "stack
61: underflow" instead of "Invalid memory address").
62: Gforth now produces exit code 1 if there is an error (i.e., an
63: uncaught THROW) in batch processing.
64: You can use "gforthmi --application ..." to build an image that
65: processes the whole command-line when invoked directly (instead of
66: through gforth -i).
67:
68: Ports:
69:
70: AIX.
71: 20% speedup on 604e under powerpc-unknown-linux-gnu,
72: 19%-29% speedup on Celeron with gcc-2.95.
73:
74: New words:
75:
76: Missing ANS Forth words: EKEY EKEY? EKEY>CHAR
77: Timing words: CPUTIME UTIME
78: Vector arithmetic: V* FAXPY
79: FP comparison: F~ABS F~REL
80: Deferred words: <IS> [IS]
81: Nested number output: <<# #>>
82: Exception handling: TRY RECOVER ENDTRY
83: Directory handling: OPEN-DIR READ-DIR CLOSE-DIR FILENAME-MATCH
84: Other: ]L PUSH-ORDER
85:
86: Miscellaneous:
87:
88: Significant extensions to the manual (added an introduction, among
89: other things), many of them due to a new team member: Neal Crook.
90: Added assemblers and disassemblers for 386, Alpha, MIPS (thanks to
91: contributions by Andrew McKewan, Bernd Thallner, and Christian
92: Pirker). Contributions of assemblers and disassemblers for other
93: architectures are welcome.
94:
95:
1.6 anton 96: User-visible changes between 0.3.0 and 0.4.0:
97:
98: Operating environment:
99:
100: Path handling: "." at the start of the path represents the directory
101: the nearest enclosing file resides in (if there is none: the working
102: directory). "~+" indicates the working directory. The default path
103: now has "." in front.
104: gforth and gforthmi is now more GNU standards compliant (wrt
105: command-line options).
106: New command-line-option: --die-on-signal
107: Errors are now directed to stderr.
108: Stdout is now unbuffered, if it is a tty.
109: User input device redirection (for filters) is now possible.
110:
111: Ports:
112:
113: Now runs on IRIX (and other MIPS-based systems without linker-flag -d).
114: Direct threading now works on PowerPC (20% speedup on 604e).
115: Better support for m68k (thanks to Andreas Schwab and Jorge Acereda).
116: It is possible to create executables that contain the image (for
117: non-OS systems).
1.7 pazsan 118:
119: Added a lot of embedded control (EC) stuff. Supported controllers and
120: small CPUs are Siemens C16x, 8086, 6502, Mixed-Mode's FPGA MISC, Bernd Paysan's
121: 4stack processor. Not finished: ShBoom alias PSC1000, H8, AVR.
1.6 anton 122:
123: New, changed, and removed words:
124:
125: Renamed F0 to FP0 (avoids unexpected behaviour in hex), added aliases
126: SP0, RP0, LP0 (recommended for future use) for S0, R0, L0.
127: Renamed PARSE-WORD into SWORD (PARSE-WORD is used with the meaning of
128: NAME in OpenBoot and dpans6 A.6.2.2008)
129: Added FPICK (suggested by Julian Noble).
130: Added EXCEPTION.
131: S" gforth" ENVIRONMENT? now produces the version-string.
132: Changed representation of types in struct package, and correspondingly
133: changed names.
134:
135: Miscellaneous:
136:
137: Plain text documentation is now available in doc/gforth.txt.
138: Documentation improvements.
139: Wordlist structure changed.
140: Added mini-oof.
141: Reorganized files: added directories and reorganized many files into
142: them; renamed files into 8.3 format to work with completely broken
143: systems (but there are again some files that won't work there).
144: Bug fixes.
145: Various changes without log information only known as mega-patches.
1.7 pazsan 146: Cross compiler now also supports compilation only for undefined or forward
147: referenced words. Plugins to support some native code generation
148: (for PSC1000).
1.6 anton 149: More files in the compat library.
150:
151:
152:
1.5 anton 153: User-visible changes between 0.2.1 and 0.3.0:
154:
155: Stack overflow detection by memory protection on most systems
156: (allocation with mmap).
157: gforth.fi is now fully relocatable.
158: fully relocatable images are now easier to create.
159: added primitives K and UNDER+.
160: Win32 support.
161: Improved support for embedded controllers and other deprived environments.
162: some bug fixes.
163: added concept index; other documentation improvements.
164:
1.6 anton 165:
166:
1.5 anton 167: User-visible changes between 0.2.0 and 0.2.1:
1.4 anton 168:
169: Bug fixes
170:
1.6 anton 171:
172:
1.5 anton 173: User-visible changes between 0.1beta and 0.2.0:
1.1 anton 174:
1.3 anton 175: Portability and Installation:
176:
1.1 anton 177: Support architectures with buggy long longs (alpha-dec-osf).
1.3 anton 178: Better support for DOS and other non-Unix systems.
1.1 anton 179: Size changes through the command line are passed to the image (and
180: saved with savesystem); the preamble specifies an interpreter and is
181: propagated by save-system.
1.3 anton 182:
183: Tools:
184:
185: Improved etags support.
186: more.fs allows output paging.
187: Added compat/ directory containing ANS implementations of Gforth features.
188: Added tiny multitasker (tasker.fs).
189: Added two alternatives for object-oriented programming: oof.fs, objects.fs.
190: Added ans-report.fs (reports which words are used from which wordset).
191:
192: New words:
193:
194: Changed POPEN and PCLOSE to OPEN-PIPE and CLOSE-PIPE.
195: Added FORM, ROWS, and COLS.
196: added primitives EMIT-FILE, STDOUT, STDERR.
197: Added TABLEs (case-sensitive wordlists).
198: added POSTPONE,.
199: Added the ability to combine arbitrary interpretation and compilation
200: semantics (INTERPRET/COMPILE:); state-smart words were generally
201: rewritten to use that mechanism.
202:
203: Changes to existing words:
204:
205: EMIT and TYPE now work through file words (and are redirectable).
1.1 anton 206: HEADER now stores the compilation wordlist in the header and REVEAL
207: reveals into that wordlist.
1.3 anton 208: changed behaviour of SYSTEM (no longer returns wretval, but puts it in
209: $?) added (SYSTEM) ( c_addr u -- wretval wior ).
1.1 anton 210: ' and ['] now give an error for compile-only words.
1.3 anton 211:
1.6 anton 212:
213: % Local Variables:
214: % fill-prefix: " "
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>