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