IntelliFactory / F# Programming II

Please RSVP for instructions on how to join the event.

Description

This course covers F# in the work-a-day world, with a focus on porting and interoperability.

What you will learn

  • How to port code to F#.
  • How to interoperate with existing Microsoft technologies such as:
    • Other .Net languages (C#, VB.Net)
    • LINQ
    • XML
  • How to leverage F# in conjunction with typical application programming scenarios:
    • User Interfaces
    • Web Programming
    • Databases
    • Distributed Computing
    • Scripting
    • Windows Services

Outline

  1. Interop
    • F#
      • Expressively powerful
    • C#
      • Mature IDE
      • Existing code bases
    • How do you get the best of both worlds?
  2. Intersection with C#
    • C# has some functional facilities
    • What F# structures look like in C#
  3. Imperative Conversion
    • Converting imperative code to functional
    • Immutable structures are thread safe
    • Sometimes mutation gains efficiency
  4. Tail Recursion
    • Refactoring non-tail recursion
      • Tail recursion
    • Tree recursion
      • Requires continuations
      • Trade stack space for heap space
  5. Debugging
    • Breakpoints
    • Assertions
  6. Scripting
    • Batch jobs
    • Running F# without Visual Studio
  7. IO
    • Streams
    • Piping
    • Use
  8. Databases
    • Interacting with databases
  9. Web Programming
    • ASP.Net
      • ASP.Net MVC
    • WebSharper
    • Web Services
    • WCF
  10. Distributed Computing
    • Remoting
    • Serialization
    • WCF
  11. Windows Services
    • Threading
    • Installers
    • Debugging
    • Event Logging
  12. GUI
    • WPF
      • Plays well with functional programming
      • IDE for XAML not currently available
      • Silverlight
    • Win Forms
      • Existing code base
  13. Units of Measure
    • Type system "rider" for numeric types
    • Compile time checking for unit usage
    • Type erasure
  14. XML
    • LINQ XML
      • Functional composition
    • Active patterns
      • For parsing XML
  15. LINQ
    • Can leverage LINQ
    • Less necessary in F#
      • Seq + |>

Upcoming events

No events

You must be logged in to book an onsite training.

Please use the login link on the top right.

IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper