[null, null, {"document_url": "http://trittweiler.blogspot.com/2009/10/", "unformatted_src": "http://3.bp.blogspot.com/_XshvghKxGuU/SuLsekF87II/AAAAAAAAACA/AK-XbtOZohw/s200/slime-restart-numbering.png", "src": "http://3.bp.blogspot.com/_XshvghKxGuU/SuLsekF87II/AAAAAAAAACA/AK-XbtOZohw/s200/slime-restart-numbering.png", "formatted_filename": "slime restart numbering"}, {"document_url": "http://trittweiler.blogspot.com/2009/10/", "unformatted_src": "http://4.bp.blogspot.com/_XshvghKxGuU/SuLslI3_1yI/AAAAAAAAACI/opQtTtIHu6U/s200/slime-c-m-dot.png", "src": "http://4.bp.blogspot.com/_XshvghKxGuU/SuLslI3_1yI/AAAAAAAAACI/opQtTtIHu6U/s200/slime-c-m-dot.png", "formatted_filename": "slime c m dot"}, {"document_url": "http://trittweiler.blogspot.com/2009/10/", "unformatted_src": "http://3.bp.blogspot.com/_XshvghKxGuU/SuLsplosJuI/AAAAAAAAACQ/dHnHaw7QM7U/s200/slime-c-m-comma.png", "src": "http://3.bp.blogspot.com/_XshvghKxGuU/SuLsplosJuI/AAAAAAAAACQ/dHnHaw7QM7U/s200/slime-c-m-comma.png", "formatted_filename": "slime c m comma"}, null, null, {"document_url": "http://trittweiler.blogspot.com/2009/10/", "unformatted_src": "http://2.bp.blogspot.com/_XshvghKxGuU/St8x1y0BIpI/AAAAAAAAABk/3aSOyDj6rRg/s200/slime-open-system.png", "src": "http://2.bp.blogspot.com/_XshvghKxGuU/St8x1y0BIpI/AAAAAAAAABk/3aSOyDj6rRg/s200/slime-open-system.png", "formatted_filename": "slime open system"}, null, {"document_url": "http://trittweiler.blogspot.com/2009/10/", "unformatted_src": "http://3.bp.blogspot.com/_XshvghKxGuU/St8yFgsfABI/AAAAAAAAABs/gfQYOW90kPY/s200/slime-browse-system.png", "src": "http://3.bp.blogspot.com/_XshvghKxGuU/St8yFgsfABI/AAAAAAAAABs/gfQYOW90kPY/s200/slime-browse-system.png", "formatted_filename": "slime browse system"}, null, null, null, null, null, null]



You're an intermediate to the Common Lisp language and are desperately looking for a practical project to try your Lisp skills at? You're longing for fame and glory?

If that's the case, I have something for you:
Sounds interesting? If so, drop me a mail.
Posted by trittweiler at 19:10 4 comments: 
Stas Boukarev just comitted two useful new commands to CVS: slime-open-system, and slime-browse-system. As you can see on the above screenshot, M-x slime-open-system, or alternatively the REPL shortcut ,open-system, will open all the files listed in a system's .asd file. Optionally, it'll also load the system if it's not already loaded.

And on the screenshot below, you can see M-x slime-browse-system (or ,browse-system at the REPL, respectively) which will open the directory a system's .asd file lays in using dired. Common Lisp is a wonderfully complex language, and probably no matter how long you've been studying it, you'll always find a thing you didn't know before.


Perhaps you're thinking of the color turquoise represented as a hexadecimal RGB value?


CL-USER> (setf *read-base* 16)


(Bonus point if you know how to restore *READ-BASE* to a value of 10 again.)



Right, #0AFOO is literal syntax for (make-array nil :initial-element 'foo).

And, yeah, even though Common Lisp is surely a complex beast, it's at the same time very well engineered. Witness thus:

CL-USER> (defvar *a*
(make-array nil :initial-element 41))
CL-USER> (incf (aref *a*))
CL-USER> *a*

And if you want to see really quirky stuff, take a look at strings with an element-type of nil.
Posted by trittweiler at 19:49 No comments: 
The editor-hints project is pleased to announce Named-Readtables.


It's a library a) to help you to organize your readtable hacks, and b) to help your development environment to deal with these hacks. For detailed information see What are Named-Readtables? in the documentation.


DEFREADTABLE (analogously to DEFPACKAGE) can be used to specify the content of a readtable.

IN-READTABLE (analogously to IN-PACKAGE) can be used to specify what readtable should be used while compiling a .lisp file.

Named-Readtables has an API very much inspired by the existing API of packages. But see Important API idiosyncrasies in the documentation.




darcs get http://common-lisp.net/project/editor-hints/darcs/named-readtables/


The release was tagged as 0.9 even though it's actually pretty much a 1.0. Experience tells that no matter how much you try to polish a piece of software, there will be two to three issues. The 1.0 will wait for these issues be reported.


The library has been tested on SBCL, CCL, Clisp, ABCL (head), ECL, Allegro 8.1, Lispworks 5.1.
Posted by trittweiler at 12:45 5 comments: