Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεŌΓώγ Καλύβας Τροποποιήθηκε πριν 9 χρόνια
1
HASKELL LANGUAGE REPORT Brett Nelson
2
John von Neumann
3
PAUL BERNAYS
4
ALAN TURING
5
ALONZO CHURCH
6
HASKELL CURRY
7
WHAT DO YOU NOTICE?
8
Lambda Calculus Stephen Kleene Alonza Church
9
x.fried-x If we applied chicken to the fryer function like this: x.fried-x chicken => fried-chicken Lambda Fryer Function
10
0 = λf.λx.x 1 = λf.λx.f(x) 2 = λf.λx.f(f(x)) 3 = λf.λx.f(f(f(x))) 4 = λf.λx.f(f(f(f(x)))) Church Integers
11
SUCC = λs.λw.λt.w(s w t) Successor Function
12
SUCC = λs.λw.λt.w(s w t) λs.λw.λt.w(s w t) (λf.λx.x) Successor Function
13
SUCC = λs.λw.λt.w(s w t) λs.λw.λt.w(s w t) (λf.λx.x) λw.λt.w((λf.λx.x) w t) Successor Function
14
SUCC = λs.λw.λt.w(s w t) λs.λw.λt.w(s w t) (λf.λx.x) λw.λt.w((λf.λx.x) w t) w.λt.w((λx.x) t) Successor Function
15
SUCC = λs.λw.λt.w(s w t) λs.λw.λt.w(s w t) (λf.λx.x) λw.λt.w((λf.λx.x) w t) w.λt.w((λx.x) t) λw.λt.w( t ) Successor Function
16
λw.λt.w( t ) 0 = λf.λx.x 1 = λf.λx.f(x) 2 = λf.λx.f(f(x)) 3 = λf.λx.f(f(f(x))) 4 = λf.λx.f(f(f(f(x)))) Church Integers
17
qsort( a, lo, hi ) int a[], hi, lo; { int h, l, p, t; if (lo < hi) { l = lo; h = hi; p = a[hi]; do { while ((l < h) && (a[l] <= p)) l = l+1; while ((h > l) && (a[h] >= p)) h = h-1; if (l < h) { t = a[l]; a[l] = a[h]; a[h] = t; } } while (l < h); t = a[l]; a[l] = a[hi]; a[hi] = t; qsort( a, lo, l-1 ); qsort( a, l+1, hi ); } Quicksort
18
qsort [] = [] qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_x where elts_lt_x = [y | y <- xs, y < x] elts_greq_x = [y | y = x] Quicksort
19
Moore’s Law Physical Limits Why Haskell?
20
Bottlenecks
21
If you want to be part of the future of computer science. Learn Haskell and don’t comb your hair. Conclusion
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.