- consume and produce .net libraries (everything c# can do except NullReferenceException)
- type providers, explore and use an api, strogly typed but easier than dynamic (example http://blogs.msdn.com/b/dsyme/archive/2013/01/30/twelve-type... or http://fsharp.github.io/FSharp.Data/library/Freebase.html or http://fsharp.github.io/FSharp.Data/library/CsvProvider.html)
- computation expression, easier to create like attempt/maybe and some builtin like async/query
- concurrency and async (battle tested multicore/threading/async using .net runtime)
- light syntax as default, like python (whitespace). ocaml like syntax can be used but is not idiomatic
- .net runtime and mono, really good vm
- overloading operators (operators are function), so + instead of multiple function like + and +.
try it
- user groups list http://c4fsharp.net/groups.html
- browser http://www.tryfsharp.org/
- more info fsharp.org
- open source http://github.com/Microsoft/visualfsharp (vs stuff) or http://github.com/fsharp/fsharp (cross plat)
- consume and produce .net libraries (everything c# can do except NullReferenceException)
- type providers, explore and use an api, strogly typed but easier than dynamic (example http://blogs.msdn.com/b/dsyme/archive/2013/01/30/twelve-type... or http://fsharp.github.io/FSharp.Data/library/Freebase.html or http://fsharp.github.io/FSharp.Data/library/CsvProvider.html)
- computation expression, easier to create like attempt/maybe and some builtin like async/query
- concurrency and async (battle tested multicore/threading/async using .net runtime)
- light syntax as default, like python (whitespace). ocaml like syntax can be used but is not idiomatic
- .net runtime and mono, really good vm
- overloading operators (operators are function), so + instead of multiple function like + and +.
try it
- user groups list http://c4fsharp.net/groups.html
- browser http://www.tryfsharp.org/
- more info fsharp.org
- open source http://github.com/Microsoft/visualfsharp (vs stuff) or http://github.com/fsharp/fsharp (cross plat)