From f39f5abb6a8b655fbf5ddc5ae8ba9f773d12add3 Mon Sep 17 00:00:00 2001 From: simonpj <unknown> Date: Fri, 14 Jul 2000 13:36:33 +0000 Subject: [PATCH] [project @ 2000-07-14 13:36:33 by simonpj] Tidy up newMutTyVar/newSigTyVar --- ghc/compiler/basicTypes/Var.lhs | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/ghc/compiler/basicTypes/Var.lhs b/ghc/compiler/basicTypes/Var.lhs index 54f010cc9411..793cfc99547a 100644 --- a/ghc/compiler/basicTypes/Var.lhs +++ b/ghc/compiler/basicTypes/Var.lhs @@ -170,24 +170,19 @@ mkSysTyVar uniq kind = Var { varName = name name = mkSysLocalName uniq SLIT("t") newMutTyVar :: Name -> Kind -> IO TyVar -newMutTyVar name kind = - do loc <- newIORef Nothing - return (Var { varName = name - , realUnique = getKey (nameUnique name) - , varType = kind - , varDetails = MutTyVar loc False - , varInfo = pprPanic "newMutTyVar" (ppr name) - }) +newMutTyVar name kind = newTyVar name kind False newSigTyVar :: Name -> Kind -> IO TyVar -newSigTyVar name kind = - do loc <- newIORef Nothing - return (Var { varName = name - , realUnique = getKey (nameUnique name) - , varType = kind - , varDetails = MutTyVar loc True - , varInfo = pprPanic "newSigTyVar" (ppr name) - }) +newSigTyVar name kind = newTyVar name kind True + +newTyVar name kind is_sig + = do loc <- newIORef Nothing + return (Var { varName = name + , realUnique = getKey (nameUnique name) + , varType = kind + , varDetails = MutTyVar loc is_sig + , varInfo = pprPanic "newMutTyVar" (ppr name) + }) readMutTyVar :: TyVar -> IO (Maybe Type) readMutTyVar (Var {varDetails = MutTyVar loc _}) = readIORef loc -- GitLab