Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What very large functional language projects are freely available? [closed]

To begin with, I'm virtually sold on the 'whole functional language thing'. It occurs to me that, for years, I've been doing mostly functional-style programming in Java. But I'm a bit loss as to how to start a large functional app. I'd like to see the source and build structure of a large project (OSS or whatever) so that I can see how modularity is best handled in such an environment.

The context of my question is that I want to start a large JVM project and I'm currently thinking of choosing a Java/Groovy mix or a Scala/Groovy mix. I don't want to go with the Scala/Groovy mix unless I'm going in the functional direction because I don't like Scala for OO programming (a completely different topic). This means avoiding stuff like DI frameworks, AspectJ, etc. (I know I can emulate/accomplish/approve on these things with functional programming... but that's not relevant here.) I'm worried that the lack of very large publicly visible projects using these languages is due to the common argument that they really are poor for large projects, which would be a real shame...

So I ask, what large fp projects (lets say 20K+ lines) do you follow? I'd be most happy to hear of any that run in a language on the JVM. Especially if you feel they handle modularity in a good way.

like image 692
Dave Avatar asked Sep 19 '09 20:09

Dave


People also ask

What are examples of functional languages?

Some of the popular functional programming languages include: Lisp, Python, Erlang, Haskell, Clojure, etc.

Which is a functional programming language?

Functional programming has historically been less popular than imperative programming, but many functional languages are seeing use today in industry and education, including Common Lisp, Scheme, Clojure, Wolfram Language, Racket, Erlang, Elixir, OCaml, Haskell, and F#.

Why functional languages are not popular?

Functional languages are not very popular for production code because they are not very popular for production code.


2 Answers

I'm trying to grok Erlang these days, which Scala is influenced by. I like to study the source code of yaws, which is a high-performance http server, and Wings 3D, a subdivision modeler. Very educational, the best way to learn a new language is to read it.

like image 187
sunny256 Avatar answered Oct 08 '22 10:10

sunny256


The darcs distributed version control system is pure haskell, i.e. pure and lazy fp. By lines of code this might not seem to be a large project, but keep in mind that haskell syntax is very dense.

like image 24
ordnungswidrig Avatar answered Oct 08 '22 10:10

ordnungswidrig