| ListValue of value list
type value_type =
- | TermType
+ | TermType of int
| StringType
| NumType
| OptType of value_type
let declaration_of_var = function
| Ast.NumVar s -> s, NumType
| Ast.IdentVar s -> s, StringType
- | Ast.TermVar s -> s, TermType
+ | Ast.TermVar (s,(Ast.Self l|Ast.Level l)) -> s, TermType l
| _ -> assert false
let value_of_term = function
let rec well_typed ty value =
match ty, value with
- | TermType, TermValue _
+ | TermType _, TermValue _
| StringType, StringValue _
| OptType _, OptValue None
| NumType, NumValue _ -> true