Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
project-3-draft [2021/04/23 01:57] alexandru.rait Changed 'query' to 'Query' in Graph constructor definition. Added TODO for pragmas |
project-3-draft [2021/04/25 16:07] (current) roxana_elena.stiuca prerequisite for taskset3 |
||
---|---|---|---|
Line 26: | Line 26: | ||
| Cartesian (Row -> Row -> Row) [String] Query Query | | Cartesian (Row -> Row -> Row) [String] Query Query | ||
| Projection [String] Query | | Projection [String] Query | ||
- | -- | forall a. Filter (FilterCondition a) Query | + | | forall a. FEval a => Filter (FilterCondition a) Query |
| Graph EdgeOp Query | | Graph EdgeOp Query | ||
| | ||
Line 34: | Line 34: | ||
**Don't worry about Graph or Filter queries yet.** | **Don't worry about Graph or Filter queries yet.** | ||
- | ====TODO==== | + | ==== Prerequisite ==== |
- | {-# LANGUAGE ExistentialQuantification #-} for "forall a." | + | Add the following lines at the beginning of your .hs files: |
+ | <code haskell> | ||
+ | {-# LANGUAGE ExistentialQuantification #-} | ||
+ | {-# LANGUAGE FlexibleInstances #-} | ||
+ | </code> | ||
+ | |||
+ | The first line allows ''forall a''. | ||
+ | The second allows ''instance FEval String''. | ||
- | {-# LANGUAGE FlexibleInstances#-} for "instance FEval String where" | ||
- | ====TODO==== | ||
- | |||
===== Query Evaluation ===== | ===== Query Evaluation ===== | ||
Line 193: | Line 197: | ||
Your task is to write ''similarities_query'' as a **sequence of queries**, that once evaluated results in the graph described above. | Your task is to write ''similarities_query'' as a **sequence of queries**, that once evaluated results in the graph described above. | ||
+ | |||
+ | **Note**: ''similarities_query'' is a Query. The checker applies ''eval'' on it. | ||
===== TL;DR Tasks ===== | ===== TL;DR Tasks ===== |