src/Pure/ML/ml_compiler1.ML
author wenzelm
Mon, 04 Apr 2016 15:53:56 +0200
changeset 62846 3c576c7f9731
parent 62817 744bfd770123
child 62902 3c0f53eae166
permissions -rw-r--r--
clarified final setup of ML environment;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
62817
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
     1
(*  Title:      Pure/ML/ml_compiler1.ML
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
     2
    Author:     Makarius
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
     3
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
     4
Refined ML use operations for bootstrap.
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
     5
*)
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
     6
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
     7
val {use, use_debug, use_no_debug} =
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
     8
  let
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
     9
    val context: ML_Compiler0.context =
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    10
     {name_space = ML_Name_Space.global,
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    11
      print_depth = NONE,
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    12
      here = Position.here oo Position.line_file,
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    13
      print = writeln,
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    14
      error = error};
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    15
  in
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    16
    ML_Compiler0.use_operations (fn opt_debug => fn file =>
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    17
      Position.setmp_thread_data (Position.file_only file)
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    18
        (fn () =>
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    19
          ML_Compiler0.use_file context
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    20
            {verbose = true, debug = ML_Compiler0.debug_option opt_debug} file
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    21
          handle ERROR msg => (writeln msg; error "ML error")) ())
744bfd770123 clarified modules;
wenzelm
parents:
diff changeset
    22
  end;