Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

An Introduction to FSharp

789 views

Published on

This is the companion slides of a talk I gave for the .NET Miami user group on April 19th, 2012.

Published in: Technology
  • Be the first to comment

An Introduction to FSharp

  1. 1. An Introduction to F# Horacio Nunez {hnh12358@gmail.com, horatio.info}
  2. 2. What is F#?F# InteractiveF# 101 (less than 10 minutes!)Walkthrough: FunctionalNumerical MatrixesOnline Resources
  3. 3. F# is multi-paradigmprogramming language targeting the .NET framework
  4. 4. functionalobject orientedimperative F#language oriented
  5. 5. Immutable values and data types(No State => No Shared Memory)let x = 10x = 10 //<!-- boolean
  6. 6. High Order Functions(functions can be parameters and results of other functions)
  7. 7. Type InferenceThink in C#’s var… everywhere
  8. 8. DeclarativeExpress the desired result, not the step-by-step recipe
  9. 9. Lazy EvaluationUse values only when you really need it
  10. 10. Pattern MatchingThe compiler “understands” types
  11. 11. Imperative
  12. 12. Mutable values and data types(State => Probable Shared Memory)let mutable x = 10x <- 10
  13. 13. ObjectOriented
  14. 14. F# can consume and create OOP designs seamlessly
  15. 15. Keep in mind that…F# becomes MSIL, hard to read, but MSIL
  16. 16. F# is fully supported in VisualStudio except for GUI Designers
  17. 17. What is F#?F# InteractiveF# 101 (less than 10 minutes!)Walkthrough: FunctionalNumerical MatrixesOnline Resources
  18. 18. What is F#?F# InteractiveF# 101 (less than 10 minutes!)Walkthrough: FunctionalNumerical MatrixesOnline Resources
  19. 19. What is F#?F# InteractiveF# 101 (less than 10 minutes!)Walkthrough: FunctionalNumerical MatrixesOnline Resources
  20. 20. Functional Abstractions for Numerical Matrixes
  21. 21. Have you ever tried to create aMatrix of order Int32.MaxValue?
  22. 22. Out of Memory Exception!
  23. 23. Lets use a functional approach!
  24. 24. What is F#?F# InteractiveF# 101 (less than 10 minutes!)Walkthrough: FunctionalNumerical MatrixesOnline Resources
  25. 25. ONLINE RESOURCESDon Syme’ Blog (F# Designer)http://blogs.msdn.com/b/dsyme/Tomas Petriceks’ Bloghttp://tomasp.net/
  26. 26. ONLINE RESOURCESF# Snippetshttp://fssnip.net/Channel 9http://channel9.msdn.com/StackOverflowhttp://stackoverflow.com/

×