porque aprender haskell me fez um programador python melhor?
TRANSCRIPT
![Page 2: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/2.jpg)
Porque aprender haskell me fez um programador
python melhor?
Baseado em fatos reais
![Page 3: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/3.jpg)
Gustavo Pinto
2004 - belém, grad, php, sh2006 - amazontic, java, xp2008 - curitiba, msc, python2009 - aprioriti, xp, scrum2011 - recife, phd, haskell2012 - entropie, lean, scala
![Page 4: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/4.jpg)
Belém
![Page 5: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/5.jpg)
Belém
![Page 6: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/6.jpg)
Belém
![Page 7: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/7.jpg)
Belém
![Page 8: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/8.jpg)
Belém
![Page 9: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/9.jpg)
Belém
![Page 10: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/10.jpg)
DISCLAIMER
![Page 11: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/11.jpg)
Não tem código
![Page 12: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/12.jpg)
Não tem código¬¬''
![Page 13: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/13.jpg)
Mentira, tem mas épouquinho :-)
![Page 14: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/14.jpg)
![Page 15: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/15.jpg)
![Page 16: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/16.jpg)
1912 ~ 1954
![Page 17: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/17.jpg)
1912 ~ 19541936
![Page 18: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/18.jpg)
1912 ~ 19541936
![Page 19: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/19.jpg)
ON COMPUTABLE NUMBERS, WITH AN APPLICATION
TO THE ENTSCHEIDUNGS
PROBLEM
![Page 20: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/20.jpg)
ON COMPUTABLE NUMBERS, WITH AN APPLICATION
TO THE ENTSCHEIDUNGS
PROBLEM
![Page 21: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/21.jpg)
ON COMPUTABLE NUMBERS, WITH AN APPLICATION
TO THE DECISION PROBLEM
![Page 22: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/22.jpg)
![Page 23: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/23.jpg)
![Page 24: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/24.jpg)
![Page 25: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/25.jpg)
![Page 26: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/26.jpg)
![Page 27: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/27.jpg)
1903 ~1995
![Page 28: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/28.jpg)
1903 ~19951936
![Page 29: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/29.jpg)
1903 ~19951936
![Page 30: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/30.jpg)
AN UNSOLVABLE PROBLEM OF ELEMENTARY
NUMBER THEORY
![Page 31: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/31.jpg)
![Page 32: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/32.jpg)
![Page 33: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/33.jpg)
1936
![Page 34: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/34.jpg)
![Page 35: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/35.jpg)
![Page 36: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/36.jpg)
1936
![Page 37: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/37.jpg)
Church-Turing thesis
![Page 38: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/38.jpg)
Church-Turing thesis
![Page 39: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/39.jpg)
Church-Turing thesis
Equivalentes
![Page 40: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/40.jpg)
![Page 41: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/41.jpg)
![Page 42: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/42.jpg)
![Page 43: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/43.jpg)
![Page 44: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/44.jpg)
![Page 45: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/45.jpg)
![Page 46: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/46.jpg)
![Page 47: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/47.jpg)
![Page 48: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/48.jpg)
![Page 49: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/49.jpg)
![Page 50: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/50.jpg)
Algumas features:
● Pure functions● Functions as first-class objects● No side effects
![Page 51: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/51.jpg)
Algumas features:
● Pure functions● Functions as first-class objects● No side effects
Concurrency Friendly
![Page 52: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/52.jpg)
![Page 53: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/53.jpg)
![Page 54: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/54.jpg)
Great.. But, what about Python??
![Page 55: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/55.jpg)
Python functional
![Page 56: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/56.jpg)
Is python functional?
![Page 57: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/57.jpg)
Is python functional?
![Page 58: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/58.jpg)
I have never considered Python to be heavily influenced by functional
languages, no matter what people say or think. I was much more familiar with imperative languages such as C and
Algol 68 and although I had made functions first-class objects, I didn't view
Python as a functional programming language. However, earlier on, it was
clear that users wanted to do much more with lists and functions.
http://python-history.blogspot.com.br/2009/04/origins-of-pythons-functional-features.html
![Page 59: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/59.jpg)
I have never considered Python to be heavily influenced by functional
languages, no matter what people say or think. I was much more familiar with imperative languages such as C and
Algol 68 and although I had made functions first-class objects, I didn't view
Python as a functional programming language. However, earlier on, it was
clear that users wanted to do much more with lists and functions.
http://python-history.blogspot.com.br/2009/04/origins-of-pythons-functional-features.html
![Page 60: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/60.jpg)
I have never considered Python to be heavily influenced by functional
languages, no matter what people say or think. I was much more familiar with imperative languages such as C and
Algol 68 and although I had made functions first-class objects, I didn't view
Python as a functional programming language. However, earlier on, it was
clear that users wanted to do much more with lists and functions.
http://python-history.blogspot.com.br/2009/04/origins-of-pythons-functional-features.html
![Page 61: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/61.jpg)
I have never considered Python to be heavily influenced by functional
languages, no matter what people say or think. I was much more familiar with imperative languages such as C and
Algol 68 and although I had made functions first-class objects, I didn't view
Python as a functional programming language. However, earlier on, it was
clear that users wanted to do much more with lists and functions.
http://python-history.blogspot.com.br/2009/04/origins-of-pythons-functional-features.html
![Page 62: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/62.jpg)
I see list and functions
![Page 63: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/63.jpg)
![Page 64: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/64.jpg)
![Page 65: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/65.jpg)
![Page 66: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/66.jpg)
hack, hack
if god exists: atepassar**2
![Page 67: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/67.jpg)
search_list = lambda l,e : [ [ idx for idx, element in enumerate(l) if element ==
element_f ] for element_f in e]
![Page 68: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/68.jpg)
search_list = lambda l,e : [ [ idx for idx, element in enumerate(l) if element ==
element_f ] for element_f in e]
![Page 69: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/69.jpg)
List comprehensionA basic comprehension for a set that contains the first ten even natural numbers is
The part before the pipe is called the output function, x is the variable, N is the input set and x <= 10 is the predicate. That means that the set contains the doubles of all natural numbers that satisfy the predicate.
http://learnyouahaskell.com/starting-out#im-a-list-comprehension
![Page 70: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/70.jpg)
List comprehensionA basic comprehension for a set that contains the first ten even natural numbers is
The part before the pipe is called the output function, x is the variable, N is the input set and x <= 10 is the predicate. That means that the set contains the doubles of all natural numbers that satisfy the predicate.
http://learnyouahaskell.com/starting-out#im-a-list-comprehension
![Page 71: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/71.jpg)
List comprehensionA basic comprehension for a set that contains the first ten even natural numbers is
>>> [i for x in range (0, 100) if x > 10]
http://learnyouahaskell.com/starting-out#im-a-list-comprehension
![Page 72: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/72.jpg)
List comprehensionA basic comprehension for a set that contains the first ten even natural numbers is
>>> [i for x in range (0, 100) if x > 10]>>> [[row[i] for row in matrix] for i in range(4)]
http://learnyouahaskell.com/starting-out#im-a-list-comprehension
![Page 73: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/73.jpg)
List comprehensionA basic comprehension for a set that contains the first ten even natural numbers is
>>> [i for x in range (0, 100) if x > 10]>>> [[row[i] for row in matrix] for i in range(4)]>>> dict([(i, chr(65+i)) for i in range(4)])
http://learnyouahaskell.com/starting-out#im-a-list-comprehension
![Page 74: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/74.jpg)
List comprehensionA basic comprehension for a set that contains the first ten even natural numbers is
>>> [i for x in range (0, 100) if x > 10]>>> [[row[i] for row in matrix] for i in range(4)]>>> dict([(i, chr(65+i)) for i in range(4)])
http://learnyouahaskell.com/starting-out#im-a-list-comprehension
Sou foda
![Page 75: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/75.jpg)
search_list = lambda l,e : [ [ idx for idx, element in enumerate(l) if element ==
element_f ] for element_f in e]
![Page 76: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/76.jpg)
LambdaLambdas are basically anonymous functions that are used because we need some functions only once. Normally, we make a lambda with the sole purpose of passing it to a higher-order function.
http://learnyouahaskell.com/higher-order-functions#lambdas
![Page 77: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/77.jpg)
LambdaLambdas are basically anonymous functions that are used because we need some functions only once. Normally, we make a lambda with the sole purpose of passing it to a higher-order function.
http://learnyouahaskell.com/higher-order-functions#lambdas
![Page 78: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/78.jpg)
Lambda>>> lambda x: x % 2
http://learnyouahaskell.com/higher-order-functions#lambdas
![Page 79: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/79.jpg)
Lambda>>> is_even = lambda x: x % 2
http://learnyouahaskell.com/higher-order-functions#lambdas
![Page 80: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/80.jpg)
Lambda>>> is_even = lambda x: x % 2>>> is_even<function <lambda> at 0x2a3d050>
http://learnyouahaskell.com/higher-order-functions#lambdas
![Page 81: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/81.jpg)
search_list = lambda l,e : [ [ idx for idx, element in enumerate(l) if element ==
element_f ] for element_f in e]
![Page 82: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/82.jpg)
Built-in Functions>>> for mes in enumerate (['jan', 'fev', 'mar']):... print mes(0, 'jan')(1, 'fev')(2, 'mar')
![Page 83: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/83.jpg)
Built-in Functions>>> for mes in enumerate (['jan', 'fev', 'mar']):... print mes(0, 'jan')(1, 'fev')(2, 'mar')
outras built-in functions: ● filter● map● reduce
![Page 84: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/84.jpg)
Built-in Functions>>> for mes in enumerate (['jan', 'fev', 'mar']):... print mes(0, 'jan')(1, 'fev')(2, 'mar')
outras built-in functions: ● filter● map● reduce
Funções de alta ordem
![Page 85: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/85.jpg)
Filterfilter(...)
filter(function or None, sequence) -> list, tuple or string
Return those items of sequence for which function(item) is true. [....]
>>> filter(lambda x: x % 2 == 0, range(10))
![Page 86: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/86.jpg)
Filterfilter(...)
filter(function or None, sequence) -> list, tuple or string
Return those items of sequence for which function(item) is true. [....]
>>> is_even = lambda x: x % 2 == 0>>> filter(is_even, range(10))
![Page 87: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/87.jpg)
Mapmap(...)
map(function, sequence[, sequence, ...]) -> list
Return a list of the results of applying the function to the items of the argument sequence(s). [....]
>>> map(lambda s: s.upper(), ['a', 'b', 'c'])
![Page 88: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/88.jpg)
Reducereduce(...)
reduce(function, sequence[, initial]) -> value
Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. [....]
>>> reduce(lambda x,y: x * y, range(1, 4))>>> reduce(lambda x, y: x + y, ['a', 'b', 'c', 'd'])
![Page 89: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/89.jpg)
Sua High Order Functiondef f(x):
return x + 1
def g(function, x):return function(x) + function (x + 1)
print g(f, 1)
![Page 90: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/90.jpg)
Sua High Order Functiondef f(x):
return x + 1
def g(function, x):return function(x) + function (x + 1)
print g(f, 1)
not bad
![Page 91: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/91.jpg)
Porque aprender haskell me fez um programador
python melhor?
![Page 92: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/92.jpg)
Consegui entendermelhor o
código do Marcel!
![Page 93: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/93.jpg)
Consegui entender melhor o código
de outras pessoas!
![Page 94: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/94.jpg)
Consegui entender melhor a minha
linguagem!
![Page 95: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/95.jpg)
Consegui entender melhor o meu
framework!
![Page 96: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/96.jpg)
Resumindo
![Page 97: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/97.jpg)
Domine sua linguagem
![Page 98: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/98.jpg)
Evolua com a sua linguagem
![Page 99: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/99.jpg)
Domine outras linguagens(Tanto quanto)
![Page 100: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/100.jpg)
Entenda que linguagens são
escolhas
![Page 101: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/101.jpg)
Seja o principal crítico das suas
escolhas
![Page 102: Porque aprender haskell me fez um programador python melhor?](https://reader031.vdocuments.net/reader031/viewer/2022021919/587cb6601a28ab38028b59eb/html5/thumbnails/102.jpg)
Para saber mais:
from functional import *