Skip to content
Snippets Groups Projects
Commit f39f5abb authored by Simon Peyton Jones's avatar Simon Peyton Jones
Browse files

[project @ 2000-07-14 13:36:33 by simonpj]

Tidy up newMutTyVar/newSigTyVar
parent ce492e0a
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment