Time to revisit Wilbur, part 2
I am happy to say that after I blogged about a Wilbur "redux", several people have already contacted me about the idea.
Now I have been thinking mostly what existing software I could use in the reimplementation. Last few years, many good quality libraries for Common Lisp have emerged. Here's my current thinking about the most critical bits:
- HTTP client: Drakma
- HTTP server: Hunchentoot (the Common Lisp version of OINK, on top of Wilbur, uses Portable Allegroserve, but I think we need to let go of that now)
- XML parser: several choices are available (CL-XML, S-XML, CXML), I have to figure out which one would make sense; I just need a "SAX-like" API for the RDF parser (which will be recycled from the Wilbur2 implementation)
- SQL connectivity: CL-SQL
- HTML generation: possibly CL-WHO, but the functionality I implemented for OINK earlier is actually pretty good and could be reused
Many other libraries also under consideration (URIs/URLs, EXIF metadata extraction, JSON, etc.).
On a slightly different topic, someone suggested I should consider reimplementing Wilbur in Clojure. Certainly then the availability of libraries would not be a problem.
Posted by ora at 20:24
Regarding the Clojure option... My first impression was not so positive. Specially after I have had to deal with the Java stack trace:
In the comments:
"...Regarding stacktrace, I'm talking about the level of interleaving. SBCL is implemented in C, but you don't see C stack, when you encounter an error in your Lisp code. In Clojure you actually deal with Java stacktrace not only as an implementation, but as a concept..."
But it is an idea, probably worth to be tested!
Posted by: Alexandre Rademaker at April 10, 2012 10:30 PM
Valid point, I was worried about that.
Also, I have (uh oh) close to 30 years of CL experience, and only just started learning about Clojure...
Posted by: Ora Lassila at April 11, 2012 09:48 AM