on master help sign in
Rewrite ForeignTy as non-tail-recursive to simplify proving equality
commit6cdb125612fc9b004eff4f857c49ec9aa6db9eeb authorBenjamin Saunders <besaunde@sfu.ca> dateSun 17 Mar 2013, 18:37 (14 years ago) parent9841e2a
1 file changed+2−4
lib/IO.idr+2−4
lib/IO.idr+2−4
@@ -33,10 +33,8 @@ interpFTy (FAny t) = t
3333interpFTy FUnit = ()
3434
3535ForeignTy : (xs:List FTy) -> (t:FTy) -> Type
36−ForeignTy xs t = mkForeign' (reverse xs) (IO (interpFTy t)) where
37− mkForeign' : List FTy -> Type -> Type
38− mkForeign' Nil ty = ty
39− mkForeign' (s :: ss) ty = mkForeign' ss (interpFTy s -> ty)
36+ForeignTy Nil rt = IO (interpFTy rt)
37+ForeignTy (t::ts) rt = interpFTy t -> ForeignTy ts rt
4038
4139
4240data Foreign : Type -> Type where