From 4e90d6d144df100d98bff366c2c2c188b375ff12 Mon Sep 17 00:00:00 2001 From: letouzey Date: Fri, 2 Jul 2010 13:36:06 +0000 Subject: Extraction: better support of modules - For Haskell, modules abbreviations and applied functors are expanded. The only remaining sitation that isn't supported is extracting functors and applying them after extraction. - Add a module extraction for Scheme with the same capabilities as for Haskell (with no Extraction Library, though). - Nicer extracted module types (use of the mb.mod_type_alg if present) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13236 85f007b7-540e-0410-9357-904b9bb8a0f7 --- plugins/extraction/haskell.ml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'plugins/extraction/haskell.ml') diff --git a/plugins/extraction/haskell.ml b/plugins/extraction/haskell.ml index 333bdcddd0..ce9fab735f 100644 --- a/plugins/extraction/haskell.ml +++ b/plugins/extraction/haskell.ml @@ -319,9 +319,10 @@ let rec pp_structure_elem = function and pp_module_expr = function | MEstruct (mp,sel) -> prlist_strict pp_structure_elem sel - | MEident _ -> failwith "Not Implemented: Module Ident" - | MEfunctor _ -> failwith "Not Implemented: Module Functor" - | MEapply _ -> failwith "Not Implemented: Module Application" + | MEfunctor _ -> mt () + (* for the moment we simply discard unapplied functors *) + | MEident _ | MEapply _ -> assert false + (* should be expansed in extract_env *) let pp_struct = let pp_sel (mp,sel) = -- cgit v1.2.3