Avem nevoie reală de a construi un obiect comparator? + Funcție anonimă Java nu poate ieși din paradigma OO (paradigma dominantă pentru Java) + putem înlocui ciclurile cu funcții recursive funcționale (funcții care iau alte funcții ca argument) list comprehensions Studiem relația dintre mecanisme oferite de limbajele de programare paradigme de programare proprietăți ale limbajelor de programare modul cum rezolvăm probleme Racket tipuri de valori numerice boolean literali (symbol) structuri pereche (pereche cu punct / dotted pair) cons, car, cdr lista reprezentată ca o S-listă neevaluată cons '() car cdr length, append aplicare de funcții (f arg1 arg2 arg3) if istoria din consolă cu Ctrl+sus/jos Apostroful face ca ceea ce urmează după apostrof să nu fie evaluat. Sintaxa este bazată pe S-liste (construcții de forma (elem elem elem elem) ) În mod natural S-lista este interpretată ca o aplicare de funcție în forma (f arg1 arg2 arg3) O listă este o pereche dintre primul element și restul listei. O listă este o înșiruire de perechi imbricate, în care al doilea element din fiecare pereche este o listă (posibil lista vidă)