2008

2007

Implementation of a blog in Common Lisp: Part 1

▁ jan 04 2008

The last few weeks I’ve been playing around with Common Lisp. I’ve been doing that off and on (mostly off) for a few years now, never really getting the hang of it because I’ve been too easily distracted. This time I thought I’d give it another try, and to make it more practical I’ve given myself a little project so that I’m using what I’m learning for something concrete.

For this project I’ve been looking into various frameworks for web application development, and I’ve come up with a combination I think works ok. To help others on their way, I’ve decided to create a small tutorial on how to create a blog with Hunchentoot, html-template and Elephant. This is just to introduce the frameworks and show how easy it can be.

Part 1 shows how data can be stored persistently, and HTML pages generated and served to the user. Enjoy!

← Previous: Language choice  //  Next: Implementation of a blog in Common Lisp: Part 2

comments

Jesper, 1 year ago:

Great article! Nice to have something practical to look at when you want to learn CL.

Can’t wait for part 2!

Zach Beane, 1 year ago:

Very cool! I recommend using ASDF to make a system to load everything, though, instead of putting “require” into a source file.

fsdaily.com, 1 year ago:

Your story has been submitted to fsdaily.com! Come and promote your article by voting for it here on FSDaily! Let your readers know they can vote for your story too….

David, 1 year ago:

Awesome introduction to web development with CL! I’ve been looking for a tutorial like this. Thanks.

vetler, 1 year ago:

@Zach: thanks for the tip, I’ll look into it.

Scott Hickey, 11 months ago:

Thank for putting this tutorial together. A group of us lisper-wanna-bees were working through it over breakfast last week. It might help the newbees to add how to start hunchentoot.

(hunchentoot:start-server :port 8080)

vetler, 11 months ago:

Scott, thanks for the feedback. I can’t believe I left that out of the tutorial… It’s in the code, of course.

Reading through the last section in part 1, it seems that I’ve simply forgotten to add the code to start the server to the code listing.

powered by