Revision 340b80e3f1075c80b74badd67ee0157f6fd7581b authored by mkolosick on 23 November 2019, 01:29:11 UTC, committed by mkolosick on 23 November 2019, 01:29:11 UTC
1 parent f6db5fa
Raw File
incrState.ml
let ret x s = (x, s)
let bind f ma s = match ma s with
    | (x, s') -> f x s'
let get s = (s,s)
let put x s = ((),x)

let incr = bind (fun x -> put (x+1)) (get)

let vc i = assert (snd (incr i) = i + 1)
let vc1 = assert (snd (incr 10) = 11)

back to top