Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pp:2025:haskell:tema3 [2025/05/04 22:51]
tpruteanu
pp:2025:haskell:tema3 [2025/05/05 01:05] (current)
tpruteanu
Line 2: Line 2:
  
 <​note>​ <​note>​
-Schelet: ​TODO+Schelet: ​{{:​pp:​2024:​lambda-interpreter.zip|}}
 </​note>​ </​note>​
  
 <note warning> <note warning>
-**Deadline:​** ​TODO+**Deadline:​** ​luni 26 mai, ora 23:59
   * Temele trebuie submise pe [[curs.upb.ro]],​ în assignment-ul ''​Tema 3''​.   * Temele trebuie submise pe [[curs.upb.ro]],​ în assignment-ul ''​Tema 3''​.
   * Pentru întrebări folosiți forum-ul dedicat de pe [[curs.upb.ro]].   * Pentru întrebări folosiți forum-ul dedicat de pe [[curs.upb.ro]].
Line 19: Line 19:
 O să definim o expresie lambda cu ajutorul următorului **TDA**: O să definim o expresie lambda cu ajutorul următorului **TDA**:
 <code haskell> <code haskell>
-data Expression ​= Var String +data Lambda ​= Var String 
-                Abs String Expression +            App Lambda Lambda 
-                App Expression Expression+            Abs String Lambda
 </​code>​ </​code>​
 +
 +<note important>​
 +În schelet, definiția **TDA**-ului conține și un constructor pentru macro-uri, pentru cerințele **1** și **2** îl puteți ignora, o să puteți lua punctaj maxim fără să faceți pattern matching pe el, o să fie introdus în cadrul cerinței **3**.
 +</​note>​
  
 Variabilele sunt declarate de tipul ''​String'',​ pentru simplitate o să considerăm variabilă orice șir de caractere format numai din litere mici ale alfabetului englez. Variabilele sunt declarate de tipul ''​String'',​ pentru simplitate o să considerăm variabilă orice șir de caractere format numai din litere mici ale alfabetului englez.
Line 161: Line 165:
  
 ===== Punctare ===== ===== Punctare =====
-Tema are un punctaj total de **1.5p** din nota finală, împărțit pe subpuncte:+Tema are un punctaj total de **1p** din nota finală, împărțit pe subpuncte:
   - Evaluation   - Evaluation
     * 5p - **1.1.** - aflarea variabilelor     * 5p - **1.1.** - aflarea variabilelor
Line 181: Line 185:
     * 4p - **4.2.** expresii perechi     * 4p - **4.2.** expresii perechi
     * 5p - **4.2.** expresii numere naturale     * 5p - **4.2.** expresii numere naturale
 +
 +Totalul de **150p** o sa fie scalat la **1p**.
  
 După cum s-a anunțat la începutul semestrului,​ pentru studenții care au punctaj maxim pe toate 3 temele de pe parcursul semestrului,​ o să se echivaleze examenul din sesiune cu punctaj maxim. După cum s-a anunțat la începutul semestrului,​ pentru studenții care au punctaj maxim pe toate 3 temele de pe parcursul semestrului,​ o să se echivaleze examenul din sesiune cu punctaj maxim.
  
 <note warning> <note warning>
-Pot să existe depunctări de până la **1.5p** pentru implementări hardcodate sau plagiat.+Pot să existe depunctări de până la **1p** pentru implementări hardcodate sau plagiat.
 </​note>​ </​note>​