A presentation at Meet.js in in 15-001 Bialystok, Poland by Krzysztof Grzybek
The real power of the FUNCTION
Zdefiniuj funkcje: range, map, reverse i foreach uwzględniając poniższe ograniczenia tak, aby przedstawiony program działał poprawnie. ▪ ▪ ▪ Nie możesz używać tablic. Kwadratowe nawiasy [ ] i konstruktor Array są zabronione. Nie możesz używać obiektów. Nawiasy klamrowe { } użyte do tworzenia obiektu i używanie kropki . są zabronione Funkcje muszą być generyczne Nie musimy się ograniczać jedynie do 4 funkcji, możemy definiować funkcje pomocnicze. . 2
3
Zdefiniuj funkcje: range, map, reverse i foreach uwzględniając poniższe ograniczenia tak, aby program działał poprawnie. ▪ ▪ ▪ Nie możesz używać tablic. Kwadratowe nawiasy [ ] i konstruktor Array są zabronione. Nie możesz używać obiektów. Nawiasy klamrowe { } i używanie kropki . jest zabronione. Funkcje muszą być generyczne. . 4
Zdefiniuj funkcje: range, map, reverse i foreach uwzględniając poniższe ograniczenia tak, aby program działał poprawnie. ▪ ▪ ▪ ▪ Nie możesz używać tablic. Kwadratowe nawiasy [ ] i konstruktor Array są zabronione. Nie możesz używać obiektów. Nawiasy klamrowe { } i używanie kropki . jest zabronione. Funkcje muszą być generyczne. Nie możesz używać iterator statements, czyli: □ do…while □ for □ for…in □ for…of □ for await…of □ while . 5
List A B 6
List A B 7
List A B 8
List A B 9
List A B 10
List A List List B C D 11
List 1 List List 2 3 null 12
List 1 range(2, 3) 13
List 1 List 2 range(3, 3) 14
List 1 List List 2 3 range(4, 3) 15
List 1 List List 2 3 null 16
List 1 List List 2 3 null 17
List 1 map(list, fn) 18
List 1 List 4 map(list, fn) 19
List 1 List List 4 9 map(null, fn) 20
List 1 List List 4 9 null 21
List 1 List List 2 3 null 22
List 1 List List 2 3 null 23
24
25
26
27
28
LAMBDA CALCULUS 29
Rachunek lambda – system formalny używany do badania zagadnień związanych z podstawami matematyki jak rekurencja, definiowalność funkcji, obliczalność, podstawy matematyki np. definicja liczb naturalnych, wartości logicznych itd. Rachunek lambda został wprowadzony przez Alonzo Churcha i Stephena Cole’a Kleene’ego w 1930 roku. 30
λ-CALCULUS JAVASCRIPT 31
32
LAMBDA CALCULUS is turing-complete 33
34
Przydatne linki ▪ ▪ ▪ ▪ ▪ Edytor z przykładami Lambda calculus in JS @gtramontina Types and Programming Languages λ-calculus Interpreter napisany w JS Zadanie JS 35
Q&A
Dzięki! Kontakt: ▪ github@krzysztof-grzybek ▪ twitter@k__grzybek 37