views:

1543

answers:

6

I'm starting to learn f#, and I really like it: now I wonder if "out there" someone has written any "real world" app in this wonderful language.

Do you know of, or have developed anything of this kind in F#? And in which fields? Thanks!

+10  A: 

In episode 293 of Dot Net Rocks one of the guests is Ralf Herbrich from Microsoft Research. Among other things, he talks about his work on the TrueSkill ranking system in Halo 3, where they used F#.

So check out the podcast episode above to listen to a discussion about the use of F#.

Erik Öjebo
+1  A: 

When you install F# there's a bunch of samples that come with it. For Windows forms examples look in the subfolder "SimpleForm" or the subfolder "WinForms".

I think Tomas Petricek's "F# web tool kit" is an interesting example of using F# for asp.net development.

(Tomas was responsible for the Phalanger compiler, which compiled php into .net msil)

Leon Bambrick
uhm in the last F# distributions (now we have 1.9.6.2) I cannot find any asp.net sample, those mentioned in the tomas Petricek's article... any hint on how I can find them? Thanks, Andrea
ila
+2  A: 

We have developed F# for Numerics and F# for Visualization in F# (of course!). Both are aimed at scientists and engineers. The former is a suite of easy-to-use numerical methods. The latter is a library for graphing, charting and arbitrary 2D and 3D visualization that supports F#'s interactive sessions as well as embedding in your own applications as ordinary WPF controls.

We intend to write end user applications in F# in the future, which may well include a standalone environment for interactive technical computing based upon our current libraries.

Cheers, Jon Harrop.

Jon Harrop
+5  A: 
+1  A: 

I've been using F# to develop a plug-in to AutoCAD for designing programmable microfluidic chips (user site, developer site).

namin
+4  A: 

I have developed an RSS filter program that can filter all RSS feeds to what I need to analyze. Loving the async stuff in f#. Example key word searches are a breeze using match options. You just plug them in and it all works using secret worker threading stuff that I don't care about (from a c# background).

Working in data as opposed to objects feels more natural when dealing with streams of data. Lately been looking at DB input output and realised that MS have tried to make something Object which is clearly not.

I love working in objects, it makes analysis of the world around me a lot easier. But damn the impediment of streams and objects.

A stream as implied by the title is a stream of data analogous to water, flow, start, stop. It does not fit in the nice encapsulated world of objects where everything has boundaries.

So real work apps. Yes F# is going to fit into the real world nicely, especially for web programming where everything is an asynchronous stream of data, with start and stop boundaries.

Attach those streams to events, and suddenly its all gone a bit unix and the pipe metaphor. Maybe I should look at other languages. Is F# a language that is going to kill MS from the inside out. It might do. It does give nice little tastes of what can be done when you go pre 1980's programming.

The term throwing the baby out with the bath water is the best way to describe the 1980's attitude to objects, so many vendors sold the idea of objects that they dumbed it down and passed it as law. It gave us java and c# and everything is a noun with descriptions attitude. It made a lot of things easier, but a few things a pain in the a!"£$.

F# is the law giver, the law breaker. The language of real men who drink heavily, smoke woodbines and wear "grrrrrr" cologne. I want my car to break down once in a while, I want to wake up in jail and thing, boy shouldn't have done that with the mash potato.

Make a choice, be a man. F# is the way my son.

Say good bye to the quiche generation!

iestyn
Thanks Erik, I'll hear the podcast. Anyway it looks like there aren't a lot of uses for F# still... maybe we have to wait for MS to ship it in VStudio10?
ila