aboutsummaryrefslogtreecommitdiffhomepage
path: root/plugins/extraction/haskell.ml
diff options
context:
space:
mode:
authorGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-07-02 13:36:06 +0000
committerGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-07-02 13:36:06 +0000
commit4e90d6d144df100d98bff366c2c2c188b375ff12 (patch)
tree0c7c804969d9acba0a46b19f840202960ef2c253 /plugins/extraction/haskell.ml
parent68a133db448e5663da6daf677d4d882bf1bad05c (diff)
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
Diffstat (limited to 'plugins/extraction/haskell.ml')
-rw-r--r--plugins/extraction/haskell.ml7
1 files changed, 4 insertions, 3 deletions
diff --git a/plugins/extraction/haskell.ml b/plugins/extraction/haskell.ml
index 333bdcddd..ce9fab735 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) =