F# presentation at Czech .NET Group meeting

On 2nd of November I did a presentation on F# and functional programming at the Czech .NET User Group meeting. Because I spent quite a lot of time with puting the presentation together I wanted to make it available to wider audience, so I translated the slides and examples to English (anyway, translating the content took me only a few minutes :-)). In case that some of the readers prefer Czech version, I attached the original documents too.

In the presentation I tried to introduce some basic concepts of functional programming (immutable values, lazy evaluation) to the audience with no experience with functional programming, as well as present some of the most interesting features of F# (like strict type system based on type inference, .NET interoperability and metaprogramming). The whole contents of the presentation is following:

  • Functional programming in F# - Introduction to the F# type system
  • Some useful functional idioms - How to do Foldl/Map/Filter functions and Lazy evaluation in C#
  • Interactive scripting - What is important for scripting, mathematical simulation
  • Interoperability between F# and other .NET languages - How to use .NET libraries from F# and F# libraries from ohter .NET languages
  • F# as a language for ASP.NET - How to use F# as a language for ASP.NET development
  • Meta-programming in F# - Meta-programming features in F# and the FLINQ project

Downloads

Read the complete article (English)
Tuesday, November 14, 2006

Slides and demos from F# presentation

This semester I attended Advanced .NET Seminar that was led by Tomas Matousek [^] who is one of the authors of Phalanger project [^] (Which is an amazing project by the way. It takes PHP source code and compiles it without any modification to .NET). Seminar was mostly focused on Rotor and .NET internals, so if you want to learn more about these topics you can look at Advanced .NET programming [^] slides (by Tomas Matousek).

I did one presentation at this seminar too. It was about the F# language developed at Microsoft Research. It was just a quick overview of F# features, because F# is very rich topic, so it coveres only the language (functional vs. imperative behavior), F# type system, compilation of F# constructs to .NET and interoperability with .NET (for example how to create windows forms application in F#). At the end, I also mentioned F# meta-programming that allows you to look at F# code as data.

Read the complete article (English)
Friday, June 09, 2006