{-# LANGUAGE CPP, TypeFamilies #-}
#if __GLASGOW_HASKELL__ >= 701
{-# LANGUAGE Safe #-}
#endif
module Compiler.Hoopl.Checkpoint
( CheckpointMonad(..)
)
where
class Monad m => CheckpointMonad m where
type Checkpoint m
checkpoint :: m (Checkpoint m)
restart :: Checkpoint m -> m ()