0 | module Data.Hashable.Base
 1 |
 2 | import Data.Hashable
 3 | import Derive.Hashable
 4 | import Language.Reflection
 5 | import Language.Reflection.Util
 6 | import Language.Mk
 7 |
 8 | %default total
 9 |
10 | %language ElabReflection
11 |
12 | %runElab derive "Namespace" [Hashable]
13 | %runElab derive "ModuleIdent" [Hashable]
14 | %runElab derive "VirtualIdent" [Hashable]
15 | %runElab derive "OriginDesc" [Hashable]
16 | Hashable FC where
17 |   hashWithSalt salt _ = salt
18 | -- %runElab derive "FC" [Hashable]
19 | %runElab derive "WithFC" [Hashable]
20 | %runElab derive "NameType" [Hashable]
21 | %runElab derive "PrimType" [Hashable]
22 |
23 | export
24 | Hashable Double where
25 |   hashWithSalt salt d = hashWithSalt salt $ show d
26 |
27 | %runElab derive "Constant" [Hashable]
28 | %runElab derive "UserName" [Hashable]
29 | %runElab derive "Name" [Hashable]
30 | %runElab derive "NameInfo" [Hashable]
31 | %runElab derive "Count" [Hashable]
32 | %runElab derive "PiInfo" [Hashable]
33 | %runElab deriveIndexed "IsVar" [Hashable]
34 | %runElab derive "LazyReason" [Hashable]
35 | %runElab derive "TotalReq" [Hashable]
36 | %runElab derive "Visibility" [Hashable]
37 | %runElab derive "BuiltinType" [Hashable]
38 |
39 | %runElab derive "List1" [Hashable]
40 |
41 | %runElab deriveMutual ["BindMode", "UseSide", "DotReason", "TTImp", "IFieldUpdate", "AltType", "FnOpt", "ITy", "DataOpt", "Data", "IField", "Record", "WithFlag", "Clause", "WithDefault", "IClaimData", "Decl"] [Hashable]
42 |
43 |
44 |