3

Concerning a web app, using Common Lisp, Apache, and fastcgi can one match urls with the desired functions defined in top-level rather than writing separate script files per urls?

Is it possible to use both approach above in a development environment of Common Lisp Apache fastcgi combination? And how, by which tools?

Is it compulsory to use a server which is loaded on Common Lisp implementation (as described and mentioned as "simple-server" in this page presents sb-fastcgi) in a development environment of Common Lisp Apache fastcgi combination? Or it is not compulsory on SBCL Apache sb-fastcgi environment and "simple-server" mentioned there is just another way? I try to avoid a server like those and some others that is not as well supported and maintained as Apache.

Does fastcgi make the connection between Interpreter (a Common Lisp here) and Apache directly or via another server software loaded on Common Lisp, say like Hunchentoot or "simpleserver" mentioned?

I want to have both of above top mentioned approaches and to be able to run Common Lisp with Apache via fastcgi? What tools i need as sufficiently necessary?

8
  • 1
    I can only say that you want to have a Lisp server running independently of Apache server, otherwise you won't be able to use it for anything remotely serious due to a very long start-up time it would take on every request. This is what sb-fastcgi:simple-server does. I don't know whether there is a way by using sb-fastcgi to bind requests to functions, but you probably can come up with some sort of defhandler macro to do that relatively easily on your own. (You'd need to examine the request object and call a handler from some dispatch table you create). Commented Sep 20, 2013 at 7:19
  • 1
    thank you very much, i have difficulties in setting a habitat for Common Lisp, and have difficulties in finding help or documentation in this, and find this surprising. Anyway. Regarding your comment i want a lisp server running independently of apache server, is this the same thing that is done with Clisp and its FastCGI interface. in general I want to be clarified in 1. Is this separate server already exists in other fastcgi implementations implicitly, and it is just seen in sb-fastcgi explicitly say as a design choice of its API? Is it the general way that fastcgi protocol is implemented? Commented Sep 21, 2013 at 21:20
  • 2.about fastcgi it is written generally that it does not load a script each time a request is made but so it differs from cgi which loads every time, isn't that contrary to things you said about load times above. Commented Sep 21, 2013 at 21:21
  • 1
    Some use Node.js as their HTTP servers... in comparison, Hunchentoot isn't such a bad idea at all. I've not seen a site to manage large amounts of traffic running Lisp, so I can't tell if this setup will manage it, but I can't also find any counterargument, so, why not? Your first question: well, there are quite a lot of people who know Apache httpd insides quite well, it's often extended, so, maybe the authors of sb-fastcgi hoped that whoever will use it will know how to set things up? Maybe, if you want more docs, look en.wikipedia.org/wiki/FastCGI in the language binding section. Commented Sep 22, 2013 at 6:29
  • 1
    I would recommend using CLACK with ningle or lucerne using the fastcgi backend. Commented Oct 17, 2015 at 16:41

1 Answer 1

2

I use Clack for all web-development in lisp now. With Caveman2 you will have a pleasant lisp web experience :)

As the web documentation states:

The reason why Clack had only a few bugs so far is plenty of quality unit tests. There are 173 tests currently. The test coverage has been kept over 70% since its first official release.

All releases have passed the test suite on three CL implementations: Clozure CL, SBCL, and CLISP. You can check the current status at http://ci.clacklisp.org/.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.