(defparameter *app* (make-instance '<app>)) @route GET "/" (defun index () (with-layout (:title "Welcome to My site") (render #P"index.tmpl")))
Common Lisp, the most powerful language
Lisp is a language for doing what you've been told is impossible.— Kent Pitman
Common Lisp is the standardized most powerful language with high-performance implementations in the world. It has lexical closures, multi-dispatch object system called CLOS, the metaobject protocol and macros.
Caveman2 is written in portable Common Lisp. You don't need to compromise on its language.
As Caveman2 bases on Clack, your web application works on many web servers without changing any code.
Are you tired of hearing “lightweight” or “micro” web application framework with no database support?
Caveman2 provides a database integration feature by default without riding on rails.
(use-package :caveman2.db) (defun search-adults () (let ((db (connect-db :maindb))) (select-all db :* (from :person) (where (:>= :age 20)))))
Caveman2 is designed to not force anything to users. When you find a point you don't like in Caveman2, you can replace it by your favorites in most cases.
Caveman2 is available on Quicklisp since November 11, 2013.
Not ready yet. See README.
If you found a bug, report it on GitHub Issues. Of course, you can fork and send a pull request to me. Thank you for your contribution.