Thursday, May 14, 2009

Programming weblocks

It has been more then a year since the time I last worked with weblocks. So I was anxious to see how much the things improved with the latest version. I'm usually working on windows using lispworks so I've unpacked weblocks archive into my Lisp Libraries and expected Edi's starter pack to do its magic. To no avail as asdf failed. It was obvious that weblocks still depends on symbolic links to compile and run. I've did the easiest thing reshuffled some folders so starter pack could find them and weblocks started compiling. Lispworks spewed some errors that I could ignore and after few minutes I was playing with the demo and the blog. Afterward I tried running the tests but exhausted the heap of my personal edition. This was the third bad omen in a single hour so I decided to switch to linux. Luckily new Ubuntu 9.04 recently came out and I already had a virtual machine set up for running it together with sbcl and slime.
Only thing I was missing was clbuild. It took some time to install all dependencies (darcs, svn, hf ) but the process was smooth. With clbuild installed I've downloaded weblocks and clbuild took care about the dependencies. The problem was that when I've started slime and asdf:load-op :weblocks couldn't found the files in the clbuild directories. I was tired to think so instead of pushing a link to asdf directories I just copied at the .sbcl folder. Then I've run the demos and weblocks tests.
I have an application that I make every time I learn a new web UI framework, sort of used cars shop so I started making it with weblocks. To cut on the setup I've copied the weblocks demo files, since it already has the employee functionality. The only thing I needed to change was position class instead of company class. Actually I've tried calling it position but there is already a function with that name so I was forced to change to positions. I've added a class for storing cars and started looking on the prefabricated widgets source to see what else is available.
The login widget was there so I quickly added it and it was time to sleep.
So far Weblocks looks very cool. The author and maintainers did a good job for creating a public consumption ready product.
Unfortunately the number of prefabricated widgets is very far from what I'm used to. So today If times allows will check how easy is to extend it with new types and widgets.

Thursday, May 7, 2009

Lisp outside the Box

It seems that lisp is really coming back this time through the front door. Nick Levine, the author of Fundamentals of CLOS, just announced a new book about lisp, that will be published by O'Reilly.
The common lisp groups in LinkedIn (Common Lisp, Lispniks & LispNYC) are growing fast with many known and new names joining. Anyway Reasoned Schemer was finally delivered so I only need some time to read it. Let see what Kanren could teach me what kind of data should I return in my project.

Tuesday, May 5, 2009

Land of Lisp

Conrad Barski lisper with talent to make funny comics with weird sense of humor seems to be preparing new book Land of Lisp Learn to Program in Lisp, One Game at a Time!. I hope there will be ebook edition this time beside the print. Read first at Nikodemus Siivola blog.

Sunday, May 3, 2009

Rafael Cavallaro again

Second cutting remark by Rafael Cavallaro in c.l.l.

Mark Tarver:
Python does not have much to teach CL as a language; but it does have a lot to teach the CL community as a success story. Guido made some right moves and CL people did not. It is worth reflecting on what he did that made Python such a success.

Rafael Cavallaro:
Aimed low?

Friday, May 1, 2009

Starting with Prolog

I've finished implementation of suciu algorithm complete with tests and must say there is one function with the ugliest lisp code I've ever written.I've planned to test for performance against cl-unification but it would keep me more motivated to start implementing Prolog immediately then improve performance when the library is finished.