F#
Kilka słów o...
O języku słów kilka
- Powstał w 2005 (Microsoft Research, Cambridge)
- @dsyme - Don Syme
- Pierwsze oficjalne wydanie w 2010
- Open Source
- Część .Net
- Od VS 2012 integralna część VS
- "Functional first"
- Obiektowy
- statycznie typowany
- Inferencja typów -protoplasta var
- Data in, data out
- Immutability
- Funkcje jako First-class objects
- Zrównoleglenie
Rodziny typów
- typ opcja
type option int option, option<int>
np. Some 3, Some "3", None.
type list int list, list<int>
np. [], [3;2;1].
type1-> type2 int -> string
np. (fun x -> x+1).
type1* ... * typeN int * string
np. (1,"3"), (3,2,1).
type[] int[]
unit unit void
np. ()
'T 'T, 'a, 'Key, 'Value
"Operatory"
- let
- =
- |>
- <-
- fun ->
Składnia
- Wcięcia
- brak nawiasów
-
Lightweight syntax
vs
Verbose Syntax
Demo #1
- Integers and basic functions
- Booleans
- Strings
- Tuples
- Lists and list processingOne
- Arrays
- Sequences
Demo #1
- Integers and basic functions
- Booleans
- Strings
- Tuples
- Lists and list processingOne
Dema
- Inne popularne typy
- Moduły a klasy
- Trochę więcej o funkcjach
- Asynchroniczność i F# a Rx
- Type Providers
Co w tym fajnego?
- Prosta/przejrzysta składnia
- Mniej bugów
- Szybszy time-to-market
- Wielowątkowość/asynchroniczność
- Optymalność względem CPU
- OpenSource
- ...
Gdzie szukać informacji?
Fsharp
By Krzysztof Izdebski
Fsharp
- 134
