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
|
module FlatCurry.Names where
import FlatCurry.Build ( pre )
import FlatCurry.Types
anonCons :: QName
anonCons = pre "_"
isPrimOp :: QName -> Bool
isPrimOp (mn,fn) = mn=="Prelude" && fn `elem` map fst preludePrimOps
preludePrimOps :: [(String,String)]
preludePrimOps = unaryPrimOps ++ binaryPrimOps ++
[("otherwise","True")
,("apply","apply")
]
unaryPrimOps :: [(String,String)]
unaryPrimOps =
[("_impl#negate#Prelude.Num#Prelude.Int","-")
,("_impl#sqrt#Prelude.Floating#Prelude.Float","sqrt")
,("not","not")
]
binaryPrimOps :: [(String,String)]
binaryPrimOps =
[("constrEq","==")
,("_impl#==#Prelude.Eq#Prelude.Int","==")
,("_impl#==#Prelude.Eq#Prelude.Float","==")
,("_impl#==#Prelude.Eq#Prelude.Char","==")
,("/=","/=")
,("_impl#/=#Prelude.Eq#Prelude.Int","/=")
,("_impl#/=#Prelude.Eq#Prelude.Float","/=")
,("_impl#/=#Prelude.Eq#Prelude.Char","/=")
,("_impl#+#Prelude.Num#Prelude.Int","+")
,("_impl#-#Prelude.Num#Prelude.Int","-")
,("_impl#*#Prelude.Num#Prelude.Int","*")
,("_impl#negate#Prelude.Num#Prelude.Int","-")
,("_impl#div#Prelude.Integral#Prelude.Int","div")
,("_impl#mod#Prelude.Integral#Prelude.Int","mod")
,("_impl#rem#Prelude.Integral#Prelude.Int","rem")
,("_impl#>#Prelude.Ord#Prelude.Int",">")
,("_impl#<#Prelude.Ord#Prelude.Int","<")
,("_impl#>=#Prelude.Ord#Prelude.Int",">=")
,("_impl#<=#Prelude.Ord#Prelude.Int","<=")
,("_impl#+#Prelude.Num#Prelude.Float","+")
,("_impl#-#Prelude.Num#Prelude.Float","-")
,("_impl#*#Prelude.Num#Prelude.Float","*")
,("_impl#/#Prelude.Num#Prelude.Float","/")
,("_impl#>#Prelude.Ord#Prelude.Float",">")
,("_impl#<#Prelude.Ord#Prelude.Float","<")
,("_impl#>=#Prelude.Ord#Prelude.Float",">=")
,("_impl#<=#Prelude.Ord#Prelude.Float","<=")
,("_impl#>#Prelude.Ord#Prelude.Char",">")
,("_impl#<#Prelude.Ord#Prelude.Char","<")
,("_impl#>=#Prelude.Ord#Prelude.Char",">=")
,("_impl#<=#Prelude.Ord#Prelude.Char","<=")
]
|