Skip to content

Files

Latest commit

 

History

History
113 lines (91 loc) · 3.77 KB

VERSIONS.adoc

File metadata and controls

113 lines (91 loc) · 3.77 KB

Sfera versions history

Note: Version numbering after Semantic Versioning.

0.0.0

Initial development, from 2015-12-31 to 2016-01-14. Started from a simple boot file.

0.1.0+20160115

First usable version.

The main words are defined in the <boot_fs> file. Optional words are in Forth or binary files.

Main features

  • code, end-code, next, and other basic words to facilitate creating machine code definitions.

  • Set of standard address arithmetic words.

  • Set of header addresses words.

  • New operators and stack words.

  • Nestable include, included; non-nestable versions include-code and included-code for assembled binary files.

  • Nestable require, required; non-nestable versions require-code and required-code for assembled binary files.

  • Tool modules: dump, wdump, adump, decode (some fixes pending).

  • Floating point module updated with standard names, and some comus addons.

  • New parsing and compiling words, like postpone.

  • Basic initial support for standard strings.

  • Numeric prefixes: c#, h#, d#, b#.

  • Fixed two name clashes: char is renamed to chr@ and unused is renamed to spared. Standard char and unused are provided.

  • New string operators which work with ordinary counted strings (the SuperForth string operators work only with its own format, which include the maximum length).

  • Conditional compilation.

  • Standard endcase.

  • Words to facilitate reading the keyboard.

  • Words to facilitate managing the windows: set-window, window, set-main-window…​

  • boot reboots the Forth system.

  • Standard value (single-cell values only).

  • System information words: screen-size, get-mode, sys-vars, current-job-id.

0.1.1+20160115

  • Fix: Removed a missing old file loaded from <boot_fs>.

  • Change: Updated some file headers.

0.2.0+20160126

  • New: more system information words: machine , processor, display-type.

  • New: words to allocate memory from the OS common heap: aallocate, afree, aunused.

  • Change: screen-size is renamed to display-size.

  • New: standard deferred words: defer, defer!, defer@, defers, action-of, is.

  • Removed win-base-len, which still is a draft.

0.3.0+20160213

Main changes:

  • Improvement: included files don’t need end-of-file anymore.

  • New: 8 configurable paths for source files.

  • New: s" (finished), slit, sliteral, s+.

  • New: circular string buffer.

Other changes:

  • Improvement: one loader for every binary module, so all modules can be loaded with the standard words, no matter if they are coded in Forth or assembly.

  • New: al@, a variant of a2@ which puts the low part on top of stack.

  • Fix: the limit of nested sources is checked.

  • Change: files of aallocate and aunused are renamed, according to the convention representing Forth word names by their components, the way they are pronounced.

  • New: dp, align, move.

  • Change: uppercase expects an address and a length.

  • Change: Moved dump-address, allocate, save-mem and ?\ to their own files.

  • New: ?os-error.

  • Fix: set-default-channel.

  • New: bench_fs.

  • Fix: renaming of unused to spared.

  • New: ununderscore, a tool for renaming the original words of SuperForth.

0.3.1+20170909

  • Fix source corruption in the tuck module.