• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Tech for devs, F#
 

Tech for devs, F#

on

  • 1,212 views

Introduction to functional languages and F# for developers. Used for the presentation of the same name to the Vermont Code Camp 2 at the University of Vermont on Sept. 11, 2010 at 12:30 PM.

Introduction to functional languages and F# for developers. Used for the presentation of the same name to the Vermont Code Camp 2 at the University of Vermont on Sept. 11, 2010 at 12:30 PM.

Statistics

Views

Total Views
1,212
Views on SlideShare
1,211
Embed Views
1

Actions

Likes
1
Downloads
17
Comments
0

1 Embed 1

https://twimg0-a.akamaihd.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tech for devs, F# Tech for devs, F# Presentation Transcript

    • Tech for Devs:Introduction to F#
      Rob Rohr
      12:30 - 1:30
      Sep 11, 2010
      Kalkin Hall
      University of Vermont
    • Functional Programming
      Emphasize application of functions over mutation of state (imperative programming style)
    • Um. Yeah. What?
      Functional
      fun inc x => x + 1
      Imperative
      x = x + 1
    • Important differences
      Academics – especially mathematicians - love functional programming!
      Type safety through inference
      Lack of side effects
    • Heh! What is it good for?
      Mathematical modeling
      Programming languages
      • i.e., DSLs
      List processing
      Parallel programming
      Concise code, fewer bugs
      !(“Absolutely nothing?”)
    • Popular functional programming languages
      Erlang
      Lisp
      Scheme
      Haskell
      OCaml/ML
      F#
    • Why F#, then?
      Superset of OCaml
      Full access to .NET
      Object Oriented
      First class tools
      Units!
      Y!
    • DEMO
      Working with F#
      in Visual Studio
    • Important: Let
      Let keyword
      • Not assignment
      • Binds value to symbol
      • Immutable
    • Important: |>
      Pipeline operator ( |> )
      Feed results of one function into input of next
      Takes advantage of easy composition of functions
      Removes many possible errors
    • Important: fun
      Define a function in line
      Anonymous function
      Lambda expression!
    • F# Powerpack
      http://fsharppowerpack.codeplex.com/
      Matrix library
      FsLexx & FsYacc
      LINQ in F#
      HTML Docs from F# code
      HashMultiMap
      SI Units of Measure
    • Parallelizable!
      How do I parallelize my map/reduce/fold code?
      Seq.map -> Seq.pmap
      etc.
    • Availability
      YOU MAY ALREADY HAVE IT Included in Visual Studio 2010
      OR, FOR FREE,
      Can install VS2010 Shell with August release of F# 2.0
      Can install VS2008 Shell with August release of F# 2.0
      Can install F# 2.0 for Mono/Mac/Linux/Windows
      http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/release.aspx
    • Resources
      F# Developer Centerhttp://fsharp.net
      Parallel Sampleshttp://tomasp.net/blog/fsharp-parallel-samples.aspx
      Chris Smith bloghttp://blogs.msdn.com/b/chrsmith/
      Luca Bolognese bloghttp://lucabolognese.wordpress.com/
    • More Resources
      F# at Microsoft Researchhttp://research.microsoft.com/en-us/um/cambridge/projects/fsharp/
      Don Syme’s bloghttp://blogs.msdn.com/b/dsyme/
      Luke Hoban’s bloghttp://blogs.msdn.com/b/lukeh/
    • Contact me:
      Rob RohrSchool of Business AdminUniversity of Vermont230 Kalkin HallBurlington, VT 05405-0157robert.rohr@uvm.edu@rob_rohr