File: NEWS

package info (click to toggle)
theme-d 7.2.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 21,036 kB
  • sloc: lisp: 9,625; sh: 5,321; makefile: 715; ansic: 477
file content (327 lines) | stat: -rw-r--r-- 8,377 bytes parent folder | download
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
2025-12-20

Fixed type checking so that <boolean> is equal to
(:union (:unit-type #f) (:unit-type #t)) as a type.

2025-12-04

- Fixed bugs with type checking in match-type and match-type-weak
expressions.
- Fixed a bug in checking if an atomic object is an instance of a class.
- Implemented Guile vector support in the standard library in module raw-vector.

2025-11-12

Optimized some equality checks for union arguments to use Scheme predicate
eq? in the target code. In particular, this optimization is invoked by types
(:maybe %x) and (:alt-maybe %x) with certain parameter types %x.

2025-11-10

- Improved union type check optimization in the linker.
In particular, this optimization is invoked when casting objects
of type (:maybe %x) or (:alt-maybe %x) to %x.

2025-11-05

- Fixed equality predicates to work with pair structures containing
nonprimitive objects.
- Optimized handling match-type expressions in the bootstrapped linker
Tree-IL backend.

2025-11-04

- Fixed predicate equal-contents? to work with cyclic objects.
- Fixed a bug with typechecking incomplete unions.
- Improved internal cycle handling in variable substitution.

2025-10-19

- Speed optimizations for the generated code and the bootstrapped translator.
- Fixed a bug with <none> as a union component type.

2025-09-10

Fixed bugs in the type system. In particular, the check whether a type inherits
from <object> is fixed. Note that this is equivalent to checking if the type is
not <none> or a union evaluating to <none>.

2025-09-06

Changed the names of linked interfaces from MODULE.go to __intf_MODULE.go.
The purpose of this change is to prevent name collisions between linked
interfaces and native Guile modules.

2025-02-08

Optimize apply expressions.

2025-01-31

Improved handling unit types as procedure argument types and components
of procedure argument types.

2025-01-02

New release 6.0.0. See ChangeLog.

2024-12-29

Added form static-type-of0 and special procedure type-of. See
sections 6.15.8 and 7.3.4 in the new language manual.

2024-12-26

Optimized the default constructors.

2024-12-23

Implemented the keyword based make for Theme-D classes. The old-style make has
been renamed to "create". For more information, see:

- Sections 4.14 and 6.16.2 of the new language manual.
- Section 6.1 of the new standard library reference (for create).
- Test programs test892.thp, test894.thp, and test895.thp.

2024-12-19

- Implemented type checking for GOOPS foreign class make expressions.
- Implemented GOOPS class attribute pure-make.
- Bug fixes.

2024-12-13

The prerelease 6.0.0~pre7 has been published. See

https://www.iki.fi/tohoyn/theme-d/download.html.

Changes to version 6.0.0~pre6:

- The bootstrapped compiler and linker work.

2024-12-08

Use eqv? as the default implementation of the equal-objects? predicate
for foreign classes. This can be changed by class attribute use-eq?.

2024-12-01

Fixed a bug in generic procedure dispatch in the BST.

Fixed a bug in the BST Tree-IL backend.

2024-11-30

Fixes to the BST linker.

More optimizations to match-type and match-type-strong.

2024-11-29

Optimized cycle detection in subtype checking and type deduction.

Optimized methods reverse and d-reverse in the standard library.

Added methods d-fold1 and d-fold-right1 into the standard library.

2024-11-28

Optimized match-type and match-type-strong.

2024-11-27

Fixed a bug in the equality predicate optimization.

2024-11-24

Optimized classes that are not atomic and not foreign GOOPS classes to use
eq? as the implementation for predicate equal-objects?.

2024-11-22

Improved the libthemedsupport library by using source code of Guile 3.0.10.

2024-11-22

Allow the use of translator keyword as symbols.

Allow the use of non-class types in forward declarations.

2024-11-20

Runtime type check for slot-ref.

Added methods union-of-lists and union-of-alists into the standard library.

2024-11-20

The prerelease 6.0.0~pre6 has been published. See

https://www.iki.fi/tohoyn/theme-d/download.html.

Changes to version 6.0.0~pre5:

- Fixed bugs with string unit types.
- Renewed the foreign function interface for GOOPS classes. See the Language
  Manual.

2024-11-18

Use optimization level 2 for the translator compilation by default.
Renamed configure option opt-compilation to xlat-opt-compilation.

Bug fixes for type equality in the RTE.

Detect unit types as final.

2024-11-17

The prerelease 6.0.0~pre5 has been published. See

https://www.iki.fi/tohoyn/theme-d/download.html.

Changes to version 6.0.0~pre4:
- Fixed a bug with string unit types.
- Added procedures fold1, fold-right1, delete-duplicates, and list-set-diff
  into the the standard library.

2024-11-17

Added methods fold1 and fold-right1 into module list-utilities.
Added example program fold.thp.

2024-11-16

- The prerelease 6.0.0~pre4 has been published. See

https://www.iki.fi/tohoyn/theme-d/download.html.

Changes to version 6.0.0~pre3:
- Fixed subexpression factorization.
- Fixed a bug with unit types in RTE.
- Fixed form debug-output.
- Renamed define-prim-class to define-foreign-prim-class.
- Use option --warn=shadowed-toplevel in the compilation of the translator and
  in the RTE. The option is also used in the target compilation of Theme-D
  programs.

- Renamed define-prim-class to define-foreign-prim-class.

- Fixed subexpression factorization.
- Fixed a bug with unit types in the RTE.
- Fixed form debug-output.

2024-11-15

Fixed split linking.

Improved script compute-theme-d-deps.scm and added a man page for it.

Fixed "make install" and added some directory options to configure.ac.

2024-11-14

Added figures presenting generic procedure class hierarchy into the language
manual.
 
Fixed equivalence predicate optimization.

The language manual has been updated.

Some fixes to procedure equal-types0? used in equality predicates.

2024-11-13

The prerelease 6.0.0~pre3 has been published. See

https://www.iki.fi/tohoyn/theme-d/download.html.

2024-11-13

Renamed some standard library modules:
  hash-table -> hash-table0
  hash-table2 -> hash-table
  hash-table2-opt -> hash-table-opt

2024-11-13

Removed metaclasses :value-vector and :mutable-value-vector and changed
instances of :vector and :mutable-vector to be equal by value. Note that you can
compare vectors as objects with predicate equal-objects?.

2024-11-13

* Changes
- Simplified the implementation of equality predicates.

2024-11-12

* Changes
- Updated the User Guide.
- Changed procedure dispatch-normal-method-w-params.
- Updated file test-info.scm

* Notes

- Guile 2.0, Guile 2.2, and Racket platforms are no longer supported.

2024-11-11

The prerelease 6.0.0~pre2 has been published in the devel branch of the
Theme-D SourceForge repository,

https://sourceforge.net/p/theme-d/code/ci/master/tree/

* Changes
- Fixed bugs with runtime type variable allocation.
- Implemented unit types.
- Removed the restriction that declaration and definition of a variable must
  have equal class sizes.
- Use GOOPS classes in the runtime environment.

* Notes

- The code for the type system is now shared between the translator and the
runtime environment.

- The bootstrapped environment does not work yet.

- See https://en.wikipedia.org/wiki/Unit_type for information about unit
  types. See also example programs orientation1.thp, orientation2.thp, and
  bits.thp.

2024-11-02

* Changes
- Updated the Tree-IL backend to be compatible with the new RTE.
- Updated the nonoptimized Guile backend to be compatible with the new RTE.

2024-11-01

* Changes
- Refactorized the runtime environment. Currently only the optimized Guile
  backend is compatible with the new RTE.
  
2024-10-30

* Notes:
- The runtime environment compiles but does not work.

* Changes
- Changed the runtime environment to use GOOPS objects instead of vectors
  for Theme-D objects.
- Changed the representation of Theme-D vectors to use GOOPS objects
  in the RTE.
- Checked the use of equality predicates in the RTE.
- Fixed the hash function for the RTE parameterized instance cache.

2024-10-29

* Notes
- A working version. Compiler and linker work but runtime environment does not.

* Changes
- Fixed bugs in runtime type variable allocation.
- Implemented unit types. See example programs orientation1.thp,
  orientation2.thp, and bits.thp.
  See also https://en.wikipedia.org/wiki/Unit_type.