Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I would like to do some web programming using functional programming. What decent web-frameworks exists for functional programming languages?

share
1  
I know this isn't what you asked, but Javascript combined with Underscore.js supports a functional programming style very well. –  user16764 Feb 22 '12 at 19:19
comments disabled on deleted / locked posts

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. More info: help center.

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.

9 Answers

up vote 7 down vote accepted

Lift is an interesting framework for Scala. The practical advantage of Scala is that it can use any existing Java libraries.

share
add comment

There are many many more (even I'm developing one in F#) but I think these (and Lift, already mentioned) are the most complete/popular/documented. I can't comment on Erlang frameworks.

share
add comment

There's a list of web frameworks available for Erlang. Summarizing that list here:

Of those the two that look most of interest to me are webmachine and nitrogen. YMMV.

share
    
Was "[list]" supposed to be a link? –  Anna Lear Feb 12 '11 at 6:01
    
Oops. Yes it was. I'll fix that. –  JUST MY correct OPINION Feb 12 '11 at 6:02
add comment

Noir is beautiful, functional and simple (in the Rich Hickey "Simple Made Easy" sense):

(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.

share
add comment

Compojure is an open source web framework for the Clojure programming language.

http://en.wikibooks.org/wiki/Compojure

share
add comment

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.

The F# Web Tools augment the F# distribution with tools to author homogeneous client/server/database web applications in one type-checked project. The modal distinctions between client and server are checked through the use of F# workflows, and LINQ can be used for database access. In the first version, parts of the application are dynamically served as JavaScript. Planned extensions include serving client-side portions as Silverlight code.

share
    
The codeplex link is broken, should be fswebtools.codeplex.com –  Robert Harvey Sep 13 '10 at 21:15
    
Fixed, I'm going to type > from now on as the button doesn't work right. –  Tom Wijsman Sep 13 '10 at 21:36
add comment

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.

share
    
Yes, I like Erlang and Yaws, but I'm looking for a decent framework. –  Jonas Oct 1 '10 at 9:34
add comment

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...
share
add comment

There is a comparison of Erlang web frameworks on Github:

https://github.com/evanmiller/ChicagoBoss/wiki/Comparison-of-Erlang-Web-Frameworks

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.

share
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.