-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
lang-feInput language related taskInput language related task
Description
Create tests for QTree<'val>
- Lexer/Parser
- Type checker
- IR
- IR Interpreter
Example of type definition.
type QTree<'val> =
Node of QTree<'t> * QTree<'t> * QTree<'t> * QTree<'t>
| Leaf of 'val
Example of function for test.
let rec map2 tree1 tree2 f =
match (tree1, tree2) with
| Node (n1, n2, n3, n4), Node(m1, m2, m3, m4) -> Node ((map2 n1 m1 f), (map2 n2 m2 f), (map2 n3 m3 f), (map2 n4 m4 f))
| Leaf(v1), Leaf(v2) -> Leaf(f v1 v2)
| Node (n1, n2, n3, n4), Leaf(v) -> Node ((map2 n1 tree2 f), (map2 n2 tree2 f), (map2 n3 tree2 f), (map2 n4 tree2 f))
| Leaf(v), Node (n1, n2, n3, n4) -> Node ((map2 tree2 n1 f), (map2 tree2 n2 f), (map2 tree2 n3 f), (map2 tree2 n4 f))
Metadata
Metadata
Assignees
Labels
lang-feInput language related taskInput language related task