where
(tycon, args) = Type.splitTyConApp ty
[len] = args
+
+-- | Get the upperbound of a RangedWord type
+ranged_word_bound :: Type.Type -> Int
+ranged_word_bound ty =
+ eval_tfp_int len
+ where
+ (tycon, args) = Type.splitTyConApp ty
+ [len] = args
-- | Evaluate a core Type representing type level int from the TypeLevel
-- library to a real int.
where
(tycon, args) = Type.splitTyConApp ty
[len, el_ty] = args
+
+-- | Get the element type of a TFVec type
+tfvec_elem :: Type.Type -> Type.Type
+tfvec_elem ty = el_ty
+ where
+ (tycon, args) = Type.splitTyConApp ty
+ [len, el_ty] = args
-- Is this a wild binder?
is_wild :: CoreSyn.CoreBndr -> Bool