import Name
import Var hiding ( varName )
import VarSet
-import VarEnv
import Name
import UniqSupply
-import Type
import TcType
-import TcGadt
import GHC
-import GhciMonad
import InteractiveEval
import Outputable
import Pretty ( Mode(..), showDocWith )
-import FastString
import SrcLoc
import Control.Exception
showTerm cms@(Session ref) = cPprTerm cPpr
where
cPpr = \p-> cPprShowable : cPprTermBase p
- cPprShowable prec t@Term{ty=ty, dc=dc, val=val} = do
- let hasType = isEmptyVarSet (tyVarsOfType ty) -- redundant
- isEvaled = isFullyEvaluatedTerm t
- if not isEvaled -- || not hasType
+ cPprShowable prec t@Term{ty=ty, dc=dc, val=val} =
+ if not (isFullyEvaluatedTerm t)
then return Nothing
else do
hsc_env <- readIORef ref
cvObtainTerm, -- :: HscEnv -> Int -> Bool -> Maybe Type -> HValue -> IO Term
Term(..),
+ isTerm,
+ isSuspension,
+ isPrim,
pprTerm,
cPprTerm,
cPprTermBase,
-- unsafeDeepSeq,
cvReconstructType,
computeRTTIsubst,
- sigmaType
+ sigmaType,
+ Closure(..),
+ getClosureData,
+ ClosureType(..),
+ isConstr,
+ isIndirection
) where
#include "HsVersions.h"
import DataCon
import Type
-import TcRnMonad ( TcM, initTc, initTcPrintErrors, ioToTcRn,
+import TcRnMonad ( TcM, initTc, ioToTcRn,
tryTcErrs)
import TcType
import TcMType
import Data.Maybe
import Data.Array.Base
import Data.List ( partition )
-import qualified Data.Sequence as Seq
import Foreign
import System.IO.Unsafe