1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
cabal-version: 3.0
name: whatcd-resolver
version: 0.1.0.0
author: Profpatsch
maintainer: mail@profpatsch.de
common common-options
ghc-options:
-Wall
-Wno-type-defaults
-Wunused-packages
-Wredundant-constraints
-fwarn-missing-deriving-strategies
-- See https://downloads.haskell.org/ghc/latest/docs/users_guide/exts.html
-- for a description of all these extensions
default-extensions:
-- Infer Applicative instead of Monad where possible
ApplicativeDo
-- Allow literal strings to be Text
OverloadedStrings
-- Syntactic sugar improvements
LambdaCase
MultiWayIf
-- Makes the (deprecated) usage of * instead of Data.Kind.Type an error
NoStarIsType
-- Convenient and crucial to deal with ambiguous field names, commonly
-- known as RecordDotSyntax
OverloadedRecordDot
-- Make #labels available
OverloadedLabels
-- does not export record fields as functions, use OverloadedRecordDot to access instead
NoFieldSelectors
-- Allow the same record field name to be declared twice per module.
-- This works, because we use `OverloadedRecordDot` everywhere (enforced by `NoFieldSelectors`).
DuplicateRecordFields
-- Record punning
RecordWildCards
-- Improved Deriving
DerivingStrategies
DerivingVia
-- Type-level strings
DataKinds
-- to enable the `type` keyword in import lists (ormolu uses this automatically)
ExplicitNamespaces
-- allows defining pattern synonyms, but also the `import Foo (pattern FooPattern)` import syntax
PatternSynonyms
default-language: GHC2021
library
import: common-options
hs-source-dirs: src
exposed-modules:
WhatcdResolver
AppT
Bencode
JsonLd
Optional
Http
Html
Transmission
Redacted
build-depends:
base >=4.15 && <5,
text,
my-prelude,
my-webstuff,
my-prelude,
pa-error-tree,
pa-label,
pa-run-command,
aeson-better-errors,
aeson,
bencode,
blaze-html,
blaze-markup,
bytestring,
case-insensitive,
conduit,
containers,
unordered-containers,
directory,
exceptions,
filepath,
hs-opentelemetry-sdk,
hs-opentelemetry-api,
http-conduit,
http-types,
http-client,
ihp-hsx,
monad-logger,
mtl,
network-uri,
typed-process,
resourcet,
resource-pool,
postgresql-simple,
punycode,
tmp-postgres,
time,
unliftio,
wai-extra,
wai,
warp,
executable whatcd-resolver
import: common-options
main-is: Main.hs
build-depends:
base >=4.15 && <5,
whatcd-resolver
ghc-options:
-threaded
-- run idle GC only every 2 minutes to reduce CPU load
-with-rtsopts=-I120
|