-
Notifications
You must be signed in to change notification settings - Fork 12
/
test-is-a-prelude.hs
266 lines (224 loc) · 4.07 KB
/
test-is-a-prelude.hs
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
import qualified BasicPrelude as P
type Bool = P.Bool
_True = P.True
_False = P.False
(&&) = (P.&&)
(||) = (P.||)
not = P.not
otherwise = P.otherwise
type Maybe = P.Maybe
_Nothing = P.Nothing
_Just = P.Just
maybe = P.maybe
type Either = P.Either
_Left = P.Left
_Right = P.Right
either = P.either
type Ordering = P.Ordering
_LT = P.LT
_GT = P.GT
_EQ = P.EQ
type Char = P.Char
type String = P.String
fst = P.fst
snd = P.snd
curry = P.curry
uncurry = P.uncurry
(==) = (P.==)
(/=) = (P./=)
compare = P.compare
(<) = (P.<)
(>=) = (P.>=)
(>) = (P.>)
(<=) = (P.<=)
max = P.max
min = P.min
succ = P.succ
pred = P.pred
toEnum = P.toEnum
fromEnum = P.fromEnum
enumFrom = P.enumFrom
enumFromThen = P.enumFromThen
enumFromTo = P.enumFromTo
enumFromThenTo = P.enumFromThenTo
minBound = P.minBound
maxBound = P.maxBound
type Int = P.Int
type Integer = P.Integer
type Float = P.Float
type Double = P.Double
type Rational = P.Rational
(+) = (P.+)
(*) = (P.*)
(-) = (P.-)
negate = P.negate
abs = P.abs
signum = P.signum
fromInteger = P.fromInteger
toRational = P.toRational
quot = P.quot
rem = P.rem
div = P.div
mod = P.mod
quotRem = P.quotRem
divMod = P.divMod
toInteger = P.toInteger
(/) = (P./)
recip = P.recip
fromRational = P.fromRational
pi = P.pi
exp = P.exp
sqrt = P.sqrt
log = P.log
(**) = (P.**)
logBase = P.logBase
sin = P.sin
cos = P.cos
tan = P.tan
asin = P.asin
atan = P.atan
acos = P.acos
sinh = P.sinh
tanh = P.tanh
cosh = P.cosh
asinh = P.asinh
atanh = P.atanh
acosh = P.acosh
properFraction = P.properFraction
truncate = P.truncate
round = P.round
ceiling = P.ceiling
floor = P.floor
floatRadix = P.floatRadix
floatDigits = P.floatDigits
floatRange = P.floatRange
decodeFloat = P.decodeFloat
encodeFloat = P.encodeFloat
exponent = P.exponent
significand = P.significand
scaleFloat = P.scaleFloat
isNaN = P.isNaN
isInfinite = P.isInfinite
isDenormalized = P.isDenormalized
isNegativeZero = P.isNegativeZero
isIEEE = P.isIEEE
atan2 = P.atan2
subtract = P.subtract
even = P.even
odd = P.odd
gcd = P.gcd
lcm = P.lcm
(^) = (P.^)
(^^) = (P.^^)
fromIntegral = P.fromIntegral
realToFrac = P.realToFrac
(>>=) = (P.>>=)
(>>) = (P.>>)
return = P.return
fail = P.fail
fmap = P.fmap
mapM = P.mapM
mapM_ = P.mapM_
sequence = P.sequence
sequence_ = P.sequence_
(=<<) = (P.=<<)
id = P.id
const = P.const
(.) = (P..)
flip = P.flip
($) = (P.$)
until = P.until
asTypeOf = P.asTypeOf
error = P.error
undefined = P.undefined
seq = P.seq
($!) = (P.$!)
map = P.map
(++) = (P.++)
filter = P.filter
head = P.head
last = P.last
tail = P.tail
init = P.init
null = P.null
length = P.length
(!!) = (P.!!)
reverse = P.reverse
foldl = P.foldl
foldl1 = P.foldl1
foldr = P.foldr
foldr1 = P.foldr1
and = P.and
or = P.or
any = P.any
all = P.all
sum = P.sum
product = P.product
concat = P.concat
concatMap = P.concatMap
maximum = P.maximum
minimum = P.minimum
scanl = P.scanl
scanl1 = P.scanl1
scanr = P.scanr
scanr1 = P.scanr1
iterate = P.iterate
repeat = P.repeat
replicate = P.replicate
cycle = P.cycle
take = P.take
drop = P.drop
splitAt = P.splitAt
takeWhile = P.takeWhile
dropWhile = P.dropWhile
span = P.span
break = P.break
elem = P.elem
notElem = P.notElem
lookup = P.lookup
zip = P.zip
zip3 = P.zip3
zipWith = P.zipWith
zipWith3 = P.zipWith3
unzip = P.unzip
unzip3 = P.unzip3
lines = P.lines
words = P.words
unlines = P.unlines
unwords = P.unwords
type ShowS = P.ShowS
showsPrec = P.showsPrec
show = P.show
showList = P.showList
shows = P.shows
showChar = P.showChar
showString = P.showString
showParen = P.showParen
type ReadS a = P.ReadS a
readsPrec = P.readsPrec
readList = P.readList
reads = P.reads
readParen = P.readParen
read = P.read
lex = P.lex
type IO a = P.IO a
putChar = P.putChar
putStr = P.putStr
putStrLn = P.putStrLn
print = P.print
getChar = P.getChar
getLine = P.getLine
getContents = P.getContents
interact = P.interact
type FilePath = P.FilePath
readFile = P.readFile
writeFile = P.writeFile
appendFile = P.appendFile
readIO = P.readIO
readLn = P.readLn
type IOError = P.IOError
ioError = P.ioError
userError = P.userError
-- catch = P.catch -- deprecated