# HG changeset patch # User haftmann # Date 1257273128 -3600 # Node ID 281a01e5f68b552912c386c093096a7424b07930 # Parent 8ae45e87b9926eb7c11842bad70ccad048db6361# Parent 22be9021cf7431c1a260d2c7b902a4f217913f9d merged diff -r 8ae45e87b992 -r 281a01e5f68b src/Tools/Code/code_haskell.ML --- a/src/Tools/Code/code_haskell.ML Tue Nov 03 17:54:24 2009 +0100 +++ b/src/Tools/Code/code_haskell.ML Tue Nov 03 19:32:08 2009 +0100 @@ -360,14 +360,10 @@ fun serialize_module1 (module_name', (deps, (stmts, _))) = let val stmt_names = map fst stmts; - val deps' = subtract (op =) stmt_names deps + val qualified = is_none module_name; + val imports = subtract (op =) stmt_names deps |> distinct (op =) - |> map_filter (try deresolver); - val qualified = is_none module_name andalso - map deresolver stmt_names @ deps' - |> map Long_Name.base_name - |> has_duplicates (op =); - val imports = deps' + |> map_filter (try deresolver) |> map Long_Name.qualifier |> distinct (op =); fun pr_import_include (name, _) = str ("import qualified " ^ name ^ ";"); diff -r 8ae45e87b992 -r 281a01e5f68b src/Tools/Code/code_thingol.ML --- a/src/Tools/Code/code_thingol.ML Tue Nov 03 17:54:24 2009 +0100 +++ b/src/Tools/Code/code_thingol.ML Tue Nov 03 19:32:08 2009 +0100 @@ -261,7 +261,8 @@ | NONE => (case Code.get_datatype_of_constr thy c of SOME dtco => Codegen.thyname_of_type thy dtco | NONE => Codegen.thyname_of_const thy c); - fun purify_base "op &" = "and" + fun purify_base "==>" = "follows" + | purify_base "op &" = "and" | purify_base "op |" = "or" | purify_base "op -->" = "implies" | purify_base "op :" = "member"