
"F# async on the server side" - node.fs in waiting? - hugorodgerbrown
http://lorgonblog.wordpress.com/2010/03/28/f-async-on-the-server-side/
======
jinushaun
The article compared "async" C# to async F# and makes the claim that F# is
better because of the lighter syntax. The only problem is that they're using
the wrong version of C#. C# is expected to get the same async feature in the
next version. Version 4 brought dynamic features to C# and completely changed
the language. Version 5 is expected to bring async and change how people use
C# again.

It's really slick and MS should really be commended for their work on it. It
makes writing asynchronous code as straightforward as writing regular code. No
crazy callbacks. That's what is so great about the CLI. All the .NET languages
get an upgrade when the CLI gets an upgrade. All the work done to support
Python and Ruby on .NET led to the dynamic and functional features of C# 4.

~~~
darklajid
But F# is stable, officially supported (as one of the three - VB.Net, C#, F#)
- and comes with this _now_.

I like the language a lot and think that it has great potential. It's a shame
that there's so little weight behind it so far, ignoring niche markets (banks
for example).

~~~
hvs
It took Python and Ruby over 10 years to break into the "big time". F#, while
really cool, still doesn't have its "killer app" to drive adoption.

Keep in mind, F# only _just_ became a first-class language in the MS suite
with VS2010. Give it time.

~~~
runevault
And they didn't release an f# express, you have to install shell and then
install the f# runtime on top of that, instead of just one simple install the
way c# and vb.net is. It isn't the end of the world but seems stupid if they
want to increase adoption of the language.

~~~
panesofglass
That's because it's not an Express -- i.e. stripped down -- version. It's the
full package. You can easily use F# from the command line, as you can with
Ruby and Python. F# is also open sourced [1], so you can also build and run it
on *nix with Mono [2]. Why would I want an Express edition?

[1] <https://github.com/fsharp/fsharp> [2] [http://chrismarinos.com/f-on-
ubuntu-linux-with-mono-and-mono...](http://chrismarinos.com/f-on-ubuntu-linux-
with-mono-and-monodevelop/)

------
DanielBMarkham
As soon as I saw node.fs, I knew it had to be done in F# (preferably with
Mono). It's just too good not to be done. All the goodness of functional-
reactive servers with the .NET pantheon of libraries thrown in.

I especially like the code/time comparisons at the bottom. For those C# and
other .NET guys, yes, you can do the same thing in any .NET language. That's
not the point. What F# brings is the ability to think and write code in a
quicker, more concise manner that's also more error-free. Modern coding
environments are more and more lending themselves to FP.

------
hugh4life
It would be great to see an F# aync http server combined with something like
WebSharper(which allows writing a lot of javascript in F#).

<http://websharper.com/samples/Canvas>

<http://websharper.com/samples/WebGL>

Get it to work on Mono and it would be Mono and F#'s killer app(stack).

~~~
panesofglass
Working on it... ;)

<http://github.com/fractureio/fracture>

------
hugorodgerbrown
NB I found this after listening to a podcast about IronJS, during which
Fredrik Holmström mentioned that F# would be a much better starting point for
an async http server.

~~~
hugh4life
He wrote this blog post today.

[http://ironjs.wordpress.com/2011/06/22/my-gripes-with-
javasc...](http://ironjs.wordpress.com/2011/06/22/my-gripes-with-javascript/)

------
mdpm
_cough_

There are things like <https://github.com/panesofglass/frack> already. That's
not the only one. This entire approach running on the stack and frameworks it
can is a massive deal, and running silent at present.

------
j_s
For semi-related further reading, here is the second in a blog series
extending async F# in the context of developing GUIs:

<http://tomasp.net/blog/safe-gui-async.aspx>

