User Tools

Site Tools


laboratoare:02-functii-de-ordin-superior

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Funcții ====== * Semnificatia termenului //aplicatie// * Definirea **functiilor anonime** in Haskell: <code haskell> \x1 x2 ... -> expr </code> * Curry vs uncurry (si de ce nu conteaza in Haskell) * **Inchideri functionale**: * definiti o functie care prefixeaza [1,2,3] la o lista primita ca parametru, ca o inchidere functionala ===== Funcții de ordin superior ===== ''TODO'' ===== Închideri funcționale ===== ''TODO'' ===== Currying vs. uncurrying ===== ''TODO'' ===== Funcții anonime ===== ''TODO'' ===== Exerciții ===== 1. Definiți o funcție de ordin superior care primește o funcție și un număr, și aplică de două ori funcția pe numărul respectiv. 2. Definiți o funcție care primește un operator binar, și întoarce același operator în care ordinea parametrilor a fost inversată //(e.g. 1/3 -> 3/1)// 3. Implementați și testați funcțiile: a) foldl b) foldr c) map d) filter e) zipWith f) compunerea de funcții (operatorul ''.'' din Haskell) <note tip> Dacă nu cunoașteți vreuna dintre funcții, o puteți căuta pe Hoogle pentru a vedea tipul și scopul ei. </note> 4. Implementați, folosind foldl sau foldr: a) map b) filter ===== Referințe ===== ''TODO'' ===== Soluții laborator ===== - [[https://github.com/Programming-Paradigms/Labs/archive/master.zip | Solutii lab 2]] - Puteti, alternativ, sa folositi urmatorul repository git [[https://github.com/Programming-Paradigms/Labs]] pentru a descarca solutiile si le sincroniza, ulterior.

laboratoare/02-functii-de-ordin-superior.1457029072.txt.gz · Last modified: 2016/03/03 20:17 by mihai.dumitru2201