Recording and samples from my Reactive F# talk
Almost a week ago, I posted an invitation to my F# talk at the F#unctional Londoners user group. The theme of my talk was reactive programming, which was also a topic of my Master's thesis (defended earlier in June), so I really enjoyed talking about it. In the talk, I discussed the two approaches that you can use for developing reactive applications in F# (using examples in Silverlight):
- Declarative (or data-flow oriented) allows you to describe "what" should be
done with data that your component receives from various events (such as mouse position etc.) This can
be written using F# event combinators such as
Event.mapandEvent.scan. - Imperative (or control-flow oriented) - in this style, we describe various
states of the component (e.g. semaphore with green, orange and red) and describe transitions between the
states. This can be written using F# asynchronous workflows and the
AwaitObservableprimitive (which you can get as part of the source code).
Thanks to the folks from SkillsMatter who provided place for the meetup and helped with the organization, the talk was also recorded and is already available online! Below, you can also get all the nice Silverlight demos that I used during the talk...
Thanks again to Carolyn Miller and Phil Trelford for organizing the talk and also to Don Syme for taking me to the airport in the early morning (at 4 AM...) after the talk.
Links & Resources
- Reactive Programming in F# (recording) - Skills Matter
- Slides from the talk (PDF, PPTX formats)
- Reactive F# demos in Silverlight (includes
AwaitObservableimplementation)
Permanent link & comments (English)
Sunday, June 27, 2010
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.
- The F# language (67kB) - presentation slides in PDF
- F# Samples (54kB) - zipped VS 2005 solution with samples
Read the complete article (English)
Friday, June 09, 2006


