-
Notifications
You must be signed in to change notification settings - Fork 1
/
NOTES
93 lines (58 loc) · 2.88 KB
/
NOTES
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
$Revision: 1.4 $
Release Notes for CLiCC 0.6.4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Foreign function interface is usable now. Look at src/test/time.*
for an example. Documentation is not yet finished.
- Print-Functions of defstruct are no longer ignored.
- Function FORMAT knows about ~T directive now.
- Functions SCALE-FLOAT, FLOAT-RADIX, FLOAT-SIGN,
FLOAT-PRECISION and INTEGER-DECODE-FLOAT are implemented now.
The radix and significand-length are taken from float.h if an ANSI-C
compiler is used. These values are calculated by CLiCC otherwise.
- *print-length* and *print-level* have been set to 50 because
*print-circle* is not implemented yet.
- New scripts cl-s and rt-s to produce shared libraries (SUNOS only).
- &rest arguments are stack allocated if the list is only locally used.
- Better code for nested IF-expressions.
- Inlining of functions across modules.
- Most of the code for array functions is written in Lisp now.
- Function BREAK may be used during macro expansion to debug expander
functions.
- More descriptive error message if macro expansion fails.
- More usable messages if type errors are found.
- Many bug fixes.
- KNOWN BUGS:
- next-method-list may be wrong in case of multiple inheritance.
- Compilation fails for functions which use local function
definitions in default forms for optional or keyword parameters.
- User defined methods for standard generic functions like
shared-initialize are silently ignored.
- Compilation fails if :documentation option in slots is used.
- Foreign function interface is not usable if CLiCC is compiled with
itself, because FORMAT directive ~^ is used but currently not
available in our imlementation of FORMAT.
Release 0.6.3 was not widely distributed
Release Notes for CLiCC 0.6.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CLiCC can be compiled by itself now, to get a standalone compiler
which can be used without a lisp system. Compile the file
clicc.lisp in src/compiler/ by means of (clicc "clicc").
- CLiCC runs with AKCL now.
- Variable *OPTIMIZE* may be used to disable optimizations. Use this
in a first (fast !) run of CLiCC to check if your application
conforms to CL_0 and if the generated code runs as expected.
- New papers cl0-engl.ps and Migration.ps .
- Tail recursion elimination has been implemented, may be turned off by
*no-tail-recursion*
- Method caching for generic functions with more than
*METHOD-CACHE-LIMIT* effective methods.
- Commands rt and cl now call gcc by default.
- Arguments of cl must have extension *.c now.
- Use 'cl file1.c .. filen.c'
to compile and link modules or splitted applications.
- New function rt::system
- The function format knows about ~[ and ~;
- Pathnames are printed as #P now.
- Functions logtest und logbit have been implemented
- Command line interface for standalone version of CLiCC has been
changed, look at src/compiler/clicc.lisp