aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/nativelambda.ml
diff options
context:
space:
mode:
authorGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-03-05 15:38:50 +0000
committerGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-03-05 15:38:50 +0000
commit82b65b9c0296b20cca44c7c05865bf9750084ab8 (patch)
tree4c92bb422145327f655bf3d89f4bcea9039a4859 /kernel/nativelambda.ml
parent38ac6e0eff49662636e8db6ceb5f4badbdc7795a (diff)
More monomorphization.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16260 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel/nativelambda.ml')
-rw-r--r--kernel/nativelambda.ml27
1 files changed, 13 insertions, 14 deletions
diff --git a/kernel/nativelambda.ml b/kernel/nativelambda.ml
index 9c400e4c0..b8580f2b3 100644
--- a/kernel/nativelambda.ml
+++ b/kernel/nativelambda.ml
@@ -48,14 +48,14 @@ and fix_decl = name array * lambda array * lambda array
(*s Constructors *)
let mkLapp f args =
- if Array.length args = 0 then f
+ if Array.is_empty args then f
else
match f with
| Lapp(f', args') -> Lapp (f', Array.append args' args)
| _ -> Lapp(f, args)
let mkLlam ids body =
- if Array.length ids = 0 then body
+ if Array.is_empty ids then body
else
match body with
| Llam(ids', body) -> Llam(Array.append ids ids', body)
@@ -134,8 +134,7 @@ let map_lam_with_binders g f n lam =
let on_b b =
let (cn,ids,body) = b in
let body' =
- let len = Array.length ids in
- if len = 0 then f n body
+ if Array.is_empty ids then f n body
else f (g (Array.length ids) n) body in
if body == body' then b else (cn,ids,body') in
let br' = Array.smartmap on_b br in
@@ -172,7 +171,7 @@ let rec lam_exlift el lam =
| _ -> map_lam_with_binders el_liftn lam_exlift el lam
let lam_lift k lam =
- if k = 0 then lam
+ if Int.equal k 0 then lam
else lam_exlift (el_shft k el_id) lam
let lam_subst_rel lam id n subst =
@@ -226,7 +225,7 @@ let merge_if t bt bf =
let nt = Array.length idst in
let nf = Array.length idsf in
let common,idst,idsf =
- if nt = nf then idst, [||], [||]
+ if Int.equal nt nf then idst, [||], [||]
else
if nt < nf then idst,[||], Array.sub idsf nt (nf - nt)
else idsf, Array.sub idst nf (nt - nf), [||] in
@@ -315,7 +314,7 @@ and reduce_lapp substf lids body substa largs =
let rec occurence k kind lam =
match lam with
| Lrel (_,n) ->
- if n = k then
+ if Int.equal n k then
if kind then false else raise Not_found
else kind
| Lvar _ | Lconst _ | Lval _ | Lsort _ | Lind _
@@ -379,13 +378,13 @@ let rec remove_let subst lam =
let is_value lc =
match lc with
| Lval _ -> true
- | Lmakeblock(_,_,_,args) when Array.length args = 0 -> true
+ | Lmakeblock(_,_,_,args) when Array.is_empty args -> true
| _ -> false
let get_value lc =
match lc with
| Lval v -> v
- | Lmakeblock(_,_,tag,args) when Array.length args = 0 ->
+ | Lmakeblock(_,_,tag,args) when Array.is_empty args ->
Nativevalues.mk_int tag
| _ -> raise Not_found
@@ -436,7 +435,7 @@ module Vect =
let length v = v.size
let extend v =
- if v.size = Array.length v.elems then
+ if Int.equal v.size (Array.length v.elems) then
let new_size = min (2*v.size) Sys.max_array_length in
if new_size <= v.size then raise (Invalid_argument "Vect.extend");
let new_elems = Array.make new_size v.elems.(0) in
@@ -470,7 +469,7 @@ module Vect =
let last v =
- if v.size = 0 then raise
+ if Int.equal v.size 0 then raise
(Invalid_argument "Vect.last:index out of bounds");
v.elems.(v.size - 1)
@@ -598,10 +597,10 @@ let rec lambda_of_constr env c =
let cn = (ind,i+1) in
let _, arity = tbl.(i) in
let b = lambda_of_constr env b in
- if arity = 0 then (cn, empty_ids, b)
+ if Int.equal arity 0 then (cn, empty_ids, b)
else
match b with
- | Llam(ids, body) when Array.length ids = arity -> (cn, ids, body)
+ | Llam(ids, body) when Int.equal (Array.length ids) arity -> (cn, ids, body)
| _ ->
let ids = Array.make arity Anonymous in
let args = make_args arity 1 in
@@ -649,7 +648,7 @@ and lambda_of_app env f args =
let tag, nparams, arity = Renv.get_construct_info env c in
let expected = nparams + arity in
let nargs = Array.length args in
- if nargs = expected then
+ if Int.equal nargs expected then
let args = lambda_of_args env nparams args in
makeblock !global_env c tag args
else