@@ -1,6 +1,6 @@
11{-|
22Module : Idris.DeepSeq
3−Description : Specify how to marshall Idris' IR.
3+Description : NFData instances for Idris' types
44Copyright :
55License : BSD3
66Maintainer : The Idris Community.
@@ -26,323 +26,10 @@ import Control.DeepSeq
2626import qualified Cheapskate.Types as CT
2727import qualified Idris.Docstrings as D
2828
29−instance NFData a => NFData (D.Docstring a) where
30− rnf (D.DocString opts contents) = rnf opts `seq` rnf contents `seq` ()
31−
29+-- These types don't have Generic instances
3230instance NFData CT.Options where
3331 rnf (CT.Options x1 x2 x3 x4) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
3432
35−instance NFData ConsoleWidth where
36− rnf InfinitelyWide = ()
37− rnf (ColsWide x) = rnf x `seq` ()
38− rnf AutomaticWidth = ()
39−
40−instance NFData PrimFn where
41− rnf (LPlus x) = rnf x `seq` ()
42− rnf (LMinus x) = rnf x `seq` ()
43− rnf (LTimes x) = rnf x `seq` ()
44− rnf (LUDiv x) = rnf x `seq` ()
45− rnf (LSDiv x) = rnf x `seq` ()
46− rnf (LURem x) = rnf x `seq` ()
47− rnf (LSRem x) = rnf x `seq` ()
48− rnf (LAnd x) = rnf x `seq` ()
49− rnf (LOr x) = rnf x `seq` ()
50− rnf (LXOr x) = rnf x `seq` ()
51− rnf (LCompl x) = rnf x `seq` ()
52− rnf (LSHL x) = rnf x `seq` ()
53− rnf (LLSHR x) = rnf x `seq` ()
54− rnf (LASHR x) = rnf x `seq` ()
55− rnf (LEq x) = rnf x `seq` ()
56− rnf (LLt x) = rnf x `seq` ()
57− rnf (LLe x) = rnf x `seq` ()
58− rnf (LGt x) = rnf x `seq` ()
59− rnf (LGe x) = rnf x `seq` ()
60− rnf (LSLt x) = rnf x `seq` ()
61− rnf (LSLe x) = rnf x `seq` ()
62− rnf (LSGt x) = rnf x `seq` ()
63− rnf (LSGe x) = rnf x `seq` ()
64− rnf (LSExt x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
65− rnf (LZExt x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
66− rnf (LTrunc x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
67− rnf (LStrConcat) = ()
68− rnf (LStrLt) = ()
69− rnf (LStrEq) = ()
70− rnf (LStrLen) = ()
71− rnf (LIntFloat x) = rnf x `seq` ()
72− rnf (LFloatInt x) = rnf x `seq` ()
73− rnf (LIntStr x) = rnf x `seq` ()
74− rnf (LStrInt x) = rnf x `seq` ()
75− rnf (LFloatStr) = ()
76− rnf (LStrFloat) = ()
77− rnf (LChInt x) = rnf x `seq` ()
78− rnf (LIntCh x) = rnf x `seq` ()
79− rnf (LBitCast x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
80− rnf (LFExp) = ()
81− rnf (LFLog) = ()
82− rnf (LFSin) = ()
83− rnf (LFCos) = ()
84− rnf (LFTan) = ()
85− rnf (LFASin) = ()
86− rnf (LFACos) = ()
87− rnf (LFATan) = ()
88− rnf (LFSqrt) = ()
89− rnf (LFFloor) = ()
90− rnf (LFCeil) = ()
91− rnf (LFNegate) = ()
92− rnf (LStrHead) = ()
93− rnf (LStrTail) = ()
94− rnf (LStrCons) = ()
95− rnf (LStrIndex) = ()
96− rnf (LStrRev) = ()
97− rnf (LStrSubstr) = ()
98− rnf (LReadStr) = ()
99− rnf (LWriteStr) = ()
100− rnf (LSystemInfo) = ()
101− rnf (LFork) = ()
102− rnf (LPar) = ()
103− rnf (LExternal x) = rnf x `seq` ()
104− rnf (LNoOp) = ()
105−
106−instance NFData SyntaxRules where
107− rnf (SyntaxRules xs) = rnf xs `seq` ()
108−
109−instance NFData DynamicLib where
110− rnf (Lib x _) = rnf x `seq` ()
111−
112−
113−instance NFData Opt where
114− rnf (Filename str) = rnf str `seq` ()
115− rnf (Quiet) = ()
116− rnf (NoBanner) = ()
117− rnf (ColourREPL bool) = rnf bool `seq` ()
118− rnf (Idemode) = ()
119− rnf (IdemodeSocket) = ()
120− rnf (ShowLoggingCats) = ()
121− rnf (ShowLibs) = ()
122− rnf (ShowLibdir) = ()
123− rnf (ShowIncs) = ()
124− rnf (ShowPkgs) = ()
125− rnf (NoBasePkgs) = ()
126− rnf (NoPrelude) = ()
127− rnf (NoBuiltins) = ()
128− rnf (NoREPL) = ()
129− rnf (OLogging i) = rnf i `seq` ()
130− rnf (OLogCats cs) = rnf cs `seq` ()
131− rnf (Output str) = rnf str `seq` ()
132− rnf (Interface) = ()
133− rnf (TypeCase) = ()
134− rnf (TypeInType) = ()
135− rnf (DefaultTotal) = ()
136− rnf (DefaultPartial) = ()
137− rnf (WarnPartial) = ()
138− rnf (WarnReach) = ()
139− rnf (EvalTypes) = ()
140− rnf (DesugarNats) = ()
141− rnf (NoCoverage) = ()
142− rnf (ErrContext) = ()
143− rnf (ShowImpl) = ()
144− rnf (Verbose) = ()
145− rnf (Port str) = rnf str `seq` ()
146− rnf (IBCSubDir str) = rnf str `seq` ()
147− rnf (ImportDir str) = rnf str `seq` ()
148− rnf (PkgBuild str) = rnf str `seq` ()
149− rnf (PkgInstall str) = rnf str `seq` ()
150− rnf (PkgClean str) = rnf str `seq` ()
151− rnf (PkgCheck str) = rnf str `seq` ()
152− rnf (PkgREPL str) = rnf str `seq` ()
153− rnf (PkgMkDoc str) = rnf str `seq` ()
154− rnf (PkgTest str) = rnf str `seq` ()
155− rnf (PkgIndex fp) = rnf fp `seq` ()
156− rnf (WarnOnly) = ()
157− rnf (Pkg str) = rnf str `seq` ()
158− rnf (BCAsm str) = rnf str `seq` ()
159− rnf (DumpDefun str) = rnf str `seq` ()
160− rnf (DumpCases str) = rnf str `seq` ()
161− rnf (UseCodegen cg) = rnf cg `seq` ()
162− rnf (CodegenArgs str) = rnf str `seq` ()
163− rnf (OutputTy ot) = rnf ot `seq` ()
164− rnf (Extension le) = rnf le `seq` ()
165− rnf (InterpretScript str) = rnf str `seq` ()
166− rnf (EvalExpr str) = rnf str `seq` ()
167− rnf (TargetTriple str) = rnf str `seq` ()
168− rnf (TargetCPU str) = rnf str `seq` ()
169− rnf (OptLevel i) = rnf i `seq` ()
170− rnf (AddOpt o) = rnf o `seq` ()
171− rnf (RemoveOpt o) = rnf o `seq` ()
172− rnf (Client str) = rnf str `seq` ()
173− rnf (ShowOrigErr) = ()
174− rnf (AutoWidth) = ()
175− rnf (AutoSolve) = ()
176− rnf (UseConsoleWidth cw) = rnf cw `seq` ()
177− rnf DumpHighlights = ()
178− rnf NoElimDeprecationWarnings = ()
179− rnf NoOldTacticDeprecationWarnings = ()
180−
181−
182−instance NFData TIData where
183− rnf TIPartial = ()
184− rnf (TISolution xs) = rnf xs `seq` ()
185−
186−instance NFData IOption where
187− rnf (IOption
188− opt_logLevel
189− opt_logcats
190− opt_typecase
191− opt_typeintype
192− opt_coverage
193− opt_showimp
194− opt_errContext
195− opt_repl
196− opt_verbose
197− opt_nobanner
198− opt_quiet
199− opt_codegen
200− opt_outputTy
201− opt_ibcsubdir
202− opt_importdirs
203− opt_triple
204− opt_cpu
205− opt_cmdline
206− opt_origerr
207− opt_autoSolve
208− opt_autoImport
209− opt_optimise
210− opt_printdepth
211− opt_evaltypes
212− opt_desugarnats
213− opt_autoimpls) =
214− rnf opt_logLevel
215− `seq` rnf opt_typecase
216− `seq` rnf opt_typeintype
217− `seq` rnf opt_coverage
218− `seq` rnf opt_showimp
219− `seq` rnf opt_errContext
220− `seq` rnf opt_repl
221− `seq` rnf opt_verbose
222− `seq` rnf opt_nobanner
223− `seq` rnf opt_quiet
224− `seq` rnf opt_codegen
225− `seq` rnf opt_outputTy
226− `seq` rnf opt_ibcsubdir
227− `seq` rnf opt_importdirs
228− `seq` rnf opt_triple
229− `seq` rnf opt_cpu
230− `seq` rnf opt_cmdline
231− `seq` rnf opt_origerr
232− `seq` rnf opt_autoSolve
233− `seq` rnf opt_autoImport
234− `seq` rnf opt_optimise
235− `seq` rnf opt_printdepth
236− `seq` rnf opt_evaltypes
237− `seq` rnf opt_desugarnats
238− `seq` rnf opt_autoimpls
239− `seq` ()
240−
241−instance NFData LanguageExt where
242− rnf TypeProviders = ()
243− rnf ErrorReflection = ()
244−
245−instance NFData Optimisation where
246− rnf PETransform = ()
247−
248−instance NFData ColourTheme where
249− rnf (ColourTheme keywordColour
250− boundVarColour
251− implicitColour
252− functionColour
253− typeColour
254− dataColour
255− promptColour
256− postulateColour) =
257− rnf keywordColour
258− `seq` rnf boundVarColour
259− `seq` rnf implicitColour
260− `seq` rnf functionColour
261− `seq` rnf typeColour
262− `seq` rnf dataColour
263− `seq` rnf promptColour
264− `seq` rnf postulateColour
265− `seq` ()
266−
267−instance NFData IdrisColour where
268− rnf (IdrisColour _ x2 x3 x4 x5) = rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
269−
270−instance NFData OutputType where
271− rnf Raw = ()
272− rnf Object = ()
273− rnf Executable = ()
274−
275−instance NFData IBCWrite where
276− rnf (IBCFix fixDecl) = rnf fixDecl `seq` ()
277− rnf (IBCImp name) = rnf name `seq` ()
278− rnf (IBCStatic name) = rnf name `seq` ()
279− rnf (IBCClass name) = rnf name `seq` ()
280− rnf (IBCInstance b1 b2 n1 n2) = rnf b1 `seq` rnf b2 `seq` rnf n1 `seq` rnf n2 `seq` ()
281− rnf (IBCDSL name) = rnf name `seq` ()
282− rnf (IBCData name) = rnf name `seq` ()
283− rnf (IBCOpt name) = rnf name `seq` ()
284− rnf (IBCMetavar name) = rnf name `seq` ()
285− rnf (IBCSyntax syntax) = rnf syntax `seq` ()
286− rnf (IBCKeyword string) = rnf string `seq` ()
287− rnf (IBCImport imp) = rnf imp `seq` ()
288− rnf (IBCImportDir filePath) = rnf filePath `seq` ()
289− rnf (IBCObj codegen filePath) = rnf codegen `seq` rnf filePath `seq` ()
290− rnf (IBCLib codegen string) = rnf codegen `seq` rnf string `seq` ()
291− rnf (IBCCGFlag codegen string) = rnf codegen `seq` rnf string `seq` ()
292− rnf (IBCDyLib string) = rnf string `seq` ()
293− rnf (IBCHeader codegen string) = rnf codegen `seq` rnf string `seq` ()
294− rnf (IBCAccess name accessibility) = rnf name `seq` rnf accessibility `seq` ()
295− rnf (IBCMetaInformation name metaInformation) = rnf name `seq` rnf metaInformation `seq` ()
296− rnf (IBCTotal name totality) = rnf name `seq` rnf totality `seq` ()
297− rnf (IBCInjective name inj) = rnf name `seq` rnf inj `seq` ()
298− rnf (IBCFlags name fnOpts) = rnf name `seq` rnf fnOpts `seq` ()
299− rnf (IBCFnInfo name fnInfo) = rnf name `seq` rnf fnInfo `seq` ()
300− rnf (IBCTrans name terms) = rnf name `seq` rnf terms `seq` ()
301− rnf (IBCErrRev terms) = rnf terms `seq` ()
302− rnf (IBCCG name) = rnf name `seq` ()
303− rnf (IBCDoc name) = rnf name `seq` ()
304− rnf (IBCCoercion name) = rnf name `seq` ()
305− rnf (IBCDef name) = rnf name `seq` ()
306− rnf (IBCNameHint names) = rnf names `seq` ()
307− rnf (IBCLineApp filePath int pTerm) = rnf filePath `seq` rnf int `seq` rnf pTerm `seq` ()
308− rnf (IBCErrorHandler name) = rnf name `seq` ()
309− rnf (IBCFunctionErrorHandler n1 n2 n3) = rnf n1 `seq` rnf n2 `seq` rnf n3 `seq` ()
310− rnf (IBCPostulate name) = rnf name `seq` ()
311− rnf (IBCExtern extern) = rnf extern `seq` ()
312− rnf (IBCTotCheckErr fc string) = rnf fc `seq` rnf string `seq` ()
313− rnf (IBCParsedRegion fc) = rnf fc `seq` ()
314− rnf (IBCModDocs name) = rnf name `seq` ()
315− rnf (IBCUsage usage) = rnf usage `seq` ()
316− rnf (IBCExport name) = rnf name `seq` ()
317− rnf (IBCAutoHint n1 n2) = rnf n1 `seq` rnf n2 `seq` ()
318− rnf (IBCDeprecate n1 n2) = rnf n1 `seq` rnf n2 `seq` ()
319− rnf (IBCRecord x) = rnf x `seq` ()
320− rnf (IBCFragile n1 n2) = rnf n1 `seq` rnf n2 `seq` ()
321− rnf (IBCConstraint n1 n2) = rnf n1 `seq` rnf n2 `seq` ()
322−
323−
324−instance NFData a => NFData (D.Block a) where
325− rnf (D.Para lines) = rnf lines `seq` ()
326− rnf (D.Header i lines) = rnf i `seq` rnf lines `seq` ()
327− rnf (D.Blockquote bs) = rnf bs `seq` ()
328− rnf (D.List b t xs) = rnf b `seq` rnf t `seq` rnf xs `seq` ()
329− rnf (D.CodeBlock attr txt tm) = rnf attr `seq` rnf txt `seq` ()
330− rnf (D.HtmlBlock txt) = rnf txt `seq` ()
331− rnf D.HRule = ()
332−
333−instance NFData a => NFData (D.Inline a) where
334− rnf (D.Str txt) = rnf txt `seq` ()
335− rnf D.Space = ()
336− rnf D.SoftBreak = ()
337− rnf D.LineBreak = ()
338− rnf (D.Emph xs) = rnf xs `seq` ()
339− rnf (D.Strong xs) = rnf xs `seq` ()
340− rnf (D.Code xs tm) = rnf xs `seq` rnf tm `seq` ()
341− rnf (D.Link a b xs) = rnf a `seq` rnf b `seq` rnf xs `seq` ()
342− rnf (D.Image a b c) = rnf a `seq` rnf b `seq` rnf c `seq` ()
343− rnf (D.Entity a) = rnf a `seq` ()
344− rnf (D.RawHtml x) = rnf x `seq` ()
345−
34633instance NFData CT.ListType where
34734 rnf (CT.Bullet c) = rnf c `seq` ()
34835 rnf (CT.Numbered nw i) = rnf nw `seq` rnf i `seq` ()
@@ -354,373 +41,65 @@ instance NFData CT.NumWrapper where
35441 rnf CT.PeriodFollowing = ()
35542 rnf CT.ParenFollowing = ()
35643
357−instance NFData DocTerm where
358− rnf Unchecked = ()
359− rnf (Checked x1) = rnf x1 `seq` ()
360− rnf (Example x1) = rnf x1 `seq` ()
361− rnf (Failing x1) = rnf x1 `seq` ()
362−
363−-- All generated by 'derive'
364−
365−instance NFData SizeChange where
366− rnf Smaller = ()
367− rnf Same = ()
368− rnf Bigger = ()
369− rnf Unknown = ()
370−
371−instance NFData FnInfo where
372− rnf (FnInfo x1) = rnf x1 `seq` ()
373−
374−instance NFData Codegen where
375− rnf (Via x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
376− rnf Bytecode = ()
377−
378−instance NFData IRFormat where
379− rnf _ = ()
380−
381−instance NFData LogCat where
382− rnf _ = ()
383−
384−instance NFData CGInfo where
385− rnf (CGInfo x1 x2 x3)
386− = rnf x1 `seq`
387− rnf x2 `seq` rnf x3 `seq` ()
388−
389−instance NFData Fixity where
390− rnf (Infixl x1) = rnf x1 `seq` ()
391− rnf (Infixr x1) = rnf x1 `seq` ()
392− rnf (InfixN x1) = rnf x1 `seq` ()
393− rnf (PrefixN x1) = rnf x1 `seq` ()
394−
395−instance NFData FixDecl where
396− rnf (Fix x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
397−
398−instance NFData Static where
399− rnf Static = ()
400− rnf Dynamic = ()
401−
402−instance NFData ArgOpt where
403− rnf _ = ()
404−
405−instance NFData Plicity where
406− rnf (Imp x1 x2 x3 x4 x5)
407− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
408− rnf (Exp x1 x2 x3)
409− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
410− rnf (Constraint x1 x2)
411− = rnf x1 `seq` rnf x2 `seq` ()
412− rnf (TacImp x1 x2 x3)
413− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
414−
415−instance NFData FnOpt where
416− rnf Inlinable = ()
417− rnf TotalFn = ()
418− rnf PartialFn = ()
419− rnf CoveringFn = ()
420− rnf Coinductive = ()
421− rnf AssertTotal = ()
422− rnf Dictionary = ()
423− rnf Implicit = ()
424− rnf NoImplicit = ()
425− rnf (CExport x1) = rnf x1 `seq` ()
426− rnf ErrorHandler = ()
427− rnf ErrorReverse = ()
428− rnf Reflection = ()
429− rnf (Specialise x1) = rnf x1 `seq` ()
430− rnf Constructor = ()
431− rnf AutoHint = ()
432− rnf PEGenerated = ()
433−
434−instance NFData DataOpt where
435− rnf Codata = ()
436− rnf DefaultEliminator = ()
437− rnf DefaultCaseFun = ()
438− rnf DataErrRev = ()
439−
440−instance (NFData t) => NFData (PDecl' t) where
441− rnf (PFix x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
442− rnf (PTy x1 x2 x3 x4 x5 x6 x7 x8)
443− = rnf x1 `seq`
444− rnf x2 `seq`
445− rnf x3 `seq`
446− rnf x4 `seq`
447− rnf x5 `seq` rnf x6 `seq` rnf x7 `seq` rnf x8 `seq` ()
448− rnf (PPostulate x1 x2 x3 x4 x5 x6 x7 x8)
449− = rnf x1 `seq`
450− rnf x2 `seq`
451− rnf x3 `seq`
452− rnf x4 `seq`
453− rnf x5 `seq` rnf x6 `seq` rnf x7 `seq` rnf x8 `seq` ()
454− rnf (PClauses x1 x2 x3 x4)
455− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
456− rnf (PCAF x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
457− rnf (PData x1 x2 x3 x4 x5 x6)
458− = rnf x1 `seq`
459− rnf x2 `seq`
460− rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` rnf x6 `seq` ()
461− rnf (PParams x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
462− rnf (POpenInterfaces x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
463− rnf (PNamespace x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
464− rnf (PRecord x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12)
465− = rnf x1 `seq`
466− rnf x2 `seq`
467− rnf x3 `seq`
468− rnf x4 `seq`
469− rnf x5 `seq`
470− rnf x6 `seq`
471− rnf x7 `seq`
472− rnf x8 `seq`
473− rnf x9 `seq`
474− rnf x10 `seq` rnf x11 `seq` rnf x12 `seq` ()
475− rnf (PClass x1 x2 x3 x4 x5 x6 x8 x7 x9 x10 x11 x12)
476− = rnf x1 `seq`
477− rnf x2 `seq`
478− rnf x3 `seq`
479− rnf x4 `seq`
480− rnf x5 `seq`
481− rnf x6 `seq`
482− rnf x7 `seq`
483− rnf x8 `seq`
484− rnf x9 `seq`
485− rnf x10 `seq`
486− rnf x11 `seq` rnf x12 `seq` ()
487− rnf (PInstance x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15)
488− = rnf x1 `seq`
489− rnf x2 `seq`
490− rnf x3 `seq`
491− rnf x4 `seq`
492− rnf x5 `seq`
493− rnf x6 `seq`
494− rnf x7 `seq`
495− rnf x8 `seq`
496− rnf x9 `seq` rnf x10 `seq` rnf x11 `seq` rnf x12 `seq` rnf x13 `seq` rnf x14 `seq` rnf x15 `seq` ()
497− rnf (PDSL x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
498− rnf (PSyntax x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
499− rnf (PMutual x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
500− rnf (PDirective x1) = ()
501− rnf (PProvider x1 x2 x3 x4 x5 x6)
502− = rnf x1 `seq`
503− rnf x2 `seq`
504− rnf x3 `seq`
505− rnf x4 `seq`
506− rnf x5 `seq` rnf x6 `seq` ()
507− rnf (PTransform x1 x2 x3 x4)
508− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
509− rnf (PRunElabDecl x1 x2 x3)
510− = rnf x1 `seq` rnf x2 `seq` x3 `seq` ()
511−
512−instance NFData t => NFData (ProvideWhat' t) where
513− rnf (ProvTerm ty tm) = rnf ty `seq` rnf tm `seq` ()
514− rnf (ProvPostulate tm) = rnf tm `seq` ()
515−
516−instance NFData PunInfo where
517− rnf x = x `seq` ()
518−
519−instance (NFData t) => NFData (PClause' t) where
520− rnf (PClause x1 x2 x3 x4 x5 x6)
521− = rnf x1 `seq`
522− rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` rnf x6 `seq` ()
523− rnf (PWith x1 x2 x3 x4 x5 x6 x7)
524− = rnf x1 `seq`
525− rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` rnf x6 `seq` rnf x7 `seq` ()
526− rnf (PClauseR x1 x2 x3 x4)
527− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
528− rnf (PWithR x1 x2 x3 x4 x5)
529− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
530−
531−instance (NFData t) => NFData (PData' t) where
532− rnf (PDatadecl x1 x2 x3 x4)
533− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
534− rnf (PLaterdecl x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
535−
536−instance NFData PTerm where
537− rnf (PQuote x1) = rnf x1 `seq` ()
538− rnf (PRef x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` x3 `seq` ()
539− rnf (PInferRef x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` x3 `seq` ()
540− rnf (PPatvar x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
541− rnf (PLam _ x1 x2 x3 x4) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
542− rnf (PPi x1 x2 x3 x4 x5)
543− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
544− rnf (PLet _ x1 x2 x3 x4 x5)
545− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
546− rnf (PTyped x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
547− rnf (PAppImpl x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
548− rnf (PApp x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
549− rnf (PWithApp x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
550− rnf (PAppBind x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
551− rnf (PMatchApp x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
552− rnf (PCase x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
553− rnf (PIfThenElse x1 x2 x3 x4) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
554− rnf (PTrue x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
555− rnf (PResolveTC x1) = rnf x1 `seq` ()
556− rnf (PRewrite x1 x2 x3 x4 x5)
557− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
558− rnf (PPair x1 x2 x3 x4 x5) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` x5 `seq` ()
559− rnf (PDPair x1 x2 x3 x4 x5 x6)
560− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` x6 `seq` ()
561− rnf (PAs x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
562− rnf (PAlternative x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
563− rnf (PHidden x1) = rnf x1 `seq` ()
564− rnf (PType fc) = rnf fc `seq` ()
565− rnf (PUniverse _) = ()
566− rnf (PGoal x1 x2 x3 x4)
567− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
568− rnf (PConstant x1 x2) = x1 `seq` x2 `seq` ()
569− rnf Placeholder = ()
570− rnf (PDoBlock x1) = rnf x1 `seq` ()
571− rnf (PIdiom x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
572− rnf (PReturn x1) = rnf x1 `seq` ()
573− rnf (PMetavar x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
574− rnf (PProof x1) = rnf x1 `seq` ()
575− rnf (PTactics x1) = rnf x1 `seq` ()
576− rnf (PElabError x1) = rnf x1 `seq` ()
577− rnf PImpossible = ()
578− rnf (PCoerced x1) = rnf x1 `seq` ()
579− rnf (PDisamb x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
580− rnf (PUnifyLog x1) = rnf x1 `seq` ()
581− rnf (PNoImplicits x1) = rnf x1 `seq` ()
582− rnf (PQuasiquote x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
583− rnf (PUnquote x1) = rnf x1 `seq` ()
584− rnf (PQuoteName x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
585− rnf (PRunElab x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
586− rnf (PConstSugar x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
587−
588−instance NFData PAltType where
589− rnf (ExactlyOne x1) = rnf x1 `seq` ()
590− rnf FirstSuccess = ()
591− rnf TryImplicit = ()
592−
593−instance (NFData t) => NFData (PTactic' t) where
594− rnf (Intro x1) = rnf x1 `seq` ()
595− rnf Intros = ()
596− rnf (Focus x1) = rnf x1 `seq` ()
597− rnf (Refine x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
598− rnf (Rewrite x1) = rnf x1 `seq` ()
599− rnf DoUnify = ()
600− rnf (Induction x1) = rnf x1 `seq` ()
601− rnf (CaseTac x1) = rnf x1 `seq` ()
602− rnf (Equiv x1) = rnf x1 `seq` ()
603− rnf (Claim x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
604− rnf (MatchRefine x1) = rnf x1 `seq` ()
605− rnf (LetTac x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
606− rnf (LetTacTy x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
607− rnf (Exact x1) = rnf x1 `seq` ()
608− rnf Compute = ()
609− rnf Trivial = ()
610− rnf TCInstance = ()
611− rnf (ProofSearch r r1 r2 x1 x2 x3)
612− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
613− rnf Solve = ()
614− rnf Attack = ()
615− rnf ProofState = ()
616− rnf ProofTerm = ()
617− rnf Undo = ()
618− rnf (Try x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
619− rnf (TSeq x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
620− rnf (ApplyTactic x1) = rnf x1 `seq` ()
621− rnf (ByReflection x1) = rnf x1 `seq` ()
622− rnf (Reflect x1) = rnf x1 `seq` ()
623− rnf (Fill x1) = rnf x1 `seq` ()
624− rnf (GoalType x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
625− rnf Qed = ()
626− rnf Abandon = ()
627− rnf (TCheck x1) = rnf x1 `seq` ()
628− rnf (TEval x1) = rnf x1 `seq` ()
629− rnf (TDocStr x1) = x1 `seq` ()
630− rnf (TSearch x1) = rnf x1 `seq` ()
631− rnf Skip = ()
632− rnf (TFail x1) = rnf x1 `seq` ()
633− rnf SourceFC = ()
634− rnf Unfocus = ()
635−
636−instance (NFData t) => NFData (PDo' t) where
637− rnf (DoExp x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
638− rnf (DoBind x1 x2 x3 x4) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
639− rnf (DoBindP x1 x2 x3 x4) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
640− rnf (DoLet x1 x2 x3 x4 x5)
641− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
642− rnf (DoLetP x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
643−
644−instance (NFData t) => NFData (PArg' t) where
645− rnf (PImp x1 x2 x3 x4 x5)
646− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
647− rnf (PExp x1 x2 x3 x4)
648− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
649− rnf (PConstraint x1 x2 x3 x4)
650− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` ()
651− rnf (PTacImplicit x1 x2 x3 x4 x5)
652− = rnf x1 `seq`
653− rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
654−
655−instance NFData ClassInfo where
656− rnf (CI x1 x2 x3 x4 x5 x6 x7)
657− = rnf x1 `seq`
658− rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` rnf x6 `seq` rnf x7 `seq` ()
659−
660−instance NFData RecordInfo where
661− rnf (RI x1 x2 x3)
662− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
663−
664−instance NFData OptInfo where
665− rnf (Optimise x1 x2)
666− = rnf x1 `seq` rnf x2 `seq` ()
667−
668−instance NFData TypeInfo where
669− rnf (TI x1 x2 x3 x4 x5) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
670−
671−instance (NFData t) => NFData (DSL' t) where
672− rnf (DSL x1 x2 x3 x4 x5 x6 x7 x8 x9 x10)
673− = rnf x1 `seq`
674− rnf x2 `seq`
675− rnf x3 `seq`
676− rnf x4 `seq`
677− rnf x5 `seq`
678− rnf x6 `seq` rnf x7 `seq` rnf x8 `seq` rnf x9 `seq` rnf x10 `seq` ()
679−
680−instance NFData SynContext where
681− rnf PatternSyntax = ()
682− rnf TermSyntax = ()
683− rnf AnySyntax = ()
684−
685−instance NFData Syntax where
686− rnf (Rule x1 x2 x3) = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` ()
687− rnf (DeclRule x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
688−
689−instance NFData SSymbol where
690− rnf (Keyword x1) = rnf x1 `seq` ()
691− rnf (Symbol x1) = rnf x1 `seq` ()
692− rnf (Binding x1) = rnf x1 `seq` ()
693− rnf (Expr x1) = rnf x1 `seq` ()
694− rnf (SimpleExpr x1) = rnf x1 `seq` ()
695−
696−instance NFData Using where
697− rnf (UImplicit x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
698− rnf (UConstraint x1 x2) = rnf x1 `seq` rnf x2 `seq` ()
44+instance NFData DynamicLib where
45+ rnf (Lib x _) = rnf x `seq` ()
69946
700−instance NFData SyntaxInfo where
701− rnf (Syn x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15)
702− = rnf x1 `seq`
703− rnf x2 `seq`
704− rnf x3 `seq`
705− rnf x4 `seq`
706− rnf x5 `seq`
707− rnf x6 `seq` rnf x7 `seq` rnf x8 `seq` rnf x9 `seq` rnf x10 `seq` rnf x11 `seq` rnf x12 `seq` rnf x13 `seq` rnf x14 `seq` rnf x15 `seq` ()
47+instance NFData IdrisColour where
48+ rnf (IdrisColour _ x2 x3 x4 x5) = rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` ()
70849
50+-- Handle doesn't have an NFData instance
70951instance NFData OutputMode where
710− rnf (RawOutput x) = () -- no instance for Handle, so this is a bit wrong
52+ rnf (RawOutput x) = ()
71153 rnf (IdeMode x y) = rnf x `seq` ()
71254
713−instance NFData DefaultTotality where
714− rnf DefaultCheckingTotal = ()
715− rnf DefaultCheckingPartial = ()
716− rnf DefaultCheckingCovering = ()
717−
718−instance NFData IState where
719− rnf (IState x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20
720− x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 x31 x32 x33 x34 x35 x36 x37 x38 x39 x40
721− x41 x42 x43 x44 x45 x46 x47 x48 x49 x50 x51 x52 x53 x54 x55 x56 x57 x58 x59 x60
722− x61 x62 x63 x64 x65 x66 x67 x68 x69 x70 x71 x72 x73 x74 x75 x76 x77)
723− = rnf x1 `seq` rnf x2 `seq` rnf x3 `seq` rnf x4 `seq` rnf x5 `seq` rnf x6 `seq` rnf x7 `seq` rnf x8 `seq` rnf x9 `seq` rnf x10 `seq` () `seq` rnf x11 `seq` rnf x12 `seq` rnf x13 `seq` rnf x14 `seq` rnf x15 `seq` rnf x16 `seq` rnf x17 `seq` rnf x18 `seq` rnf x19 `seq` rnf x20 `seq`
724− rnf x21 `seq` rnf x22 `seq` rnf x23 `seq` rnf x24 `seq` rnf x25 `seq` rnf x26 `seq` rnf x27 `seq` rnf x28 `seq` rnf x29 `seq` rnf x30 `seq` rnf x31 `seq` rnf x32 `seq` rnf x33 `seq` rnf x34 `seq` rnf x35 `seq` rnf x36 `seq` rnf x37 `seq` rnf x38 `seq` rnf x39 `seq` rnf x40 `seq`
725− rnf x41 `seq` rnf x42 `seq` rnf x43 `seq` rnf x44 `seq` rnf x45 `seq` rnf x46 `seq` rnf x47 `seq` rnf x48 `seq` rnf x49 `seq` rnf x50 `seq` rnf x51 `seq` rnf x52 `seq` rnf x53 `seq` rnf x54 `seq` rnf x55 `seq` rnf x56 `seq` rnf x57 `seq` rnf x58 `seq` rnf x59 `seq` rnf x60 `seq`
726− rnf x61 `seq` rnf x62 `seq` rnf x63 `seq` rnf x64 `seq` rnf x65 `seq` rnf x66 `seq` rnf x67 `seq` rnf x68 `seq` rnf x69 `seq` rnf x70 `seq` rnf x71 `seq` rnf x72 `seq` rnf x73 `seq` rnf x74 `seq` rnf x75 `seq` rnf x76 `seq` rnf x77 `seq` ()
55+instance NFData a => NFData (D.Docstring a)
56+instance NFData ConsoleWidth
57+instance NFData PrimFn
58+instance NFData SyntaxRules
59+instance NFData Opt
60+instance NFData TIData
61+instance NFData IOption
62+instance NFData LanguageExt
63+instance NFData Optimisation
64+instance NFData ColourTheme
65+instance NFData OutputType
66+instance NFData IBCWrite
67+instance NFData a => NFData (D.Block a)
68+instance NFData a => NFData (D.Inline a)
69+instance NFData DocTerm
70+instance NFData SizeChange
71+instance NFData FnInfo
72+instance NFData Codegen
73+instance NFData IRFormat
74+instance NFData LogCat
75+instance NFData CGInfo
76+instance NFData Fixity
77+instance NFData FixDecl
78+instance NFData Static
79+instance NFData ArgOpt
80+instance NFData Plicity
81+instance NFData FnOpt
82+instance NFData DataOpt
83+instance NFData Directive
84+instance (NFData t) => NFData (PDecl' t)
85+instance NFData t => NFData (ProvideWhat' t)
86+instance NFData PunInfo
87+instance (NFData t) => NFData (PClause' t)
88+instance (NFData t) => NFData (PData' t)
89+instance NFData PTerm
90+instance NFData PAltType
91+instance (NFData t) => NFData (PTactic' t)
92+instance (NFData t) => NFData (PDo' t)
93+instance (NFData t) => NFData (PArg' t)
94+instance NFData ClassInfo
95+instance NFData RecordInfo
96+instance NFData OptInfo
97+instance NFData TypeInfo
98+instance (NFData t) => NFData (DSL' t)
99+instance NFData SynContext
100+instance NFData Syntax
101+instance NFData SSymbol
102+instance NFData Using
103+instance NFData SyntaxInfo
104+instance NFData DefaultTotality
105+instance NFData IState