mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-09-29 13:43:38 -06:00
HOAS in the type checker
This commit is contained in:
@@ -11,7 +11,7 @@ main = do
|
||||
,TestCase (assertInference "infer n-args 1" gr (Left "Too many arguments") "z z")
|
||||
,TestCase (assertInference "infer n-args 2" gr (Left "Too many arguments") "s z z")
|
||||
,TestCase (assertInference "infer implarg 1" gr (Left "Unexpected implicit argument") "s {z}")
|
||||
,TestCase (assertInference "infer implarg 2" gr (Right "(y : N) -> S") "imp {z}") --
|
||||
,TestCase (assertInference "infer implarg 2" gr (Right "(y : N) -> S") "imp {z}")
|
||||
,TestCase (assertInference "infer implarg 3" gr (Right "S") "imp {z} z")
|
||||
,TestCase (assertInference "infer implarg 4" gr (Right "({x},y : N) -> S") "imp")
|
||||
,TestCase (assertInference' "infer implarg 4" gr (Right ("imp {?} z","S")) "imp z")
|
||||
@@ -24,9 +24,12 @@ main = do
|
||||
,TestCase (assertInference "infer literal 3" gr (Right "String") "\"abc\"")
|
||||
,TestCase (assertInference "infer meta 1" gr (Left "Cannot infer the type of a meta variable") "?")
|
||||
,TestCase (assertInference "infer meta 2" gr (Right "N->N") "<? : N->N>")
|
||||
,TestCase (assertChecking "check fun" gr (Right "s") "s" "N->N")
|
||||
,TestCase (assertChecking "check fun" gr (Right "s z") "s z" "N")
|
||||
,TestCase (assertChecking "check fun" gr (Left "Types doesn't match") "s z" "N->N")
|
||||
,TestCase (assertInference "infer lambda" gr (Left "Cannot infer the type of a lambda abstraction") "\\x->x")
|
||||
,TestCase (assertChecking "check fun 1" gr (Right "s") "s" "N->N")
|
||||
,TestCase (assertChecking "check fun 2" gr (Right "s z") "s z" "N")
|
||||
,TestCase (assertChecking "check fun 3" gr (Left "Types doesn't match") "s z" "N->N")
|
||||
,TestCase (assertChecking "check lambda 1" gr (Right "\\x->x") "\\x->x" "N->N")
|
||||
,TestCase (assertChecking "check lambda 2" gr (Right "\\x->s x") "\\x->s x" "N->N")
|
||||
,TestCase (assertType "check type 1" gr (Right "N -> N") "N -> N")
|
||||
,TestCase (assertType "check type 2" gr (Left "Category s is not defined") "s")
|
||||
,TestCase (assertType "check type 3" gr (Left "Too many arguments to category N - 0 expected but 1 given") "N z")
|
||||
|
||||
Reference in New Issue
Block a user