Structure monadsyntax


Source File Identifier index Theory binding index

signature monadsyntax =
sig


  include Abbrev
  (* loading this module installs this function as an absyn transformer
     under the name "monadsyntax.transform_absyn"
  *)
  val transform_absyn : term_grammar.absyn_postprocessor
  val print_monads : term_grammar.userprinter

  (* enable/add forms are aliases for each other; add version for backwards
     compatibility *)
  val add_monadsyntax : unit -> unit
  val temp_add_monadsyntax : unit -> unit
  val enable_monadsyntax : unit -> unit
  val temp_enable_monadsyntax : unit -> unit

  val disable_monadsyntax : unit -> unit
  val temp_disable_monadsyntax : unit -> unit

  type monadinfo =
       { bind : term,
         ignorebind : term option,
         unit : term,
         fail : term option,
         choice : term option,
         guard : term option }
  val declare_monad : string * monadinfo -> unit
  val all_monads : unit -> (string * monadinfo) list

  val enable_monad : string -> unit
  val temp_enable_monad : string -> unit

  val weak_enable_monad : string -> unit
  val temp_weak_enable_monad : string -> unit

  val disable_monad : string -> unit
  val temp_disable_monad : string -> unit


end


Source File Identifier index Theory binding index

HOL 4, Kananaskis-13