src/HOL/Imperative_HOL/Heap_Monad.thy
changeset 52388 f6d1ca0c6faf
parent 51485 637aa1649ac7
child 52435 6646bb548c6b
equal deleted inserted replaced
52387:b5b510c686cb 52388:f6d1ca0c6faf
   554 code_datatype raise' -- {* avoid @{const "Heap"} formally *}
   554 code_datatype raise' -- {* avoid @{const "Heap"} formally *}
   555 
   555 
   556 
   556 
   557 subsubsection {* SML and OCaml *}
   557 subsubsection {* SML and OCaml *}
   558 
   558 
   559 code_type Heap (SML "unit/ ->/ _")
   559 code_type Heap (SML "(unit/ ->/ _)")
   560 code_const bind (SML "!(fn/ f'_/ =>/ fn/ ()/ =>/ f'_/ (_/ ())/ ())")
   560 code_const bind (SML "!(fn/ f'_/ =>/ fn/ ()/ =>/ f'_/ (_/ ())/ ())")
   561 code_const return (SML "!(fn/ ()/ =>/ _)")
   561 code_const return (SML "!(fn/ ()/ =>/ _)")
   562 code_const Heap_Monad.raise' (SML "!(raise/ Fail/ _)")
   562 code_const Heap_Monad.raise' (SML "!(raise/ Fail/ _)")
   563 
   563 
   564 code_type Heap (OCaml "unit/ ->/ _")
   564 code_type Heap (OCaml "(unit/ ->/ _)")
   565 code_const bind (OCaml "!(fun/ f'_/ ()/ ->/ f'_/ (_/ ())/ ())")
   565 code_const bind (OCaml "!(fun/ f'_/ ()/ ->/ f'_/ (_/ ())/ ())")
   566 code_const return (OCaml "!(fun/ ()/ ->/ _)")
   566 code_const return (OCaml "!(fun/ ()/ ->/ _)")
   567 code_const Heap_Monad.raise' (OCaml "failwith")
   567 code_const Heap_Monad.raise' (OCaml "failwith")
   568 
   568 
   569 
   569 
   651 }
   651 }
   652 *}
   652 *}
   653 
   653 
   654 code_reserved Scala Heap Ref Array
   654 code_reserved Scala Heap Ref Array
   655 
   655 
   656 code_type Heap (Scala "Unit/ =>/ _")
   656 code_type Heap (Scala "(Unit/ =>/ _)")
   657 code_const bind (Scala "Heap.bind")
   657 code_const bind (Scala "Heap.bind")
   658 code_const return (Scala "('_: Unit)/ =>/ _")
   658 code_const return (Scala "('_: Unit)/ =>/ _")
   659 code_const Heap_Monad.raise' (Scala "!sys.error((_))")
   659 code_const Heap_Monad.raise' (Scala "!sys.error((_))")
   660 
   660 
   661 
   661