@@ -1,5 +1,6 @@
1−module Idris.DeepSeq where
1+module Idris.DeepSeq(module Idris.DeepSeq, module Idris.Core.DeepSeq) where
22
3+import Idris.Core.DeepSeq
34import Idris.Core.TT
45import Idris.AbsSyntax
56import Idris.AbsSyntaxTree
@@ -12,32 +13,6 @@ instance NFData Forceability where
1213 rnf Conditional = ()
1314 rnf Unconditional = ()
1415
15−instance NFData Raw where
16− rnf (Var x1) = rnf x1 `seq` ()
17− rnf (RBind x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
18− rnf (RApp x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
19− rnf RType = ()
20− rnf (RForce x1) = rnf x1 `seq` ()
21− rnf (RConstant x1) = x1 `seq` ()
22−
23−instance NFData FC where
24− rnf (FC x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
25−
26−instance NFData Name where
27− rnf (UN x1) = rnf x1 `seq` ()
28− rnf (NS x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
29− rnf (MN x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
30− rnf NErased = ()
31− rnf (SN x1) = rnf x1 `seq` ()
32−
33−instance NFData SpecialName where
34− rnf (WhereN x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
35− rnf (InstanceN x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
36− rnf (ParentN x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
37− rnf (MethodN x1) = rnf x1 `seq` ()
38− rnf (CaseN x1) = rnf x1 `seq` ()
39− rnf (ElimN x1) = rnf x1 `seq` ()
40−
4116instance NFData IntTy where
4217 rnf (ITFixed x1) = rnf x1 `seq` ()
4318 rnf ITNative = ()
@@ -45,85 +20,16 @@ instance NFData IntTy where
4520 rnf ITChar = ()
4621 rnf (ITVec x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
4722
48−
4923instance NFData NativeTy where
5024 rnf IT8 = ()
5125 rnf IT16 = ()
5226 rnf IT32 = ()
5327 rnf IT64 = ()
54−
5528
5629instance NFData ArithTy where
5730 rnf (ATInt x1) = rnf x1 `seq` ()
5831 rnf ATFloat = ()
5932
60−instance NFData Err where
61− rnf (Msg x1) = rnf x1 `seq` ()
62− rnf (InternalMsg x1) = rnf x1 `seq` ()
63− rnf (CantUnify x1 x2 x3 x4 x5 x6)
64− = rnf x1 `seq`
65− rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` rnf x6 `seq` ()
66− rnf (InfiniteUnify x1 x2 x3)
67− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
68− rnf (CantConvert x1 x2 x3)
69− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
70− rnf (UnifyScope x1 x2 x3 x4)
71− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
72− rnf (CantInferType x1) = rnf x1 `seq` ()
73− rnf (NonFunctionType x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
74− rnf (CantIntroduce x1) = rnf x1 `seq` ()
75− rnf (NoSuchVariable x1) = rnf x1 `seq` ()
76− rnf (NoTypeDecl x1) = rnf x1 `seq` ()
77− rnf (NotInjective x1 x2 x3)
78− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
79− rnf (CantResolve x1) = rnf x1 `seq` ()
80− rnf (CantResolveAlts x1) = rnf x1 `seq` ()
81− rnf (IncompleteTerm x1) = rnf x1 `seq` ()
82− rnf UniverseError = ()
83− rnf ProgramLineComment = ()
84− rnf (Inaccessible x1) = rnf x1 `seq` ()
85− rnf (NonCollapsiblePostulate x1) = rnf x1 `seq` ()
86− rnf (AlreadyDefined x1) = rnf x1 `seq` ()
87− rnf (ProofSearchFail x1) = rnf x1 `seq` ()
88− rnf (NoRewriting x1) = rnf x1 `seq` ()
89− rnf (At x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
90− rnf (Elaborating x1 x2 x3)
91− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
92− rnf (ProviderError x1) = rnf x1 `seq` ()
93− rnf (LoadingFailed x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
94−
95−instance (NFData b) => NFData (Binder b) where
96− rnf (Lam x1) = rnf x1 `seq` ()
97− rnf (Pi x1) = rnf x1 `seq` ()
98− rnf (Let x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
99− rnf (NLet x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
100− rnf (Hole x1) = rnf x1 `seq` ()
101− rnf (GHole x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
102− rnf (Guess x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
103− rnf (PVar x1) = rnf x1 `seq` ()
104− rnf (PVTy x1) = rnf x1 `seq` ()
105−
106−instance NFData UExp where
107− rnf (UVar x1) = rnf x1 `seq` ()
108− rnf (UVal x1) = rnf x1 `seq` ()
109−
110−instance NFData NameType where
111− rnf Bound = ()
112− rnf Ref = ()
113− rnf (DCon x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
114− rnf (TCon x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
115−
116−instance (NFData n) => NFData (TT n) where
117− rnf (P x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
118− rnf (V x1) = rnf x1 `seq` ()
119− rnf (Bind x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
120− rnf (App x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
121− rnf (Constant x1) = x1 `seq` ()
122− rnf (Proj x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
123− rnf Erased = ()
124− rnf Impossible = ()
125− rnf (TType x1) = rnf x1 `seq` ()
126−
12733instance NFData SizeChange where
12834 rnf Smaller = ()
12935 rnf Same = ()