Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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:
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.