This is an old revision of the document!


1. Scrieti o functie in Haskell care primeste o functie $ f$ , un numar natural $ k$ si o lista de intregi $ l$ , si intoarce o lista cu acele elemente $ x$ din $ l$ care au proprietatea ca $ f(x+1) = f(x-1)$ .

2. Scrieti un predicat in Prolog care verifica daca o lista este sortata.

3. Dati un exemplu de lambda expresie in care o aparitie a unei variabile este legata, dar variabila respectiva este libera.

4. Folosind tipul de date Query descris in tema definiti un query care selecteaza varsta si user_id-ul pentru toti utilizatorii care au ocupatia de tehnician sau scriitor, si care au varste egale cu 30 sau 40.

5. Definiți tipul de date RList al listelor polimorfice ce pot conține elemente simple sau alte liste de tip RList. Scrieți o funcție de flattening care transformă o astfel de listă într-o listă normală Haskell.

6. Scrieti un predicat care primeste o lista L si construieste o lista perechi $ a,b \in L$ cu proprietatea ca suma celor doua elemente este mai mica sau egala cu lungimea listei.