src/Tools/Haskell/Test.thy
author wenzelm
Mon, 05 Nov 2018 17:37:55 +0100
changeset 69241 5426d266dcc5
parent 69239 src/Tools/Haskell/Build.thy@6cd985a78d6e
child 69381 4c9b4e2c5460
permissions -rw-r--r--
clarified names;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
69241
5426d266dcc5 clarified names;
wenzelm
parents: 69239
diff changeset
     1
(*  Title:      Tools/Haskell/Test.thy
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     2
    Author:     Makarius
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     3
*)
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     4
69241
5426d266dcc5 clarified names;
wenzelm
parents: 69239
diff changeset
     5
section \<open>Test build of Isabelle/Haskell modules\<close>
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     6
69241
5426d266dcc5 clarified names;
wenzelm
parents: 69239
diff changeset
     7
theory Test imports Haskell
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     8
begin
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     9
69239
6cd985a78d6e support sub-directories, i.e. structure module names;
wenzelm
parents: 69225
diff changeset
    10
ML \<open>
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    11
  Isabelle_System.with_tmp_dir "ghc" (fn dir =>
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    12
    let
69239
6cd985a78d6e support sub-directories, i.e. structure module names;
wenzelm
parents: 69225
diff changeset
    13
      val _ = Haskell.install_sources dir;
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    14
      val (out, rc) =
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    15
        Isabelle_System.bash_output
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    16
         (cat_lines
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    17
           ["set -e",
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    18
            "cd " ^ File.bash_path dir,
69239
6cd985a78d6e support sub-directories, i.e. structure module names;
wenzelm
parents: 69225
diff changeset
    19
            "\"$ISABELLE_GHC\" " ^ File.bash_paths Haskell.sources]);
6cd985a78d6e support sub-directories, i.e. structure module names;
wenzelm
parents: 69225
diff changeset
    20
    in if rc = 0 then writeln out else error out end)
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    21
\<close>
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    22
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    23
end