F# for the C# Developer

An exciting evening, that takes you from an object oriented view to a functional programming view (FP).

Heres how I’ll try to do it (code examples will be C# or F# based):

Highlight how core features of computation affect the scalability of design (e.g. mutability, memory management, object dispatching, …)

    - Goal: show how interfaces between abstraction layers are affecting your programs.

Introduce some of the base FP building blocks: discriminated union, fold, monad, …

    - Special attention will be given to the monad

    - Time permitting: intro to zippers and comonads

Finish by revisiting some classic OO design patterns from an FP perspective.

    - To celebrate 20y of design patterns.


Presenter: James Litsios

James has co-written and lead three major software systems:

• A derivative market making and algorithmic trading system

• A semicondutor device simulator

• A CAD system for analog circuits

When he is not taking on contract work, he like to write his own FP compilers and model human behavior.

Join or login to comment.

  • Dobrin D.

    in the end it was difficult to keep track of what each function was doing and to follow... otherwise good presentaation and interesting topic.
    Can we get the slides, so that we can try once more at home?

    1 · June 12, 2014

  • Zoran C.

    James' try to show Monads in a real example, was a brave one and unfortunately not very successful. I tried twice to learn Haskell and both times (several weeks of reading each time) I hit the wall on the Monads concept. Now after several months using FP in my daily job (with Clojure) I still don't understand Monads very well and frankly I don't need them. To my understanding Monads are powerful abstraction that help solve complicated problems by splitting the concerns.

    On the FP part, I clearly remember one case in my current job where we struggled to implement complicated business feature in a procedural style. Then when we switched our thinking to a functional way the solution felt much simpler, natural, and we finally had a gut feeling that the implementation is correct. So far we haven't had correctness issues in this (one of the two most complicated) part of our system.

    June 12, 2014

  • Pawel N.

    Feel a little bit smashed up after presentation ;) I've found the "script" part a little bit hard to follow -.-' I guess it comes partly from my inexperience in F# syntax and partly from the scripts readability & order of the functions on the presentation.
    I think it could be a little bit easier to understand if it was presented in VisualStudio with debugging through it or if the syntax was explained earlier in details. F# may be interesting to try at home, but in real business??
    Naah..I just can't see it, and can't imagine more ppl working in parallel with such code.
    There will be always one person who does this "spaghetti coding" and all other devs will stay as far as possible from it :P

    btw. Did we solve finally the "projector & blue screen of death" issue? :P Have a nice holidays! ;o)
    Cheers!

    1 · June 12, 2014

  • Gerald P.

    It was nice to see the basic idea of functional programming with F#. It was totally different from what I'm familiar of using OOP with C#. Thank you.

    June 12, 2014

  • Martin S.

    At the end of the talk I was none the wiser why I would use F# The syntax makes it very cryptic and difficult to read.

    June 12, 2014

  • nigel f.

    My daughter has been omitted to hospital, nothing serious but I have to be there...

    June 11, 2014

  • Manos K.

    I had to cancel because of a parents event of my son's kita. Pity though, I wanted to attend the last event before summer and the topic is so interesting. Anyway, if you guys organize any informal lets-get-together-to-drink-a-beer event on June or July, I'll be glad to see you there.

    1 · June 6, 2014

  • Matthias C.

    http://fsharpforfunandprofit.com/posts/cycles-and-modularity-in-the-wild/
    The author states: "My plan was to take ten or so projects written in C# and ten or so projects written in F#, and somehow compare them."

    The comparison features very nice graphs of several of these projects.
    The graphs for one of these languages look like a famous Italian dish;-)
    Looking forward to the event.

    May 14, 2014

Our Sponsors

People in this
Meetup are also in:

Imagine having a community behind you

Get started Learn more
Rafaël

We just grab a coffee and speak French. Some people have been coming every week for months... it creates a kind of warmth to the group.

Rafaël, started French Conversation Group

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy