~crc_/retroforth

ref: 5d9c9f1ad3ad64fe312798aff34bb642ad4c8d19 retroforth/RELEASE-NOTES -rw-r--r-- 2.5 KiB
5d9c9f1a — crc update references to old s:split in retro-describe 3 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# RetroForth 2021.7 (In-Progress) Release Notes

## Core Language

## Major Changes

- address 5 is now a pointer to `interpret`
- address 6 is now a pointor to `err:notfound`
- address 7 now points to TIB
- address 8 points to end of TIB

## Added

- `c:get`
- `s:get`
- `listen`
- `bye`
- `Base`
- `decimal`
- `hex`
- `octal`
- `binary`
- `forever`
- `pack`
- `unpack`
- `b:to-byte-address`
- `b:fetch`
- `b:store`

## Renamed

- `s:split/string` replaces `s:split-on-string`
- `s:split/char` replaces `s:split`
- `s:contains/char?` replaces `s:contains-char?`
- `s:contains/string?` replaces `s:contains-string?`
- `a:contains/string?` replaces `a:contains-string?`
- `a:index` replaces `a:index-of`
- `a:index/string` replaces `a:index-of-string`
- `s:index/char` replaces `s:index-of`
- `s:index/string` replaces `s:index-of-string`

## Deprecated

- `s:split-on-string`
- `s:split`
- `s:contains-char?`
- `s:contains-string?`
- `a:contains-string?`
- `a:index-of`
- `a:index-of-string`
- `s:index-of`
- `s:index-of-string`

## Hooks

- `d:create` is now a hook
- `sigil::` is now a hook

## Performance

- use inline assembly for `n:inc` and `n:dec`

## I/O

- floating point

  - increased precision of `f:E` and `f:PI` (Kiyoshi)

- retro-unix

  - fixed reporting of free, used memory on startup banner

## Toolchain

- fixed a bug in retro-document causing it to exclude sigils

## VM

- all

  - no longer hard code TIB address (pull from image instead)

- nga-c

  - retro.c no longer does dictionary searches to find
    needed resources in image
  - shift instruction no longer using an unneeded multiply
    (Arland Childers)
  - retro-repl.c now uses an external image
  - removed barebones.c (overlaps w/new retro-repl.c)
  - retro-runtime.c now based on standard retro.c
  - changed behavior of -t command line argument (Rick)
  - fixed a bug in `script:current-line`

- nga-c (non-libc)

  - updated to base on latest repl
  - now supports openbsd/amd64

- nga-cxx

  - initial implmemtation from Arland Childers

- nga-nim

  - fix bug in VM_SH
  - minor formatting adjustments
  - start work to report some errors

## Examples

- add archive, archive-info, archive-extract
- add delete-file
- variables-and-formulas now in UTF8 (Marcus Antonius)

## Documentation

- removed references to old command line arguments
- removed reference to the no longer existing "ok" prompt
- add a note that mentions that Retro does not display a prompt
- fixed typos (rick_carlino)
- clarifications around device terminology

## Testing

- add small test images for each instruction