Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 190 lines (179 sloc) 10.259 kB
8916e5b Updated documentation so that the README.org file refers to the on-li…
henry authored
1 # -*- mode: org; -*-
2 #+TITLE: *EuLisp*
3 #+AUTHOR: nil
c6f237c Corrected correspondence addresses.
henry authored
4 #+EMAIL: no-reply
8916e5b Updated documentation so that the README.org file refers to the on-li…
henry authored
5 #+OPTIONS: author:nil email:nil ^:{}
6
e3929c3 Updated documentation.
henry authored
7 * [[file:COPYING][Copyright]]
7820eeb EuXLisp: Added support for the GNU readline library.
henry authored
8 EuLisp is free software: you can redistribute it and/or modify it under the
9 terms of the GNU General Public License as published by the Free Software
e33dc4d Corrected documentation and added top-level support for the inclusion…
Henry authored
10 Foundation, either version 2 of the License, or (at your option) any later
7820eeb EuXLisp: Added support for the GNU readline library.
henry authored
11 version.
093db14 Upgraded the GPL from version 2 to 3 as permitted by the GPL 2 licenc…
henry authored
12
7820eeb EuXLisp: Added support for the GNU readline library.
henry authored
13 EuLisp is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
093db14 Upgraded the GPL from version 2 to 3 as permitted by the GPL 2 licenc…
henry authored
16
7820eeb EuXLisp: Added support for the GNU readline library.
henry authored
17 You should have received a copy of the GNU General Public License along with
ca4d6ac README: changed the fontification work within the limitations of the …
Henry authored
18 EuLisp in the file [[file:COPYING][COPYING]]. If not, see
0f291d4 README: changed the fontification work within the limitations of the …
Henry authored
19 [[http://www.gnu.org/licenses/]].
8916e5b Updated documentation so that the README.org file refers to the on-li…
henry authored
20
21 * Aim
e33dc4d Corrected documentation and added top-level support for the inclusion…
Henry authored
22 This version of the EuLisp definition and Youtoo, EuXLisp and Eu2C
23 implementations are being developed in an attempt to reconcile the differences
24 with the ultimate aim to create a consistent definition and implementations
25 which are as close to EuLisp-1.0 as is possible to ascertain from the
26 remaining documents related to the standardisation process.
27
28 * Original Sources
29 The starting point for this effort has been the publicly available packs of
30 sources and documents relating to the development of the EuLisp definition and
31 implementations:
32 *** EuLisp definition
8916e5b Updated documentation so that the README.org file refers to the on-li…
henry authored
33 The version of the EuLisp definition supplied is this release of Youtoo
34 started life as EuLisp-0.99 from the pack released by Julian Padget:
35 [[ftp://ftp.bath.ac.uk/pub/eulisp/definition/931202.tar.gz][931202.tar.gz]] updated following proposals and discussions also released by
36 Julian Padget:
37 + [[http://people.bath.ac.uk/masjap/EuLisp/][Online definition]]
38 + [[ftp://ftp.bath.ac.uk/pub/eulisp/mail/nov93.gz][nov93.gz]]
39 + [[ftp://ftp.bath.ac.uk/pub/eulisp/mail/dec93.gz][dec93.gz]]
40 + [[ftp://ftp.bath.ac.uk/pub/eulisp/WG/adv-genarith.ps.gz][adv-genarith.ps.gz]]
41 + [[ftp://ftp.bath.ac.uk/pub/eulisp/WG/eulisp-ffi.ps.gz][eulisp-ffi.ps.gz]]
42 + [[ftp://ftp.bath.ac.uk/pub/eulisp/WG/eulisp-proposals.ps.gz][eulisp-proposals.ps.gz]]
43 + [[ftp://ftp.bath.ac.uk/pub/eulisp/WG/genarith.ps.gz][genarith.ps.gz]]
44 + [[ftp://ftp.bath.ac.uk/pub/eulisp/WG/map.ps.gz][map.ps.gz]]
45 + [[ftp://ftp.bath.ac.uk/pub/eulisp/WG/stream.ps.gz][stream.ps.gz]]
e33dc4d Corrected documentation and added top-level support for the inclusion…
Henry authored
46 *** EuXLisp
47 EuXLisp started life as
48 [[http://www.bath.ac.uk/~masrjb/Sources/euscheme.html][Euscheme]] based on
49 xscheme written by David Michael Betz and released under the 3-clause BSD
50 licence, see [[file:EuXLisp/ORIGINAL_LICENCE]]. However with the inclusion
51 of the GNU getopt and readline libraries this software inherits the GPL with
52 which the 3-clause BSD licence is compatible and all further developments
53 will be made under the terms of the GPL version 2, see
54 [[file:COPYING][COPYING]].
55 *** Youtoo
56 This release of Youtoo started life as
57 [[http://www.cs.bath.ac.uk/~jap/EuLisp/youtoo/youtoo0.93.tar.gz][Youtoo-0.93]]
58 developed by Andreas Kind, Julian Padget and others. More details are
59 available from the original [[file:Youtoo/README.orig][README]] file and
60 [[http://www.cs.bath.ac.uk/~jap/ak1/youtoo/][the youtoo home page]]. The
61 /b2h/ and /i2doc/ tools needed to bootstrap youtoo were reverse engineered
62 and provided by
63 [[http://unwind-protect.org/~tkb/software.html#youtoo-and-eulisp-definition][T. Kurt
64 Bond]].
65 *** Eu2C
66 Eu2C was originally developed at Fraunhofer ISST in the joint research
67 project APPLY funded by the German Ministry of Research and Technology under
68 the project code ITW9102D5. The final release in July 1994 is publicly
69 available from
70 [[http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/others/eulisp/eu2c/v94_07/eu2c.tgz][eu2c.tgz]]
71 however the terms of use are not specified. This release of Eu2C is derived
72 from the eu2c-94-07-EUPL version kindly prepared and provided by E. Ulrich
73 Kriegel and released by Fraunhofer ISST under the
74 [[http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1][EUPL
75 version 1.1 ]] (see [[file:Eu2C/README.orig]]).
76 However, due to the inclusion of EuLisp code from Youtoo, which is released
77 under the GPL version 2, this version of Eu2C inherits the GPL version 2
78 (see above) as specifically permitted under the compatibility terms of the
79 EUPL version 1.1. Future versions of the EUPL may include a compatibility
80 clause for GPL version 3 at which point it will be possible to re-release
81 Eu2C, Youtoo and EuXLisp under the GPL version 3.
8916e5b Updated documentation so that the README.org file refers to the on-li…
henry authored
82
83 * General Description
e33dc4d Corrected documentation and added top-level support for the inclusion…
Henry authored
84 *** EuLisp
85 EuLisp is a single-valued dialect of Lisp with an integrated object system,
86 a defined meta-object protocol, modules and a simple light-weight process
87 mechanism (threads).
88 ***** Current Definition
89 is provided in both HTML and PDF formats:
90 + [[file:Doc/EuLisp-0.991/html/eulisp.html][EuLisp Definition Version 0.991 (HTML)]]
91 + [[file:Doc/EuLisp-0.991/eulisp.pdf][EuLisp Definition Version 0.991 (PDF)]]
92 ***** EuLisp-1.0 Proposals
93 are in the folowing [[file:Doc/EuLisp-0.991/Proposals/Proposals.txt][proposal document]] and discussed in the minutes of the
94 [[file:Doc/EuLisp-0.991/Proposals/Meeting_19_11_93.txt][meeting on 19/11/93]] and in the [[file:Doc/EuLisp-0.991/Proposals/nov93.txt][preceding]] and [[file:Doc/EuLisp-0.991/Proposals/dec93.txt][subsequent]] Email
95 correspondence. The following reports are discussed in the above:
96 + [[file:Doc/EuLisp-0.991/Proposals/Reports/eulisp-proposals.ps][eulisp-proposals.ps]]
97 + [[file:Doc/EuLisp-0.991/Proposals/Reports/genarith.ps][genarith.ps]]
98 + [[file:Doc/EuLisp-0.991/Proposals/Reports/adv-genarith.ps][adv-genarith.ps]]
99 + [[file:Doc/EuLisp-0.991/Proposals/Reports/eulisp-ffi.ps][eulisp-ffi.ps]]
100 *** EuXLisp
101 EuXLisp is a simple EuLisp Level-0 interpreter. EuLisp Level-0 is a small
102 and compact Lisp, but nevertheless has many interesting features, such as
103 modules, an object system, and multithreading. EuLisp Level-1 has extra
104 features, the most notable being a full metaobject system which is
105 implemented in Youtoo not in EuXLisp.
1916328 Started reorganising documentation to support both Youtoo and EuXLisp…
henry authored
106 *** Youtoo
e33dc4d Corrected documentation and added top-level support for the inclusion…
Henry authored
107 The Youtoo compiler/interpreter compiles EuLisp Level-1 into C-embedded
108 virtual machine code which can be statically or dynamically linked with the
109 virtual machine, the conservative garbage collector, the EuLisp language
110 library and arbitrary other Lisp and foreign code (C, C++ and
111 Fortran). Resulting stand-alone executables are portable, interoperable and
112 efficient (see The Lisp Performance Page). The language implementation is
113 extended towards a Virtual Multicomputer Architecture. Object serialization
114 and inter-process communication (Sockets, MPI, Harvest Object Cache) support
115 the migration of arbitray data and code.
1916328 Started reorganising documentation to support both Youtoo and EuXLisp…
henry authored
116
117 The system reuses ideas from the Oaklisp system written by Barak Pearlmutter
118 and Kevin Lang. The meta-object protocol (=Telos=) was originally
119 implemented in Common Lisp by Russell Bradford. By default, a garbage
120 collector written by Hans Boehm and Alan Demers is used.
e33dc4d Corrected documentation and added top-level support for the inclusion…
Henry authored
121 ***** See also [[file:Youtoo/README.html][Youtoo README]]
122 *** Eu2C
123 Eu2C is a EuLisp Level-0 to C compiler originally developed at Fraunhofer
124 ISST in the joint research project APPLY funded by the German Ministry of
125 Research and Technology under the project code ITW9102D5.
126 ***** See also [[file:Eu2C/README.html][Eu2C README]]
093db14 Upgraded the GPL from version 2 to 3 as permitted by the GPL 2 licenc…
henry authored
127
346ab17 Eu2C: Removed the need for the Eu2CROOT environment variable and inte…
Henry authored
128 * Installation of EuXLisp, Youtoo and Eu2C
129 *** Prerequisites
102a60f Updated documentation
Henry authored
130 ***** C Compiler
131 All three EuLisp implementations require a C-compiler, in particular =gcc=
346ab17 Eu2C: Removed the need for the Eu2CROOT environment variable and inte…
Henry authored
132 on most platforms. It is likely that a suitable =gcc= is already
133 installed, if not install the development package which includes it.
102a60f Updated documentation
Henry authored
134 ***** Garbage Collector
135 EuXLisp and Eu2C include their own garbage collectors bu Youtoo uses the
136 Boehm-Demers garbage collector which must be installed before compilation:
346ab17 Eu2C: Removed the need for the Eu2CROOT environment variable and inte…
Henry authored
137 - On SuSE: =sudo zypper install gc-devel=.
138 - On Ubuntu: =sudo apt-get install libgc-dev=.
139 - On RedHat...: install the appropriate package.
140 - From sources: download
141 http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha4.tar.gz
142 and unpack, configure, make and install in =/usr/local=.
102a60f Updated documentation
Henry authored
143 ***** Common Lisp Compiler
144 Eu2C bootstraps from Common Lisp and currently requires a recent version
145 of CMUCL which may be obtained from
346ab17 Eu2C: Removed the need for the Eu2CROOT environment variable and inte…
Henry authored
146 http://www.cons.org/cmucl/download.html. SBCL support is expected in the
147 future.
102a60f Updated documentation
Henry authored
148 *** Download
149 Pull the latest version from the GitHub repository:
150 + =git clone git://github.com/Henry/EuLisp.git=
151 *** Configuration
152 + =cd= into the =EuLisp= directory
153 + Configure for the default architecture
154 - =./configure=
155 - Check the settings and edit the configure file to reflect your system if
156 necessary and re-run
157 - =./configure=.
158 + To configure for a specified architecture,
159 - =./configure <arch>=
160 - /e.g./ to configure for a 32bit build on a =x86_64= 64bit machine:
161 - =./configure i686=
162 *** Build
163 + Build EuXLisp, Youtoo and Eu2C for the default architecture
164 - =make=
165 + Build EuXLisp, Youtoo and Eu2C for a specified architecture
166 - =make ARCH=<arch>=
167 - /e.g./ to build 32bit on a =x86_64= 64bit machine:
168 - =make ARCH=i686=
169 + Alternatively you can build =euxlisp=, =youtoo= or =eu2c= by specifying
170 the target and optionally the target architecture /e.g./:
171 - =make euxlisp=
172 - =make youtoo=
173 - =make eu2c=
174 + For more details and more options for building Youtoo see [[file:Youtoo/README.html][README]].
175 + For more details and more options for building Eu2C see [[file:Eu2C/README.html][README]].
176 *** Run
177 + Run the =euxlisp= executable
178 - =Bin.$ARCH/euxlisp=
179 + Run the =youtoo= executable
180 - =Bin.$ARCH/youtoo=
181 + Run the =eu2c= compiler script
182 - =Eu2C/Bin/eu2c=
8916e5b Updated documentation so that the README.org file refers to the on-li…
henry authored
183
346ab17 Eu2C: Removed the need for the Eu2CROOT environment variable and inte…
Henry authored
184 * Getting Started
185 + [[file:Doc/EuLispIntroRef.html#sec-3][EuXLisp]]
186 + [[file:Doc/EuLispIntroRef.html#sec-4][Youtoo]]
187 + [[file:Eu2C/README.html][Eu2C]]
e33dc4d Corrected documentation and added top-level support for the inclusion…
Henry authored
188
e3929c3 Updated documentation.
henry authored
189 * [[file:TODO.org][To Do]]
Something went wrong with that request. Please try again.