X-Git-Url: http://git.megacz.com/?p=coq-hetmet.git;a=blobdiff_plain;f=src%2FExtraction-prefix.hs;fp=src%2FExtraction-prefix.hs;h=558d0aba3ac00f35ac7c02d63eb45e32e3d7c4ac;hp=d0b6ffae8e3686661f337aad4117c648e2dce21b;hb=f49db0fc38c6c430585e4e48304510212c3f1a0f;hpb=69d1a3f3ecf6a0651a59d2ec4fb22896c2d1a822 diff --git a/src/Extraction-prefix.hs b/src/Extraction-prefix.hs index d0b6ffa..558d0ab 100644 --- a/src/Extraction-prefix.hs +++ b/src/Extraction-prefix.hs @@ -22,6 +22,8 @@ import qualified CoreSyn import qualified CoreUtils import qualified Class import qualified Data.Char +import qualified Data.List +import qualified Data.Ord import qualified Data.Typeable import Data.Bits ((.&.), shiftL, (.|.)) import Prelude ( (++), (+), (==), Show, show, Char, (.) ) @@ -46,8 +48,8 @@ errOrFail (Error s) = Prelude.error s getTyConTyVars :: TyCon.TyCon -> [Var.TyVar] getTyConTyVars tc = if TyCon.isFunTyCon tc then [] else if TyCon.isPrimTyCon tc then [] else TyCon.tyConTyVars tc -sortAlts :: [(CoreSyn.AltCon,a,b)] -> [(CoreSyn.AltCon,a,b)] -sortAlts x = x -- FIXME +sortAlts :: [(CoreSyn.AltCon,[Var.Var],CoreSyn.Expr Var.Var)] -> [(CoreSyn.AltCon,[Var.Var],CoreSyn.Expr Var.Var)] +sortAlts x = Data.List.sortBy (\(a1,_,_) -> \(a2,_,_) -> Data.Ord.compare a1 a2) x -- to do: this could be moved into Coq coreVarToWeakVar :: Var.Var -> WeakVar