

The F# Path to Relaxation [video] - mightybyte
https://www.youtube.com/watch?v=W-D6W7EA8gw

======
enricosada
F# is amazing.

Computation expression and type provider are awesome features, and the
language itself is really fun and easy to write/refactor/understand (this mean
code work as expected at first run usually) and help you write correct code

an good "why f#' [http://fsharpforfunandprofit.com/why-use-
fsharp/](http://fsharpforfunandprofit.com/why-use-fsharp/)

More info

\- user groups list
[http://c4fsharp.net/groups.html](http://c4fsharp.net/groups.html)

\- browser [http://www.tryfsharp.org/](http://www.tryfsharp.org/)

\- more info fsharp.org

\- open source
[http://github.com/Microsoft/visualfsharp](http://github.com/Microsoft/visualfsharp)
(vs stuff) or
[http://github.com/fsharp/fsharp](http://github.com/fsharp/fsharp) (cross
plat)

------
jamez1
F# is awesome, I wish I had jumped on it sooner. I find myself spending a lot
less time writing code and a lot more time thinking.

The .Net ecosystem is great. I hope more shops adopt F# in the future.

~~~
seanmcdirmid
I code to think. The only thing working against F# a bit is that C# isn't that
bad of a language.

~~~
pjmlp
And being sold as library only language on Visual Studio tooling, but I when I
look around the enterprise environments I work on, I do get the point why
Microsoft tries to push it that way.

------
tesmar2
As someone who is wanting to learn a functional language, it seems to me that
F# is a good place to start. I've heard people disparage the lack of HKTs, but
some of the other features like Type Providers seem too compelling to pass up.

~~~
marpstar
I've just really started using F#, but the first time I used the Type
Providers in FSharp.Data, I was blown away. That and F# interactive make
prototyping a REST API client something I can do in minutes.

------
icedog
If anybody is interested in F#, look for a nearby meetup group to join. The SF
F# group is pretty active and Mathias Brandewinder's hacker dojos are
absolutely awesome!

[0] [http://www.meetup.com/sfsharp/](http://www.meetup.com/sfsharp/)

------
yodsanklai
Could someone briefly sum up the differences between F# and OCaml? Are there
any reasons to switch from OCaml to F# in a Unix environment?

~~~
ignoramous
OCaml can compile to native. That makes it faster than F# running in a VM.
OCaml can compile to bytecode as well. Also, if you ever need interfacing with
C/CPP, OCaml is better suited (faster) to the task than, say, Ruby or JVM
based languages.

Apart from that, multithreading in OCaml is a bit like on its on Python, IIRC,
with GIL taking the sting out of it. But I am sure the researchers in France
and elsewhere would bring true multithreading / multicore support to OCaml
sooner rather than later.

More on what OCaml gets right:
[https://realworldocaml.org/](https://realworldocaml.org/) (which seems to be
down right now).

~~~
mercurial
There is a multicore runtime in the works, with an ETA of "when it's done".
That said, you have a couple of full-featured monadic concurrency libraries
(Lwt and Async).

It also has functors (they let you parametrize a module over other modules),
which F# doesn't, and you can do AST rewriting at compile-time via PPX (don't
know if F# has anything like that). On the other hand, F# has access to the
.NET ecosystem (which is admittedly larger than the OCaml one, though it
suffers from enterprisitis), and has some nice goodies like type providers.

~~~
VesaKarvonen
FYI, my Hopac library
([https://github.com/Hopac/Hopac](https://github.com/Hopac/Hopac)) is also a
full-featured monadic concurrency library, inspired by Concurrent ML, for F#
that is optimized for parallel programming.

------
rottyguy
How is F# for the web (both front and back end)? tx

~~~
soyrochus
Excellent. F# is fully supported by ASP.MVC / WebApi and there are a number of
F# specific frameworks/components available.

There are two "Javascript transpilers" available, WebSharper and FunScript,
both capable of compiling a large subset of F# to JavaScript. WebSharper
offers a very attractive "server mode" as well. And the new - soon to be
released - version 3.0 of WebSharper makes that into a very large subset and
supports features like source maps as well.

[http://fsharp.org/guides/web/](http://fsharp.org/guides/web/)

------
synaesthesisx
Isn't F# a ripoff of OCAML?

~~~
klibertp
What do you mean by "ripoff"? F# is not OCaml, but it indeed is closely
related. They share some syntax and basic language features like tail call
optimization, records and variants or pattern matching. On the other hand F#
object system is completely different from OCaml's as it needs to work with
other .NET languages. F# introduces active patterns and operator overloading
which is absent from OCaml. OCaml features a very sophisticated module system,
which in turn is absent from F#.

In short, F# and OCaml are similar but distinct languages. Both are
interesting and worth looking into, each in its own right.

------
everyone
Looks like there is a cat on that blue chair.

