# HG changeset patch # User haftmann # Date 1257264537 -3600 # Node ID 22be9021cf7431c1a260d2c7b902a4f217913f9d # Parent 5c1928d5db38c309b03aef388f2a0e07b740691e# Parent 3789fe962a08adbbe70c071eb53cc205d3da01fa merged diff -r 5c1928d5db38 -r 22be9021cf74 src/Tools/Code/code_haskell.ML --- a/src/Tools/Code/code_haskell.ML Tue Nov 03 10:36:20 2009 +0100 +++ b/src/Tools/Code/code_haskell.ML Tue Nov 03 17:08:57 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 5c1928d5db38 -r 22be9021cf74 src/Tools/Code/code_thingol.ML --- a/src/Tools/Code/code_thingol.ML Tue Nov 03 10:36:20 2009 +0100 +++ b/src/Tools/Code/code_thingol.ML Tue Nov 03 17:08:57 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"