Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Funkcionális programozás F#-ban

Hasonló előadás


Az előadások a következő témára: "Funkcionális programozás F#-ban"— Előadás másolata:

1 Funkcionális programozás F#-ban
Gránicz Ádám Funkcionális programozás F#-ban

2 Funkcionális Programozás
Imperatív vs Funkcionális Állapotváltozások sorozata egymásba ágyazott függvények alkalmazása változok nélkül Néhány fontos FP elem: első osztályú függvények, magasabb-szintű függvények, rekurzió mint flow control, closure-ok, mohó és lusta kiértékelés, polimorfizmus, típus inferencia, totális adatstrukturák, pattern matching, stb.

3 F# Funkcionális és objektum-orientált
Erősen tipizált, kiváló és gyors kód .NET alatt a legkiforrottabb FP nyelv, teljes VS integrációval Interoperabilitás más .NET nyelvekkel Szimbolikus szkriptezés és programozás

4 Első osztályú függvények
A legfontosabb alkotóelem: a függvények „értékek”, csakúgy mint a számok, stringek, stb.  Tehát ki lehet őket számítani Anoním függvény: fun x -> x+1 fun x y -> x+y

5 Magasabb-szintű függvények
Olyan függvények amik más függvényeket várnak mint parameter let f g x = g (g x) let double x = x+x f double 1  4 List.map double [1; 2; 3]  [1; 4; 6]

6 LINQ [ … LINQ ... ]

7 Closure-ok let d f = let dx = 0.00001 fun x -> (f(x+dx)–(f x))/dx
d (fun x->x*x*x) 10.0

8 Polimorfizmus és típus inferencia
Nincs szükség típus annotációra A fordító „megtalálja” a legáltalánosabb típust let id x = x val id: ‘a->‘a // polimorfikus függvény val d:(float->float)->float-> float

9 Diszkriminált uniók / Pattern Matching
[ … kifejezés kiértékelő ... ]

10 DSL implementáció [ … IntelliLOGO ... ]

11 F# Demók [Game of life, 3D vizualizáció, Deriválás]

12 Könyv Expert F# Don Syme, Adam Granicz, Antonio Cisternino

13 Kérdések? Több információ itt:


Letölteni ppt "Funkcionális programozás F#-ban"

Hasonló előadás


Google Hirdetések