Contributing to Clasp and documentation

Christian Schafmeister chris.schaf at verizon.net
Wed Jun 24 04:33:59 UTC 2015


What kind of contribution policy should Clasp have?   What are good models for this?
I’m a really friendly, easy-going guy.  I’m a professor and acknowledging others peoples effort is something that is extremely important to me.

I’d love to have help writing documentation if anyone is up for that.  I’ve purposefully copied a lot of other API’s so there isn’t a lot of completely new documentation that needs to be written - we can borrow and slightly modify a lot of other peoples documentation.

clbind for instance is based on “luabind” (http://www.rasterbar.com/products/luabind.html) and the documentation here (http://www.rasterbar.com/products/luabind/docs.html) is very close to what you need to know to use clbind. I even have permission from one of the authors of luabind to copy and modify their documentation.

Much of the Embedded Common Lisp (ECL) documentation applies to Clasp.  The clang AST and ASTMatcher documentation can be quickly translated to describe how to use the libraries within Clasp.  Beyond that, Clasp is Common Lisp.  Any differences between how Clasp operates and what the Common Lisp Hyperspec says are considered bugs in Clasp and need to be fixed.

Up until now Clasp has been a one man (me) project.  I’ve borrowed a lot of code from Embedded Common Lisp (ECL) and it has an LGPL license so Clasp will keep the LGPL license although it may move to the 2.1 or 3.0 version of that license once I figure out what they mean.

I’d love to have people contribute code to Clasp - I want to be as fast or faster than anything out there while at the same time being easy to interoperate with C++.  I’d love to have people expose C++ libraries to Clasp - it’s pretty easy and that will add a lot of value to Clasp really quickly.  I’ll provide programming support to do that.

I want this because I need Clasp to support the Chemistry/Molecular design work that I need for my research.  We want to develop new medicines, new catalysts and new molecular devices to make peoples lives better. But Clasp is a general Common Lisp system and if other people are invested in Clasp for other applications then it will only get better.

I have been pretty tied up the last couple of months trying to make Clasp faster - that has been my #1 priority.  I’ve incorporated Robert Strandh’s Cleavir compiler and I’ve been taking more and more advantage of the optimizations and especially inlining capabilities that it provides.   Once I get over the hump of inlining some basic integer arithmetic operations like + - and comparisons Clasp should speed up significantly.  This should take me a few more weeks.

Then I’ll get to work on adding more capabilities to clbind like exposing accessors for instance variables to Common Lisp.

I also have a talk to give at Google in California and a talk in New York to give on Clasp in early August and I need to put some chemistry demos together for that.

Best,

.Chris.





More information about the clasp-devel mailing list