src/HOL/MiniML/Maybe.thy
author clasohm
Wed Mar 06 14:19:39 1996 +0100 (1996-03-06)
changeset 1557 fe30812f5b5e
parent 1400 5d909faf0e04
child 2525 477c05586286
permissions -rw-r--r--
added constdefs section
     1 (* Title:     HOL/MiniML/Maybe.thy
     2    ID:        $Id$
     3    Author:    Dieter Nazareth and Tobias Nipkow
     4    Copyright  1995 TU Muenchen
     5 
     6 Universal error monad.
     7 *)
     8 
     9 Maybe = List +
    10 
    11 datatype 'a maybe =  Ok 'a | Fail
    12 
    13 constdefs
    14   bind :: ['a maybe, 'a => 'b maybe] => 'b maybe (infixl 60)
    15   "m bind f == case m of Ok r => f r | Fail => Fail"
    16 
    17 syntax "@bind" :: [pttrns,'a maybe,'b] => 'c ("(_ := _;//_)" 0)
    18 translations "P := E; F" == "E bind (%P.F)"
    19 
    20 end