-
Notifications
You must be signed in to change notification settings - Fork 8
/
README2.txt
82 lines (51 loc) · 2.21 KB
/
README2.txt
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
Eclipse Common Lisp
General info
Eclipse functions as an ANSI Common Lisp interpreter. It can also
compile Lisp to C, and then link in the C code like you would link
a C program.
The system was primarily written in Lisp and was capable of self
hosting. All the lisp files for the system are in the "lisp" directory.
The "bin" directory used to contain executables for various systems.
The only one still present is the one for Windows.
Pretty good documentation is located under the "doc" directory.
See: doc/eclipse/eclipse.htm
The system did work on Mac and Windows in the past. I have only
been testing on a 64 bit Linux machine. Be sure to see ISSUES.txt
The system depends upon the Boehm-Demers-Weiser conservative garbage
collector. If you don't have it installed on your system, get, build,
and install it first. It's at: http://www.hboehm.info/gc
Converting between 32 & 64 bit machines is done in eclipse.h
See the typedef for clWord.
To build:
cd c
make
You will end up with:
eclipse
libeclipse.a
libeclipsed.a
Use :exit to exit the system.
In terms of the Lisp compiler, the documentation talks about two formats;
to a binary format, and to C. The binary format was never completed,
but the compile to C was. For example:
Let's say we have myfile.lisp containing:
(defun abc (a b)
(+ a b))
From eclipse we type:
(compile-file "myfile" 'output-format :c)
We end up with myfile.c
myfile.c will contain a function named "usrMyfile" that initializes
the compiled function into the system and must be called from within
eclipse. Add a call to that function from with main() in eclipse.c
There is a comment in eclipse.c that says:
/* Init-functions for Eclipse-generated C files go here. */
Put calls to each file's initialization function in there. In our example,
I will add the line:
usrMyfile();
Add myfile.c to the USERSOURCE variable in the makefile. Type:
make
This will build "eclipse" with the compiled file part of the system.
I think if we can get past the issues listed in ISSUES.txt, the next
step would be to have the system re-gen itself (although, I believe
the system can also be re-gen'd with another Common Lisp system too).
After that, the system should be pretty nice.
Blake McBride