Binder.hascasl revision 4e013227ed41ccd2e3d09dd44bedd651e1901f38
b408026b9899c1f9d155ac6d9f7bdc7f5cd3defbLennart Poetteringvar a, b : Type
b408026b9899c1f9d155ac6d9f7bdc7f5cd3defbLennart Poetteringtype M : Type -> Type
b408026b9899c1f9d155ac6d9f7bdc7f5cd3defbLennart Poetteringop __ >>= __ : M a * (a ->? M b) ->? M b
b408026b9899c1f9d155ac6d9f7bdc7f5cd3defbLennart Poettering%binder(__ <- __ :. __)% %binder(do __ <- __ :. __)%
b408026b9899c1f9d155ac6d9f7bdc7f5cd3defbLennart Poetteringvar p : M a; q : a -> M a
b408026b9899c1f9d155ac6d9f7bdc7f5cd3defbLennart Poettering. def do x <- p :. do y <- q x :. do z <- q y :. q z