-
Notifications
You must be signed in to change notification settings - Fork 8
/
CHANGELOG-OLD
160 lines (84 loc) · 3.55 KB
/
CHANGELOG-OLD
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
See CHANGELOG.md for newer versions.
0.15:
* Updated for Shen 20.0.
0.14:
* Support for Gauche Scheme.
* Statically resolve nesting for dynamic function calls.
* Slightly better equality check.
* Remove unnecessary `assert-boolean` calls when compilation.
* Overwrites are now generated from a .shen file.
* `scm.` prefix not needed anymore in the Scheme side.
* Better performance overall.
0.13:
* Updated for Shen 19.2.
* Add extra functions for stream position handling, opening files in append mode, exiting a process with specific exit codes and accessing the standard error stream.
0.12.2:
* Updated for Shen 19.1.
0.12.1:
* Fix shen.lookup-func override.
0.12:
* Updated for Shen 18.1.
* Removed custom version of shen-sources, not needed anymore.
* Optimised function lookup.
0.11.3:
* Include Shen 17.3 changes.
0.11.2:
* Include a few missing Shen 17.2 changes.
0.11.1:
* Include Shen 17.2 fixes.
0.11:
* Add `scm.import-from-module` function to import bindings from Scheme modules into Shen's environment.
0.10.1:
* Fix for print vectors so that no symbol disambiguation is needed.
0.10:
* Update for Shen 17.
* Better handling of paths and current directory.
* Scheme functions are now available with the `scm.` prefix.
* Replaced `$native` form with `scm.` form that takes a string of Scheme code that will not be processed.
* Support for running scripts from the command line without launching a REPL.
* Fixed optimised version of shen.grammar_symbol? (was broken for namespaced symbols)
* Removed overwrites for `macroexpand` and `walk`.
* Removed unused `segvar?` overwrite.
* Removed internal function registry and support for symbol disambiguation on function application.
* Explicit BSD licence everywhere.
0.9:
* Optimise out unnecessary wrapper lambdas.
* Optimise equality checks.
* Slightly better trap-error and error messages.
* Function overwrites are now handled when precompiling instead of startup.
* Internal code reorganization and simplification.
0.8
* Works with Shen 16.
* Updated for chibi-scheme 0.7.
* Fixes issue with functions that partially apply themselves.
* Add optimised 'shen.pvar?' overwrite. Makes prolog and typechecking considerably faster.
* Add a fast-path for the common case of trap-error
* Shen sources are precompiled now instead of being compiled on the fly on startup, this provides better startup times.
0.7
* Works with Shen 15.
0.6
* Works with Shen 13.
* Update the 'open' procedure.
* Add 'write-byte' procedure.
* Remove 'pr' procedure.
0.5
* Works with Shen 9
* Support for $native expressions.
0.4
* Switched to curry-on-demand strategy for partial function applications. This
improves performance considerably.
0.3
* Improved performance and compatibility. Cleanup some dead code. Fixes
* Overrides are now done after loading the file that defines that function. This
improves load time and memory usage by using the improved versions when still
loading Shen.
* Added new overrides (macroexpand, shen-walk, hash, shen-digit-byte?,
shen-byte->digit, symbol?, not, shen-segvar?, shen-grammar_symbol?.
* Better '=' function, with fast-path for references that are 'eq?' and vector
compare without converting vectors to lists first.
* Removed safe symbol conversions, with a custom reader they are not needed.
* A much improved method of symbol->function resolution which uses a hash table
instead of `eval`.
* Fix default fill value for absvectors (was 'fail!' when it should have been
'shen-fail!')
* Inline compares to '(fail)'.