src/Tools/Haskell/Test.thy
author wenzelm
Tue, 09 Apr 2019 10:51:35 +0200
changeset 70082 4f936de6d9b8
parent 70047 96fe857a7a6f
child 74080 5b68a5cd7061
permissions -rw-r--r--
tuned -- prefer Isar command 'compile_generated_files';
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
70082
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
     7
theory Test
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
     8
  imports Haskell
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     9
begin
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    10
70082
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
    11
compile_generated_files _ (in Haskell)
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
    12
  where \<open>fn dir =>
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    13
    let
70082
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
    14
      val modules =
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
    15
        Generated_Files.get_files \<^theory>\<open>Haskell\<close>
70047
96fe857a7a6f clarified signature: more explicit operations for corresponding Isar commands;
wenzelm
parents: 69662
diff changeset
    16
        |> map (#path #> Path.implode #> unsuffix ".hs" #> space_explode "/" #> space_implode ".");
69446
9cf0b79dfb7f more Haskell operations;
wenzelm
parents: 69444
diff changeset
    17
      val _ =
70082
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
    18
        GHC.new_project dir
69453
dcea1fffbfe6 more Haskell operations;
wenzelm
parents: 69446
diff changeset
    19
          {name = "isabelle",
69473
f71598c11fae more Haskell operations;
wenzelm
parents: 69459
diff changeset
    20
           depends =
f71598c11fae more Haskell operations;
wenzelm
parents: 69459
diff changeset
    21
            ["bytestring", "containers", "network", "split", "threads", "utf8-string", "uuid"],
69453
dcea1fffbfe6 more Haskell operations;
wenzelm
parents: 69446
diff changeset
    22
           modules = modules};
70082
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
    23
    in
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
    24
      writeln (Generated_Files.execute dir \<open>Build\<close> "mv Isabelle src && isabelle ghc_stack build")
4f936de6d9b8 tuned -- prefer Isar command 'compile_generated_files';
wenzelm
parents: 70047
diff changeset
    25
    end\<close>
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    26
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    27
end