36c8929528
FossilOrigin-Name: acf3c516f8be44c3ed67e7bb6bb260272d1a4adea9509e1e946a4f1964d9668b
106 lines
2.6 KiB
Text
106 lines
2.6 KiB
Text
# RETRO 2019.10
|
|
|
|
This is a worthwhile release, bringing changes and improvements
|
|
in several areas.
|
|
|
|
## 64-Bit
|
|
|
|
RETRO has been 32-bit only since the days of RETRO2 apart from
|
|
some limited experiments with RETRO11. I'm pleased to say that
|
|
this release of RETRO12 adds support for building a system with
|
|
64-bit cells.
|
|
|
|
This carries the same limitations regarding instruction packing,
|
|
addressing, etc as the standard 32-bit system, and is not built
|
|
by default. If you want to build a 64-bit system, do:
|
|
|
|
make clean; make CFLAGS="-O2 -DBIT64"
|
|
|
|
## Compatibility
|
|
|
|
There are a few small breaks in compatibility.
|
|
|
|
`unix:time` was removed. There is some discussion ongoing about
|
|
this, but leaving it in would be problematic on 32-bit systems
|
|
in a couple of years when the counter overflows. For now, I have
|
|
added `clock:timestamp`, but the value of the epoch this uses
|
|
may change in the future.
|
|
|
|
The time functions in the `clock:` namespace are now part of
|
|
their own I/O device. This aids in allowing them to be enabled
|
|
on a VM that disables the Unix system interface. In this release
|
|
the time functions remain accessible via the Unix device, but
|
|
this will be dropped in the next release.
|
|
|
|
## User Interface
|
|
|
|
The 'ok' prompt has been removed.
|
|
|
|
----
|
|
|
|
# Detailed Changelog
|
|
|
|
Examples
|
|
|
|
- use a `.retro` extension instead of `.forth`
|
|
- add `Gott.retro`
|
|
- add `wordwrap.retro`
|
|
- add `reforth.retro`
|
|
- add an example showing how to generate an
|
|
array of namespaces
|
|
- fixed content type header in Casket
|
|
- add irc-bot.retro
|
|
|
|
retro-unix
|
|
|
|
- deprecate unix:io:n:put
|
|
- deprecate unix:io:s:put
|
|
- deprecate unix:write
|
|
- remove unix:time
|
|
- add clock:timestamp
|
|
- move clock: words to their own device handler
|
|
- move rng to its own device handler
|
|
- fix unix:getcwd
|
|
- fixes to f:to-e and e:to-f
|
|
- better output on stack under/overflow errors
|
|
- add guards for floating point stack over/underflow
|
|
- fix an issue w/loading images
|
|
- moved xorshift and mersenne rng to examples
|
|
|
|
retro-compiler
|
|
|
|
- add new clock, rng devices to runtime
|
|
|
|
retro-javascript
|
|
|
|
- new interface layout
|
|
|
|
Documentation
|
|
|
|
- fix typos
|
|
- fix stack comments in the glossary
|
|
- fix some namespace listings in the glossary
|
|
- correct an example in the book
|
|
- formatting improvements in html for glossary server
|
|
|
|
Kernel
|
|
|
|
- fix assembly listing in rx.muri
|
|
- remove an unused function
|
|
- several clarifications to commentary
|
|
|
|
Tooling
|
|
|
|
- use Luke's proposed changes in retro-muri (C)
|
|
- add retro-tags
|
|
- add a tool to export rx.muri as html for better
|
|
reabability
|
|
|
|
Build
|
|
|
|
- fix a dependency issue with the .retro sources
|
|
- fix the retro/javascript build tool
|
|
|
|
VM
|
|
|
|
- added new queries for cell min/max values
|