summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKathy Gray2014-04-01 13:05:18 +0100
committerKathy Gray2014-04-01 13:05:18 +0100
commit5bdf89dea0ab69f5a91faa356d8cf82bf39ec3c5 (patch)
treef061b0e894a85c68cd5170f689b65b0df4d3e780 /src
parent583eff457b36002740c2474eb57dd338c69a67ec (diff)
More type corrections for constraints
Diffstat (limited to 'src')
-rw-r--r--src/type_internal.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/type_internal.ml b/src/type_internal.ml
index 9b9a08f5..08ba4c88 100644
--- a/src/type_internal.ml
+++ b/src/type_internal.ml
@@ -518,7 +518,10 @@ let initial_typ_env =
("|",Some((["a",{k=K_Typ}],{t= Tfn ({t=Ttup([{t=Tvar "a"};{t=Tvar "a"}])},{t=Tvar "a"},pure_e)}),External (Some "bitwise_or"),[],pure_e));
("^",Some((["a",{k=K_Typ}],{t= Tfn ({t=Ttup([{t=Tvar "a"};{t=Tvar "a"}])},{t=Tvar "a"},pure_e)}),External (Some "bitwise_xor"),[],pure_e));
("&",Some((["a",{k=K_Typ}],{t= Tfn ({t=Ttup([{t=Tvar "a"};{t=Tvar "a"}])},{t=Tvar "a"},pure_e)}),External (Some "bitwise_and"),[],pure_e));
- ("^^",Some((["a",{k=K_Typ}],{t= Tfn ({t=Ttup([bit_t;nat_typ])},{t=Tvar "a"},pure_e)}),External (Some "duplicate"),[],pure_e));
+ ("^^",Some((["n",{k=K_Nat}],{t= Tfn ({t=Ttup([bit_t;mk_range (Nvar "n")])},
+ {t=Tapp("vector",[TA_nexp {nexp=Nconst 0}; TA_nexp {nexp=Nvar "n"};
+ TA_ord {order = Oinc}; TA_typ bit_t])},
+ pure_e)}),External (Some "duplicate"),[],pure_e));
("<<<",Some((["a",{k=K_Typ}],{t= Tfn ({t=Ttup([{t=Tvar "a"};nat_typ])},{t=Tvar "a"},pure_e)}),External (Some "bitwise_leftshift"),[],pure_e));
]