module LinearScan.Ssrfun where import Debug.Trace (trace, traceShow, traceShowId) import qualified Prelude import qualified Data.IntMap import qualified Data.IntSet import qualified Data.List import qualified Data.Ord import qualified Data.Functor.Identity import qualified Hask.Utils import qualified LinearScan.Specif as Specif _Option__apply :: (a1 -> a2) -> a2 -> (Prelude.Maybe a1) -> a2 _Option__apply f x u = case u of { Prelude.Just y -> f y; Prelude.Nothing -> x} _Option__coq_default :: a1 -> (Prelude.Maybe a1) -> a1 _Option__coq_default = _Option__apply (\x -> x) _Option__bind :: (a1 -> Prelude.Maybe a2) -> (Prelude.Maybe a1) -> Prelude.Maybe a2 _Option__bind f = _Option__apply f Prelude.Nothing pcomp :: (a2 -> Prelude.Maybe a1) -> (a3 -> Prelude.Maybe a2) -> a3 -> Prelude.Maybe a1 pcomp f g x = _Option__bind f (g x) s2val :: (Specif.Coq_sig2 a1) -> a1 s2val u = u sig_of_sig2 :: (Specif.Coq_sig2 a1) -> a1 sig_of_sig2 u = s2val u