source: public_html/staging/faq.shtml @ 11964

Last change on this file since 11964 was 11964, checked in by vvoutilainen, 12 years ago

Some license elaboration.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id
File size: 6.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  </ol>
29  </li> <!-- general -->
30</ol>
31
32
33<div class="h2" title="general" id="general">
34<h2>General</h2>
35
36<div class="h3" title="what" id="what">
37<h3>What is ABCL?</h3>
38<p>ABCL is an implementation of the full Common Lisp specification, with
39the exception of the implementation of the long form of
40DEFINE-METHOD-COMBINATION.</p>
41
42<p>Unfortunately, the CLOS implementation is not accessible through
43a MOP (MetaObject Protocol). Any contributions in this area would
44be greatly appreciated, ofcourse.</p>
45
46<p>One thing which is considered almost standard lisp - because all
47implementations deliver it - is "Gray streams". Unfortunately ABCLs
48version is broken [as per 05/2009]. It should be noted this is by no
49means the final state of affairs, though, merely a warning that one
50can't depend on this feature at the moment.</p>
51
52</div>
53
54
55<div class="h3" title="license" id="license">
56<h3>What license is used for ABCL?</h3>
57
58<p>ABCL is distributed under the <a href="http://www.gnu.org/copyleft/gpl.html"
59>GNU General Public License</a> with <a
60href="http://www.gnu.org/software/classpath/license.html">Classpath
61exception</a>. This is the same license as used for JAVA SE and GNU Classpath.</p>
62
63<p>Basically this means you can use ABCL from your application without the
64need to make your own application open source.</p>
65
66<p>
67In general, such usage means that whenever you keep ABCL as a separate
68jar file, you won't have licensing problems. The combining in the
69Classpath exception means that you can
70
71<ol>
72<li>Extend ABCL java classes in your program</li>
73<li>Use ABCL java classes in your program</li>
74<li>Invoke ABCL lisp functions in your program</li>
75</ol>
76
77without having to worry about the licensing. You do have to
78distribute the source code of ABCL (including modifications)
79if you distribute ABCL, but otherwise the license of ABCL is not viral.
80</p>
81
82</div>
83
84<div class="h3" title="bug-reporting" id="bug-reporting">
85<h3>How/Where should I report bugs?</h3>
86
87<p>There is a list of currently known problems (bugs) in our
88<a href="http://trac.common-lisp.net/armedbear/report/1">bug tracker</a>.
89Unfortunately, due to spamming problems, administration of bugs has been
90closed for anybody but common-lisp.net members.</p>
91
92<p>If you found a bug which is not on the list, or you want to stress
93the importance of one that is, please mail our <a
94href="https://lists.sourceforge.net/lists/listinfo/armedbear-j-devel">mailing list</a> about it.</p>
95</div>
96
97
98<div class="h3" title="speed" id="speed">
99<h3>Is ABCL faster or slower than implementation XYZ?</h3>
100
101<p>General comparisons are hard to make, the relative speeds depend
102on a lot of factors. For example timing outcomes of specific bits
103of Java may have different timings depending on the settings of
104the HotSpot JIT compiler (if the tests are run on Sun).</p>
105
106<p>Some statements can be made in general though. Due to the fact that
107ABCL has been implemented in Java, it inherits some of the aspects of
108Java itself as well as the fact that it can't directly manipulate
109CPU content. Implementations such as SBCL and Closure CL can do that and
110take that to their advantage: for example in SBCL a boxed fixnum is a
111direct register value, while in ABCL it's encapsulated in an object.</p>
112
113<p>On the other hand, ABCL - like SBCL - supports unboxed fixnums. ABCL's
114fixnums support the full 32 bit range of integer values, while SBCL due
115to its boxing strategy can only use 29 bit integers (on 32bit platforms).</p>
116
117<p>Given ABCL's age - a young project by Lisp standards - there is also
118plenty of room for improvement in the area of execution speed and optimization.
119The project welcomes initiatives to improve performance.</p>
120
121</div>
122
123
124<div class="h3" title="qa" id="qa">
125<h3>What is the quality of the implementation? How can you tell?</h3>
126
127<p>The project recognises there are several dimensions to quality:</p>
128<ol>
129<li> The level of compliance to the standard </li>
130<li> The level of 'useability': whether (or not) the application is able
131  to run existing Lisp code</li>
132</ol>
133
134<p>The plan is to add to the list above software from Edi Weitz, who
135 wrote some great libraries.</p>
136
137<p>The first item is being measured by running the ANSI test suite compliance
138  tests. The second item is measured by compiling and running the test suite
139  in the <a href="http://maxima.sourceforge.net/">Maxima application</a>.
140  Additionally, compilation of <a href="http://ap5.com/">AP5</a> is used to
141  improve this measure too.</p>
142
143<p>ABCL 0.15.0 fails 34 out of 21702 tests in the ANSI test suite
144  in interpreted and compiled modes, coming from ca 44 in the last
145  release.</p>
146<p>As a measure of 'improvement achieved', the development team refers
147  to the number of failing tests in the Maxima test suite too.
148  ABCL 0.15.0 is able to run the test suite with 'only' ca 75 failing
149  tests, coming from ca 1400 failures around October 2008.</p>
150
151</div>
152
153</div>
154
155<div style="float:left;width:100%">
156 <hr />
157 <p>Back to <a href="http://common-lisp.net/">Common-lisp.net</a>.</p>
158
159 <div class="check">
160   <a href="http://validator.w3.org/check/referer">Valid XHTML 1.0 Strict</a>
161 </div>
162<div style="float:right;font-size:10px;font-family:monospace">$Id: faq.shtml 11964 2009-05-30 20:02:52Z vvoutilainen $</div>
163</div>
164</div>
165</body>
166</html>
Note: See TracBrowser for help on using the repository browser.