[d1b172]: wanted.html  Maximize  Restore  History

Download this file

178 lines (154 with data), 8.9 kB

  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
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<!-- xml version="1.0" encoding="UTF-8" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="description" content="CLISP help wanted"/>
<link rev="made" href="mailto:clisp-list@lists.sourceforge.net"/>
<link rel="stylesheet" href="clisp.css" type="text/css"/>
<link rel="top" href="index.html" type="text/html" title="CLISP home"/>
<link rel="help" href="impnotes/faq.html#faq-help" type="text/html"/>
<title>CLISP Help Wanted</title>
</head>
<body>
<h1>CLISP Help Wanted</h1>
<p><a href="http://clisp.org">CLISP</a> project founder
<a href="http://www.haible.de/bruno/">Bruno Haible</a> was one of the
finalists for the <a href="http://www.gnu.org/award/2002/2002.html">2002
Free Software Award</a>! Note that it said:</p>
<p class="center"><big><strong><cite>"Bruno Haible (known for his work
on GNU CLISP)"</cite></strong>!</big></p>
<h2>Now it is your chance to win the next Free Software Award!</h2>
<p>The CLISP project is looking for excellent C and Lisp hackers who can
enhance CLISP and add new features
(see <a href="https://sourceforge.net/p/clisp/clisp/ci/default/tree/">development
sources</a>).</p>
<p>The prizes for handling the issues listed below:</p>
<ul><li>handle one issue and you get Mercurial write access;</li>
<li>handle two issues and you become an admin of the CLISP project;</li>
<li>handle three or more issues and you become the principal maintainer.</li>
</ul>
<p>This reminds me of a joke: after the 1991 Russian coup attempt (whose
failure lead to the final downfall of communism), the
<a href="http://sds.podval.org/commies.html">Communist Party</a>
was very unpopular and tried to increase the membership by asking the
existing members to recruit new members, with the following incentives:</p>
<ul><li>if you bring one new member, you don't have to pay membership dues</li>
<li>if you bring two new members, you may resign from the Party</li>
<li>if you bring three new members, you may resign and you will also receive
a certificate that you have never been a member of the Party!</li></ul>
<h2 id="tasks">The CLISP tasks</h2>
<h3 id="simple">Entry-level tasks</h3>
<ol>
<li>Add a <code>magic</code> module interfacing to <a href="http://packages.debian.org/unstable/libdevel/libmagic-dev">libmagic</a>.</li>
<li>Add a <code>uuid</code> module for manipulation of <a href="http://en.wikipedia.org/wiki/Universally_unique_identifier">UUID</a>s,
interfacing to <a href="http://linux.die.net/man/3/uuid"><code>&lt;uuid/uuid.h&gt;</code></a> on unix
and to <a href="http://msdn.microsoft.com/en-us/library/ms688568%28v=VS.85%29.aspx"><code>CoCreateGuid()</code></a> on windows.</li>
<li>Add a <code>serial</code> module to control serial devices using
<a href="http://www.opengroup.org/onlinepubs/9699919799/basedefs/termios.h.html"><code>&lt;termios.h&gt;</code></a>
on unix and
<a href="http://msdn.microsoft.com/en-us/library/aa363436(VS.85).aspx"><code>SetCommState()</code></a>
on windows.</li>
</ol>
<h3 id="segfault">Segmentation faults</h3>
<p>Any hard crash (segmentation fault, bus error etc) is a bug in CLISP.
See <a href="https://sourceforge.net/p/clisp/bugs/milestone/segfault/">CLISP
bug tracker</a>.</p>
<h3 id="ongoing">Ongoing tasks</h3>
<ol><li>Searching for Common Lisp packages which do not run on CLISP and
porting them to CLISP.</li>
<li><a href="http://translationproject.org/domain/clisp.html">Translate
CLISP messages</a> into new languages and update the existing
translatons.</li></ol>
<h3 id="new">New features</h3>
<ol>
<li id="mt">CLISP has an almost-working <a href="https://sourceforge.net/p/clisp/clisp/ci/default/tree/doc/multithread.txt">multithreading</a>.
The only major missing thing is thread-safe hash tables, which is a
big issue because they are used internally by CLOS and thus should
not be lockable.
The current implementation should be replaced with
<a href="http://www.azulsystems.com/events/javaone_2007/2007_LockFreeHash.pdf">lock-free open-addressing ones</a>
The hardest part in this reimplementation is integration with GC
because of weak relations.
This is a good project for the
<a href="http://code.google.com/soc/">Google Summer of Code</a>.
<p><br/></p></li>
<li id="octave">CLISP offers a <a href="impnotes/matlab.html">module that
interfaces to Matlab</a> but no module that interfaces to
<a href="http://www.octave.org">Octave</a> - the free replacement to Matlab.
This is ideologically intolerable to the GNU party committee (despite the
fact that Octave does not offer a C API yet), so you are hereby invited to
volunteer to implement the Matlab C API for Octave and then make sure that
the CLISP Matlab module works with that new Octave C API.<p><br/></p></li>
<li id="ieee-floats">Add <a href="http://floating-point-gui.de/">IEEE
NaNs and infinities</a> the CLISP floating numbers.
This may look like a very <em>"unlispish"</em> feature until you
realise how useful they are, e.g., when extending <code>log</code> to 0,
which comes useful when calculating odds, see, e.g.,
<a href="https://sourceforge.net/p/clocc/hg/ci/default/tree/src/cllib/bayes.lisp">clocc/src/cllib/bayes.lisp</a>.<p><br/></p></li>
<li id="embed"><a href="https://sourceforge.net/p/clisp/feature-requests/4/">Embed CLISP</a>
into your favorite application, e.g., <a href="http://www.vim.org">VIM</a>,
<a href="http://www.mozilla.com/firefox/">Firefox</a>,
<a href="http://projects.gnome.org/gnumeric/">Gnumeric</a>, or
<a href="http://www.openoffice.org/">OpenOffice</a>.
This might require some additional API in CLISP, which we will be
happy to add.<p><br/></p></li>
<li>native file compilation (e.g., bytecodes &rarr; C or
<a href="http://llvm.org/docs/LangRef.html">LLVM assembly</a> or
<a href="http://www.delorie.com/gnu/docs/gcc/gccint_31.html">GCC IR</a>)
<p><br/></p></li>
<li>native just-in-time compilation
(<a href="https://sourceforge.net/users/y-d/">Yann Dauphin</a> added JITC
via <a href="http://www.gnu.org/software/lightning/">lightning</a>),
more work needed to improve performance.<p><br/></p></li>
<li>compilation to JVM (this was thought to be important 10 years ago when the
main task of the computer industry was perceived to be speeding up JVM, so
we wanted to ride the wave, this might still be useful, but has a rather
low priority)<p><br/></p></li>
<li>GUI (e.g., <a href="https://sourceforge.net/projects/wxcl/">wxCL</a>)
<p><br/></p></li>
<li><a href="http://www.openssl.org/">SSL</a> bindings (note
<a href="http://common-lisp.net/project/cl-plus-ssl/">cl+ssl</a>)
<p><br/></p></li>
<li><a href="http://www.openldap.org/">LDAP</a> and
<a href="https://projects.gnome.org/gconf/">gnome-config</a> support in
<a href="impnotes/dir-key.html">modules/dirkey</a><p><br/></p></li>
</ol>
<h3 id="infrastructure">Infrastructure</h3>
<ol>
<li>Use <code>libtool</code> to produce <code>lisp.so</code>
(<code>lisp.dll</code> on woe32) instead of <code>lisp.run</code>
(<code>lisp.exe</code> on woe32).<p><br/></p></li>
<li>Use <code>dlopen</code> (<code>LoadLibrary</code> on woe32)
instead of <code>exec</code> (<code>CreateProcess</code> on woe32)
to start a linking set in <code>clisp</code> (<code>clisp.exe</code>
on woe32). This is related to <a href="#embed">embeddability</a>.
<p><br/></p></li>
</ol>
<h3 id="rfe">See also</h3>
<ul>
<li><a href="https://sourceforge.net/p/clisp/feature-requests/">RFEs</a></li>
</ul>
<hr/>
<table width="100%"><tr><td align="left">
<a href="http://clisp.org"><img src="clisp.png" width="48"
height="48" alt="[CLISP home]"/></a></td>
<td align="right"><a href="https://sourceforge.net/projects/clisp"><img
src="http://sflogo.sourceforge.net/sflogo.php?group_id=1355&amp;type=12&amp;page=wanted"
width="120" height="30" alt="[SourceForge Logo]"/></a>
<a href="https://sourceforge.net/p/clisp/donate/?source=wanted"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" alt="[Support This Project]"/></a></td>
<td align="right"><a href="http://validator.w3.org/check/referer"><img
src="http://www.w3.org/Icons/valid-xhtml10"
alt="[Valid XHTML]" height="31" width="88"/></a>
<a href="http://www.w3.org/Style/CSS/Buttons/"><img
src="http://www.w3.org/Style/CSS/Buttons/mwcts"
alt="[Use CSS]" height="31" width="88"/></a>
<a href="http://jigsaw.w3.org/css-validator/check/referer"><img
src="http://jigsaw.w3.org/css-validator/images/vcss"
alt="[Valid CSS]" height="31" width="88"/></a></td>
</tr></table>
</body>
</html>

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks