I would like to do some web programming using functional programming. What decent web-frameworks exists for functional programming languages?
closed as not constructive by gnat, thorsten müller, GlenH7♦, Martijn Pieters, Jim G. Apr 21 '13 at 0:00
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.
locked by maple_shaft♦ Jul 21 '13 at 21:49
This question exists because it has historical significance, but it is not considered a good, on-topic question for this site so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. See the help center for guidance on writing a good question.
Read more about locked posts here.
Lift is an interesting framework for Scala. The practical advantage of Scala is that it can use any existing Java libraries.
(defpage "/welcome"  "Welcome to Noir!") (server/start 8080)
I particularly like the way that you can then build your entire web application just using function composition, supported with a few macros to enable a nice declarative DSL.
Compojure is an open source web framework for the Clojure programming language.
As you have left any languages out of the question, I guess you accept multiple languages...
So for the language F# there exists FSharp.WebTools.
I recommend looking into Erlang and yaws. Erlang is a lightweight functional programming language with a great set of features, good libraries and an active development community. Yaws is efficient and well matained.
Snap is a nice and really fast web framework for Haskell.
a simple web development framework for unix systems, written in the Haskell programming language. Snap has a high level of test coverage and is well-documented. Features include:
- A fast HTTP server library
- A sensible and clean monad for web programming
- An HTML-based templating system for generating pages...
There is a comparison of Erlang web frameworks on Github:
I haven't played with all the frameworks listed there so I don't want to judge, but I've been using Zotonic quite extensively in my currently project and I can wholeheartedly recommend it. As far as I know it's the only Erlang framework which is not only a framework but also a full-blown CMS. So you can start easily with just the CMS features and then expand the website by adding your custom functionality using your own modules. In my case I am using it purely as a framework because at this moment the CMS features work only with PostgreSQL and I can't use a separate database. But even just as a framework it offers lots of features not always found in the other frameworks.
What's very nice is that the project is being very actively developed because the people behind Zotonic design and implement websites and they use it as their CMS of choice.
If I had to choose then I would probably give Zotonic the first chance, then ChicagoBoss, and then Nitrogen.