# HG changeset patch # User haftmann # Date 1694624935 0 # Node ID b0ddfa5b9ddcbdb1216ec2f120c578abd953cc55 # Parent d052d61da39827d25ffb11edb7b3741560f0a40e some hints on managed installations diff -r d052d61da398 -r b0ddfa5b9ddc src/Doc/Codegen/Further.thy --- a/src/Doc/Codegen/Further.thy Wed Sep 13 17:08:54 2023 +0000 +++ b/src/Doc/Codegen/Further.thy Wed Sep 13 17:08:55 2023 +0000 @@ -4,6 +4,16 @@ section \Further issues \label{sec:further}\ +subsection \Runtime environments for \<^text>\Haskell\ and \<^text>\OCaml\\ + +text \ + The Isabelle System Manual \<^cite>\"isabelle-system"\ provides some hints + how runtime environments for \<^text>\Haskell\ and \<^text>\OCaml\ can be + set up and maintained conveniently using managed installations within + the Isabelle environments. +\ + + subsection \Incorporating generated code directly into the system runtime -- \code_reflect\\ subsubsection \Static embedding of generated code into the system runtime\ diff -r d052d61da398 -r b0ddfa5b9ddc src/Doc/System/Misc.thy --- a/src/Doc/System/Misc.thy Wed Sep 13 17:08:54 2023 +0000 +++ b/src/Doc/System/Misc.thy Wed Sep 13 17:08:55 2023 +0000 @@ -466,4 +466,30 @@ \<^url>\https://isabelle.sketis.net/repos/isabelle/archive/tip.tar.gz\). \ + +section \Managed installations of \<^text>\Haskell\ and \<^text>\OCaml\\ + +text \ + Code generated in Isabelle \<^cite>\"Haftmann-codegen"\ for \<^text>\SML\ + or \<^text>\Scala\ integrates easily using Isabelle/ML or Isabelle/Scala + respectively. + + To facilitate integration with further target languages, there are + tools to provide managed installations of the required ecosystems: + + \<^item> Tool @{tool_def ghc_setup} provides a basic \<^text>\Haskell\ \<^cite>\"Thompson-Haskell"\ environment + consisting of the Glasgow Haskell Compiler and the Haskell Tool Stack. + + \<^item> Tool @{tool_def ghc_stack} provides an interface to that \<^text>\Haskell\ + environment; use \<^verbatim>\isabelle ghc_stack --help\ for elementary + instructions. + + \<^item> Tool @{tool_def ocaml_setup} provides a basic \<^text>\OCaml\ \<^cite>\OCaml\ environment + consisting of the OCaml compiler and the OCaml Package Manager. + + \<^item> Tool @{tool_def ocaml_opam} provides an interface to that \<^text>\OCaml\ + environment; use \<^verbatim>\isabelle ocaml_opam --help\ for elementary + instructions. +\ + end