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.

As part of a continuing quest for knowledge, I'm spending some time this week learning the basics of F# as an introduction to functional programming. I think I am understanding the construction of software under this model and some of the proposed benefits, but am still a little fuzzy on the real-world use cases.

I was hoping that a F# success stories, or at least a few applications that I'd be familiar with might make it a little clearer about when F# (or any functional programming language) would be appropriate for a project.

So back to the question, what are some well known applications that use F# or a similar functional programming language?

BTW: I am also open to hearing about some lesser-known apps, but if you mention one, please give the basics of what the app is about and why the language used was the appropriate choice.

share|improve this question

closed as primarily opinion-based by GlenH7, Thomas Owens Jul 15 '13 at 18:27

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

    
I'm curious about this well. I thought F# was a mathematics oriented MS Research Dept language. It'd be interesting to see if there are any programs out there using it that are recognizable. I doubt that there are any 'well known' programs that are entirely F# though. –  Kavet Kerek Nov 18 '10 at 15:59
1  
This question appears to be off-topic because it is a poll based question. –  GlenH7 Jul 15 '13 at 16:00

5 Answers 5

up vote 7 down vote accepted
  • The entire F# system (compiler, libraries and tools)
  • IronJS (already mentioned)
  • The XBox Live TrueSkill algorithm, as well as the whole Achievements system, the ranking system and the matchmaking system surrounding it

I guess the main reason why there are no "well-known" applications written in F#, is because it takes years, even decades to become "well-known" and F# simply isn't that old yet.

However, the overwhelming majority of applications are not "well-known". There is only one PowerPoint, but there are literally millions of hand-written custom little one-off in-house payroll apps.

And F# is certainly used in-house in many financial companies, doing scientific and numeric computing in, say, biotech or greentech, doing statistics god knows where and so on. These applications aren't well-known, either because they simply aren't "sexy" or often because the companies consider F# their secret weapon which gives them a competitive edge. (OCaml, Smalltalk and APL fill similar roles. Many financial companies use APL, for example, but they don't widely publicize it. Indeed, oftentimes the APL users aren't even programmers, and thus wouldn't even know where and how to publicize it even if they wanted to.)

share|improve this answer
1  
According to Wikipedia, F# is 8 years old. PHP, Java, C# were all being used in well known applications long before they hit that age. C#, for example, came out in 2001. And its pretty clear F# is more than a year behind C# in terms of usage. –  GrandmasterB Nov 22 '10 at 5:32
4  
@GrandmasterB: That might not exactly be a fair assessment. F# was just an experimental project until it was productized in VS2010, although it was viable in 2008. So I wouldn't exactly call it 8 years old. –  Robert Harvey Nov 28 '10 at 18:53

There is Tabbles. A file manager and organizer, with a lot of features. It provides a tagging system that you can even share with others. It's a commercial product.

share|improve this answer

I've wondered the same thing for awhile know. I really like F# but haven't seen anything in the realm of a commercial app. What I have heard (and quite frequently) is that F# has been used a lot in the financial realm.

What decent web-frameworks exists for functional programming? has some examples of web frameworks for functional programming languages and I know http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspx is an article how to write an ASP.Net MVC 2 Web app in F#.

As I have been searching articles on F# and a lot of examples and people's praise has come in the form of log parsers. But that is always followed up with a caveat of something along the lines of "I'm not allowed to use the language at work" (paraphrased of course). I'll try to find more examples.

I have been toying with the idea of creating a text-based MUD (Multi-User Dungeon) in F# but I never seem to have the time.

share|improve this answer
    
MUD == Multi User Dungeon? –  Robert Harvey Nov 18 '10 at 16:16
    
@Robert Harvey - that would be correct. I will edit that in for those who don't know. –  Jetti Nov 18 '10 at 16:39
    
I forgot to add WebSharper. It allows developers to create web sites entirely in F#. –  Jetti Nov 18 '10 at 18:53

Iron JS.

I personally think that it is odd that the only application I know of that is written in F# is something that allows you to write in a language other than F#.

To me, that says a lot about the true value of functional programming. People can celebrate how "beautiful" it is all they want--if it were so beautiful, people would be using it more.

share|improve this answer
    
I disagree with your last statement. People DO use F#, in fact, they use it so much that it has become a part of Visual Studio 2010. F# has been adopted in financial sector just as Erlang has been adopted in telecommunications. Just because I can write an app in F# doesn't mean I will just to do so. The language (and FP languages in general) have their strengths and weaknesses and so they will be widely used in areas that can benefit from their strength! –  Jetti Nov 22 '10 at 1:50
    
@Jetti, Sure thing. Its been over 30 years since functional programming was conceived, but I'm sure its bound to knock procedural programming off its pedestal any day now. I'm not saying it doesn't have some merits--some things can be done quite elegantly with functional. What I am saying is that it will never dominate. –  Stargazer712 Nov 22 '10 at 4:08
    
@Stargzer712 - I agree that it will never dominate and for good reason too. –  Jetti Nov 22 '10 at 13:36

I looked at F# briefly when I wanted to write a SQL parser, which I ended up implementing in Haskell. That said, you could use F# anywhere you would use C#, but would it be worth it? If you'll be doing a lot of functional programming, using F# will be worthwhile, as the syntax for functional constructs is friendlier. If you're doing mostly OO, it's probably better to stick with C#.

share|improve this answer
    
I agree with Larry Coleman. Why would somebody do something in F# when they can do it in C#? I think it is safe to say that the majority of times that F# is beneficial over C# it isn't in a commercial app situation. –  Jetti Nov 18 '10 at 19:06
1  
I think this is largely the MS perspective too. C# and VB.NET were presented as either/or to each other, but I think the goal with F# (and to a lesser extent, languages like IronPython and Boo) is to encourage polyglot programming: using different languages with unique features to solve different kinds of problems. –  CodexArcanum Nov 18 '10 at 19:11
    
@Jetti F# is very good for any kind of data processing, for parsing, and for any calculation-heavy field where correctness matters. Functional Programming in general offers a level of expressiveness that makes many kinds of programs very easy to write. None of that is very visible, front-end stuff like a website or a GUI application, areas where C# excels. You can use LINQ to get some of the FP in C#, but F# is a more natural language to express such code. –  CodexArcanum Nov 18 '10 at 19:14
    
@CodexArcanum - I completely agree with you. I guess I was misuing "Commercial App", I should've said "Everyday Consumer Application (i.e Office, Firefox, etc)" –  Jetti Nov 18 '10 at 19:50
1  
@Jetti: I would recommend Haskell over F# if you're interested in learning functional programming. You'll learn it faster because you won't be able to do procedural or OO in it. –  Larry Coleman Nov 18 '10 at 21:28

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