src/HOL/MiniML/Maybe.thy
author nipkow
Wed Oct 25 09:46:46 1995 +0100 (1995-10-25)
changeset 1300 c7a8f374339b
child 1376 92f83b9d17e1
permissions -rw-r--r--
New theory: type inference for let-free MiniML
nipkow@1300
     1
(* Title:     HOL/MiniML/Maybe.thy
nipkow@1300
     2
   ID:        $Id$
nipkow@1300
     3
   Author:    Dieter Nazareth and Tobias Nipkow
nipkow@1300
     4
   Copyright  1995 TU Muenchen
nipkow@1300
     5
nipkow@1300
     6
Universal error monad.
nipkow@1300
     7
*)
nipkow@1300
     8
nipkow@1300
     9
Maybe = List +
nipkow@1300
    10
nipkow@1300
    11
datatype 'a maybe =  Ok 'a | Fail
nipkow@1300
    12
nipkow@1300
    13
consts bind :: "['a maybe, 'a => 'b maybe] => 'b maybe" (infixl 60)
nipkow@1300
    14
nipkow@1300
    15
defs
nipkow@1300
    16
  bind_def "m bind f == case m of Ok r => f r | Fail => Fail"
nipkow@1300
    17
nipkow@1300
    18
end