summaryrefslogtreecommitdiff
path: root/compiler/prelude/PrelRules.lhs
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2012-01-07 22:36:00 +0000
committerIan Lynagh <igloo@earth.li>2012-01-07 22:36:00 +0000
commit0c5f28a532aea96fc02e471df8c34d664880a921 (patch)
tree39c64f6187c8691556655457acfdba22bbd15515 /compiler/prelude/PrelRules.lhs
parent5fb1a1c064e275e1c83996f0f6e6a1b343fae11c (diff)
downloadhaskell-0c5f28a532aea96fc02e471df8c34d664880a921.tar.gz
Add comments on which integer rules are missing
Diffstat (limited to 'compiler/prelude/PrelRules.lhs')
-rw-r--r--compiler/prelude/PrelRules.lhs19
1 files changed, 16 insertions, 3 deletions
diff --git a/compiler/prelude/PrelRules.lhs b/compiler/prelude/PrelRules.lhs
index 40ee5b0850..21ba25811a 100644
--- a/compiler/prelude/PrelRules.lhs
+++ b/compiler/prelude/PrelRules.lhs
@@ -621,11 +621,17 @@ builtinRules
builtinIntegerRules :: [CoreRule]
builtinIntegerRules =
- [rule_convert "integerToWord" integerToWordName mkWordLitWord,
+ [-- TODO: smallInteger rule
+ -- TODO: wordToInteger rule
+ rule_convert "integerToWord" integerToWordName mkWordLitWord,
rule_convert "integerToInt" integerToIntName mkIntLitInt,
+ -- TODO: integerToWord64 rule
+ -- TODO: word64ToInteger rule
+ -- TODO: integerToInt64 rule
+ -- TODO: int64ToInteger rule
rule_binop "plusInteger" plusIntegerName (+),
- rule_binop "timesInteger" timesIntegerName (*),
rule_binop "minusInteger" minusIntegerName (-),
+ rule_binop "timesInteger" timesIntegerName (*),
rule_unop "negateInteger" negateIntegerName negate,
rule_binop_Bool "eqInteger" eqIntegerName (==),
rule_binop_Bool "neqInteger" neqIntegerName (/=),
@@ -636,8 +642,15 @@ builtinIntegerRules =
rule_binop_Bool "ltInteger" ltIntegerName (<),
rule_binop_Bool "geInteger" geIntegerName (>=),
rule_binop_Ordering "compareInteger" compareIntegerName compare,
- rule_divop "quotRemInteger" quotRemIntegerName quotRem,
rule_divop "divModInteger" divModIntegerName divMod,
+ rule_divop "quotRemInteger" quotRemIntegerName quotRem,
+ -- TODO: quotInteger rule
+ -- TODO: remInteger rule
+ -- TODO: encodeFloatInteger rule
+ -- TODO: floatFromInteger rule
+ -- TODO: encodeDoubleInteger rule
+ -- TODO: decodeDoubleInteger rule
+ -- TODO: doubleFromInteger rule
rule_binop "gcdInteger" gcdIntegerName gcd,
rule_binop "lcmInteger" lcmIntegerName lcm,
rule_binop "andInteger" andIntegerName (.&.),