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:
Post a Comment