diff -r e77e8ef5bf9b -r 0ca0a47235e5 src/Tools/Code/code_haskell.ML --- a/src/Tools/Code/code_haskell.ML Mon Dec 23 21:22:10 2024 +0100 +++ b/src/Tools/Code/code_haskell.ML Mon Dec 23 21:58:26 2024 +0100 @@ -330,6 +330,10 @@ ("Maybe", ["Nothing", "Just"]) ]; +val data_bits_import_operators = [ + ".&.", ".|.", ".^." +]; + fun serialize_haskell module_prefix string_classes ctxt { module_name, reserved_syms, identifiers, includes, class_syntax, tyco_syntax, const_syntax } program exports = let @@ -379,7 +383,10 @@ enclose "import Prelude (" ");" (commas (map str (map (Library.enclose "(" ")") prelude_import_operators @ prelude_import_unqualified) @ map (fn (tyco, constrs) => (enclose (tyco ^ "(") ")" o commas o map str) constrs) prelude_import_unqualified_constr)) + :: enclose "import Data.Bits (" ");" (commas + (map (str o Library.enclose "(" ")") data_bits_import_operators)) :: print_qualified_import "Prelude" + :: print_qualified_import "Data.Bits" :: map (print_qualified_import o fst) includes; fun print_module module_name (gr, imports) = let