chore: fill in machine todos and cost model for case and constr
This allows for several more tests to pass **Had to remove case-7 since it was incorrectly passing before**
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
-- select first branch
|
||||
(program 1.1.0
|
||||
(case (constr 0 (con integer 0)) (lam x (con integer 1)) (lam x (con integer 2)))
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
(program 1.1.0 (con integer 1))
|
||||
@@ -0,0 +1,4 @@
|
||||
-- select second branch
|
||||
(program 1.1.0
|
||||
(case (constr 1 (con integer 0)) (lam x (con integer 1)) (lam x (con integer 2)))
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
(program 1.1.0 (con integer 2))
|
||||
@@ -0,0 +1,4 @@
|
||||
-- select first branch and do computation with the args
|
||||
(program 1.1.0
|
||||
(case (constr 0 (con integer 3) (con integer 2)) (lam x (lam y [(builtin addInteger) x y])) (lam x (lam y [(builtin subtractInteger) x y])))
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
(program 1.1.0 (con integer 5))
|
||||
@@ -0,0 +1,4 @@
|
||||
-- select second branch and do computation with the args
|
||||
(program 1.1.0
|
||||
(case (constr 1 (con integer 3) (con integer 2)) (lam x (lam y [(builtin addInteger) x y])) (lam x (lam y [(builtin subtractInteger) x y])))
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
(program 1.1.0 (con integer 1))
|
||||
@@ -0,0 +1,4 @@
|
||||
-- case of non-constr
|
||||
(program 1.1.0
|
||||
(case (con integer 1) (lam x x) (lam x x))
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
evaluation failure
|
||||
@@ -1,4 +0,0 @@
|
||||
-- case can't be used before 1.1.0
|
||||
(program 1.0.0
|
||||
(case (con integer 1))
|
||||
)
|
||||
@@ -1 +0,0 @@
|
||||
parse error
|
||||
@@ -0,0 +1,4 @@
|
||||
-- nullary case
|
||||
(program 1.1.0
|
||||
(case (constr 0) (con integer 1) (con integer 2))
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
(program 1.1.0 (con integer 1))
|
||||
@@ -0,0 +1,4 @@
|
||||
-- empty case, aka -XEmptyCase
|
||||
(program 1.1.0
|
||||
(case (constr 0))
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
evaluation failure
|
||||
Reference in New Issue
Block a user