2. Dealing With Concurrency Hire an expert, or … Software Transactional Memory, or … Functional Programming. -Unknown
3. Free, as in beer Free standalone compiler for .NET (Windows or Mono). Syntax highlighting for TextMate, vim, emacs, TextPad, jedit, and others. IDEs: MonoDevelop SharpDevelop Visual Studio Shell Microsoft Research Shared Source License
4. Robin Milner University of Edinburgh ML – 1970s Don Syme MSR Cambridge F# - 2002 Xavier Leroy, et al. INRIA, France Ocaml - 1996
14. Units of Measure [<Measure>] type kilogram letbowlingBall = 7.26<kilogram> let force (mass: float<kilogram>) = mass * 9.8
15. Pipeline operator let numbers = [1 .. 100] let square x = x * x letsumOfSquares = numbers |> List.mapsquare |> List.sum
16. Euler Problem #7 let isPrimenum = letupperDivisor = int32(sqrt(float num)) matchnumwith | 0 | 1 -> false | 2 -> true | n ->seq { 2 .. upperDivisor } |> Seq.forall(fun x ->num % x <> 0) let primes = Seq.initInfinite id |> Seq.filterisPrime let nthPrime n = Seq.nth n primes printfn "The 10001st prime number is %i." (nthPrime 10001) Code from "Juliet" on StackOverflow.
17. More… Matt Harrington: mbh.work@gmail.com SFsharp.org Luca Bolognese’s video (see links on SFsharp.org) Programming F# by Chris Smith