Upload
dotnet-miami
View
269
Download
3
Embed Size (px)
DESCRIPTION
dotNet Miami - April 19, 2012: Presented by Horacio Nunez: In this talk we are going to learn the basics of programming with F# from Visual Studio 2010. After talking a bit about the genesis of F# we will go through some examples illustrating the functional ways of F# and how it aligns with the other citizens of the managed world. Among the F# features we will visit are High Order Functions, Pattern Matching and the Asynchronous workflows.
Citation preview
What is F#?
F# Interactive
F# 101 (less than 10 minutes!)
Walkthrough: Functional
Numerical Matrixes
Online Resources
F# is multi-paradigm
programming language targeting
the .NET framework
functional
object oriented
imperative
language oriented
F#
Immutable values and data types
(No State => No Shared Memory)
let x = 10x = 10 //<!-- boolean
High Order Functions
(functions can be parameters and
results of other functions)
Type Inference
Think in C#’s var… everywhere
Declarative
Express the desired result, not the
step-by-step recipe
Lazy Evaluation
Use values only when you really
need it
Pattern Matching
The compiler “understands” types
Imperative
Mutable values and data types
(State => Probable Shared Memory)
let mutable x = 10x <- 10
Object Oriented
F# can consume and create OOP
designs seamlessly
also…
F# becomes MSIL, hard
to read, but MSIL
F# is fully supported in Visual
Studio except for GUI Designers
What is F#?
F# Interactive
F# 101 (less than 10 minutes!)
Walkthrough: Functional
Numerical Matrixs
Online Resources
What is F#?
F# Interactive
F# 101 (less than 10 minutes!)
Walkthrough: Functional
Numerical Matrixs
Online Resources
What is F#?
F# Interactive
F# 101 (less than 10 minutes!)
Walkthrough: Functional
Numerical Matrixs
Online Resources
Functional Abstractions for
Numerical Matrixes
Have you ever tried to create a
Matrix of order Int32.MaxValue?
Out of Memory Exception!
What is F#?
F# Interactive
F# 101 (less than 10 minutes!)
Walkthrough: Functional
Numerical Matrixs
Online Resources
ONLINE RESOURCES
Don Syme’ Blog (F# Designer)
http://blogs.msdn.com/b/dsyme/
Tomas Petricek's’ Blog
http://tomasp.net/
ONLINE RESOURCES
F# Snippets
http://fssnip.net/
Channel 9
http://channel9.msdn.com/
StackOverflow
http://stackoverflow.com/