2007/10/19

Currying und partielle Funktionsapplikation Part 2

Letztes Mal habe ich Currying und partielle Funktionsapplikation in C#, Scheme und Ruby verglichen. Da ich aber funktionale Programmierung hauptsächlich in meiner Freizeit studiere und meine Brötchen immer noch vorwiegend mit .NET verdiene, ist es für mich - eine zugegebenermassen höchst angenehme - Pflicht, das ganze noch kurz in F# anzuschauen.

Deshalb hier also nur ganz kurz als Ergänzung zum letzten Post das Beispiel in F#:


#light
let add a b = a + b
printf "result %i" ((add 2) 3)

let inc = add 1
let result = inc 3
printf "\nresult %i" result

Huh!? Currying wird in F# (wie in Haskell auch) schon von der Sprache selbst unterstützt und es ist hier möglich, eine beliebige Funktion ohne Umweg partiell zu applizieren.

Nice.

No comments: