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