summaryrefslogtreecommitdiff
path: root/src/monomorphise.ml
diff options
context:
space:
mode:
authorAlasdair Armstrong2019-02-19 17:02:19 +0000
committerAlasdair Armstrong2019-02-19 17:02:19 +0000
commitfc7d360e9442ab2e945e0d2da97faaf0eefec66f (patch)
treea823d0c949dde68bdf117c836c3c2e28f9cf9088 /src/monomorphise.ml
parent3c967f9075d890b8ba0e3fa1fb990a41a36ddd80 (diff)
Refactor specialization
specialize functions now take a 'specialization' parameter that specifies how they will specialize the AST. typ_ord_specialization gives the previous behaviour, whereas int_specialization allows specializing on Int-kinded arguments. Note that this can loop forever unless the appropriate case splits are inserted beforehand, presumably by monomorphisation. rename is_nat_kopt -> is_int_kopt for consistency
Diffstat (limited to 'src/monomorphise.ml')
-rw-r--r--src/monomorphise.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/monomorphise.ml b/src/monomorphise.ml
index acc31456..856e36d5 100644
--- a/src/monomorphise.ml
+++ b/src/monomorphise.ml
@@ -4300,7 +4300,7 @@ let add_bitvector_casts (Defs defs) =
let rewrite_funcl (FCL_aux (FCL_Funcl (id,pexp),fcl_ann)) =
let fcl_env = env_of_annot fcl_ann in
let (tq,typ) = Env.get_val_spec_orig id fcl_env in
- let quant_kids = List.map kopt_kid (List.filter is_nat_kopt (quant_kopts tq)) in
+ let quant_kids = List.map kopt_kid (List.filter is_int_kopt (quant_kopts tq)) in
let ret_typ =
match typ with
| Typ_aux (Typ_fn (_,ret,_),_) -> ret