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

Gránicz Ádám. 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.

Hasonló előadás


Az előadások a következő témára: "Gránicz Ádám. 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."— Előadás másolata:

1 Gránicz Ádám

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 = 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 Syme/dp/

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


Letölteni ppt "Gránicz Ádám. 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."

Hasonló előadás


Google Hirdetések