on 385dcbf help sign in
Idris-dev/src/Idris/Core/DeepSeq.hs
64 lines 1.6 kB history raw
1{-|
2Module : Idris.Core.DeepSeq
3Description : NFData instances for TT.
4Copyright :
5License : BSD3
6Maintainer : The Idris Community.
7-}
8{-# LANGUAGE BangPatterns, CPP, ViewPatterns #-}
9{-# OPTIONS_GHC -fwarn-incomplete-patterns #-}
11module Idris.Core.DeepSeq where
13import Idris.Core.CaseTree
14import Idris.Core.Evaluate
15import Idris.Core.TT
17import Control.DeepSeq
19instance NFData Name
21instance NFData Context
23-- | Forcing the contents of a context, for diagnosing and working
24-- around space leaks
25forceDefCtxt :: Context -> Context
26forceDefCtxt (force -> !ctxt) = ctxt
28instance NFData NameOutput
29instance NFData TextFormatting
30#if !(MIN_VERSION_base(4,10,0))
31instance NFData Ordering
32#endif
33instance NFData OutputAnnotation
34instance NFData SpecialName
35instance NFData Universe
36instance NFData Raw
37instance NFData FC
38instance NFData FC'
39instance NFData Provenance
40instance NFData UConstraint
41instance NFData ConstraintFC
42instance NFData Err
43instance NFData ErrorReportPart
44instance NFData ImplicitInfo
45instance NFData RigCount
46instance (NFData b) => NFData (Binder b)
47instance NFData UExp
48instance NFData NameType
49instance NFData NativeTy
50instance NFData IntTy
51instance NFData ArithTy
52instance NFData Const
53instance (NFData a) => NFData (AppStatus a)
54instance (NFData n) => NFData (TT n)
55instance NFData Accessibility
56instance NFData Totality
57instance NFData PReason
58instance NFData MetaInformation
59instance NFData Def
60instance NFData CaseInfo
61instance NFData CaseDefs
62instance NFData CaseType
63instance (NFData t) => NFData (SC' t)
64instance (NFData t) => NFData (CaseAlt' t)