source: public_html/faq.shtml @ 13073

Last change on this file since 13073 was 13073, checked in by vvoutilainen, 11 years ago

Fix the wiki link and the mailing list link.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id
File size: 7.1 KB
Line 
1<?xml version="1.0"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6  <title>FAQ: ABCL - Common Lisp on the JVM</title>
7  <link rel="stylesheet" type="text/css" href="style.css" />
8  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
9</head>
10
11<body>
12 <div class="header">
13   <h1>FAQ: ABCL - Common Lisp on the JVM</h1>
14 </div>
15
16<!--#include virtual="left-menu" -->
17
18<div style="margin-left:auto;margin-right:auto;width:20cm">
19<h1>Index</h1>
20<ol id="toc">
21  <li><a href="#general">General</a>
22  <ol>
23    <li><a href="#what">What is ABCL?</a></li>
24    <li><a href="#license">What license is used for ABCL?</a></li>
25    <li><a href="#bug-reporting">How/Where should I report bugs?</a></li>
26    <li><a href="#speed">Is ABCL faster or slower than implementation XYZ?</a></li>
27    <li><a href="#qa">What is the quality of the implementation? How can you tell?</a></li>
28    <li><a href="#repository">Where is ABCL's source code repository?</a></li>
29    <li><a href="#documentation">Where is ABCL's documentation?</a></li>
30  </ol>
31  </li> <!-- general -->
32</ol>
33
34
35<div class="h2" title="general" id="general">
36<h2>General</h2>
37
38<div class="h3" title="what" id="what">
39<h3>What is ABCL?</h3>
40<p>ABCL is an implementation of the full Common Lisp specification, with
41the exception of the implementation of the long form of
42DEFINE-METHOD-COMBINATION.</p>
43
44<p>Unfortunately, the CLOS implementation is not accessible through
45a MOP (MetaObject Protocol). Any contributions in this area would
46be greatly appreciated, ofcourse.</p>
47
48<p>One thing which is considered almost standard lisp - because all
49implementations deliver it - is "Gray streams". Unfortunately ABCLs
50version is broken [as per 05/2009]. It should be noted this is by no
51means the final state of affairs, though, merely a warning that one
52can't depend on this feature at the moment.</p>
53
54</div>
55
56
57<div class="h3" title="license" id="license">
58<h3>What license is used for ABCL?</h3>
59
60<p>ABCL is distributed under the <a href="http://www.gnu.org/copyleft/gpl.html"
61>GNU General Public License</a> with <a
62href="http://www.gnu.org/software/classpath/license.html">Classpath
63exception</a>. This is the same license as used for JAVA SE and GNU Classpath.</p>
64
65<p>Basically this means you can use ABCL from your application without the
66need to make your own application open source.</p>
67
68<p>
69In general, such usage means that whenever you keep ABCL as a separate
70jar file, you won't have licensing problems. The combining in the
71Classpath exception means that you can
72
73<ol>
74<li>Extend ABCL java classes in your program</li>
75<li>Use ABCL java classes in your program</li>
76<li>Invoke ABCL lisp functions in your program</li>
77</ol>
78
79without having to worry about the licensing. You do have to
80distribute the source code of ABCL (including modifications)
81if you distribute ABCL, but otherwise the license of ABCL is not viral.
82</p>
83
84</div>
85
86<div class="h3" title="bug-reporting" id="bug-reporting">
87<h3>How/Where should I report bugs?</h3>
88
89<p>There is a list of currently known problems (bugs) in our
90<a href="http://trac.common-lisp.net/armedbear/report/1">bug tracker</a>.
91Unfortunately, due to spamming problems, administration of bugs has been
92closed for anybody but common-lisp.net members.</p>
93
94<p>If you found a bug which is not on the list, or you want to stress
95the importance of one that is, please mail our <a
96href="http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel">mailing list</a> about it.</p>
97</div>
98
99
100<div class="h3" title="speed" id="speed">
101<h3>Is ABCL faster or slower than implementation XYZ?</h3>
102
103<p>General comparisons are hard to make, the relative speeds depend
104on a lot of factors. For example timing outcomes of specific bits
105of Java may have different timings depending on the settings of
106the HotSpot JIT compiler (if the tests are run on Sun).</p>
107
108<p>Some statements can be made in general though. Due to the fact that
109ABCL has been implemented in Java, it inherits some of the aspects of
110Java itself as well as the fact that it can't directly manipulate
111CPU content. Implementations such as SBCL and Closure CL can do that and
112take that to their advantage: for example in SBCL a boxed fixnum is a
113direct register value, while in ABCL it's encapsulated in an object.</p>
114
115<p>On the other hand, ABCL - like SBCL - supports unboxed fixnums. ABCL's
116fixnums support the full 32 bit range of integer values, while SBCL due
117to its boxing strategy can only use 29 bit integers (on 32bit platforms).</p>
118
119<p>Given ABCL's age - a young project by Lisp standards - there is also
120plenty of room for improvement in the area of execution speed and optimization.
121The project welcomes initiatives to improve performance.</p>
122
123</div>
124
125
126<div class="h3" title="qa" id="qa">
127<h3>What is the quality of the implementation? How can you tell?</h3>
128
129<p>The project recognises there are several dimensions to quality:</p>
130<ol>
131<li> The level of compliance to the standard </li>
132<li> The level of 'useability': whether (or not) the application is able
133  to run existing Lisp code</li>
134</ol>
135
136<p>The plan is to add to the list above software from Edi Weitz, who
137 wrote some great libraries.</p>
138
139<p>The first item is being measured by running the ANSI test suite compliance
140  tests. The second item is measured by compiling and running the test suite
141  in the <a href="http://maxima.sourceforge.net/">Maxima application</a>.
142  Additionally, compilation of <a href="http://ap5.com/">AP5</a> is used to
143  improve this measure too.</p>
144
145<p>ABCL 0.23.0 fails 31 out of 21702 tests in the ANSI test suite
146  in interpreted and compiled modes, a constant number over the past
147  releases.  Most failures relate to pretty printing.</p>
148<p>As a measure of 'improvement achieved', the development team refers
149  to the number of failing tests in the Maxima test suite too.
150  ABCL 0.23.0 is able to run the test suite without failures, coming from
151  'only' ca 75 failing tests at the time of 0.15.0, and even 1400 failures
152  around October 2008.</p>
153
154</div>
155
156<div class="h3" title="repository" id="repository">
157<h3>Where is ABCL's source code repository?</h3>
158
159<p>If you want to build the latest (unstable) ABCL code,
160you can check out through
161svn://common-lisp.net/project/armedbear/svn/trunk/abcl.</p>
162
163</div>
164
165<div class="h3" title="documentation" id="documentation">
166<h3>Where is ABCL's documentation?</h3>
167
168<p>Documentation on ABCL can be found in several places, depending on the
169  kind of documentation you're looking for.</p>
170
171<ol>
172  <li>Our <a href="http://trac.common-lisp.net/armedbear/wiki">wiki</a></li>
173  <li>The <a href="http://trac.common-lisp.net/armedbear/browser">source
174    code (JavaDoc and general comments)</a></li>
175  <li>Specific <a
176href="http://trac.common-lisp.net/armedbear/browser/trunk/abcl/examples">examples</a></li>
177</ol>
178
179</div>
180
181</div>
182
183<div style="float:left;width:100%">
184 <hr />
185 <p>Back to <a href="http://common-lisp.net/">Common-lisp.net</a>.</p>
186
187 <div class="check">
188   <a href="http://validator.w3.org/check/referer">Valid XHTML 1.0 Strict</a>
189 </div>
190<div style="float:right;font-size:10px;font-family:monospace">$Id: faq.shtml 13073 2010-12-01 08:32:58Z vvoutilainen $</div>
191</div>
192</div>
193</body>
194</html>
Note: See TracBrowser for help on using the repository browser.