Skip to content

Commit b5f10ae

Browse files
committed
Remove Bits
1 parent 4b2c65d commit b5f10ae

File tree

5 files changed

+0
-123
lines changed

5 files changed

+0
-123
lines changed

examples/passing/OperatorAssociativity.purs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,12 @@ main = do
4242
assert ((4 % 9) / 2 == 2) "(4 % 9) / 2 == 2"
4343

4444
assert (not (1 < 0) == true) "not (1 < 0) == true"
45-
assert (not (complement (1 + 10) == 8) == true) "not (complement (1 + 10) == 8) == true"
4645
assert (not ((negate 1) < 0) == false) "not ((negate 1) < 0) == false"
4746

4847
assert (negate (1 + 10) == -11) "negate (1 + 10) == -11"
4948

5049
assert (2 * 3 / 4 == 1.5) "2 * 3 / 4 == 1.5"
5150
assert (1 * 2 * 3 * 4 * 5 / 6 == 20) "1 * 2 * 3 * 4 * 5 / 6 == 20"
52-
assert (complement (2 / 3 * 4) == -3) "complement (2 / 3 * 4) == -3"
5351

5452
assert (1 + 10 - 5 == 6) "1 + 10 - 5 == 6"
5553
assert (1 + 10 * 5 == 51) "1 + 10 * 5 == 51"

examples/passing/Operators.purs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@ module Main where
6161
test15 :: Number -> Number -> Boolean
6262
test15 a b = const false $ a `test14` b
6363

64-
test16 :: Number -> Number -> Number
65-
test16 x y = x .|. y .&. y
66-
6764
test17 :: Number
6865
test17 = negate (-1)
6966

@@ -94,7 +91,6 @@ module Main where
9491
let t13 = test13 k 1 2
9592
let t14 = test14 1 2
9693
let t15 = test15 1 2
97-
let t16 = test16 1 2
9894
let t17 = test17
9995
let t18 = test18
10096
let t19 = test19

prelude/prelude.purs

Lines changed: 0 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ module Prelude
2929
, ComplementedLattice, not
3030
, DistributiveLattice
3131
, BooleanAlgebra
32-
, Bits, (.&.), (.|.), (.^.), shl, shr, zshr, complement
3332
) where
3433

3534
-- | The `Unit` type has a single inhabitant, called `unit`. It represents values with no computational content.
@@ -874,90 +873,6 @@ module Prelude
874873
}
875874
""" :: Boolean -> Boolean
876875

877-
infixl 10 .&.
878-
infixl 10 .|.
879-
infixl 10 .^.
880-
881-
-- | The `Bits` type class identifies types which support bitwise operations.
882-
class Bits b where
883-
(.&.) :: b -> b -> b
884-
(.|.) :: b -> b -> b
885-
(.^.) :: b -> b -> b
886-
shl :: b -> Number -> b
887-
shr :: b -> Number -> b
888-
zshr :: b -> Number -> b
889-
complement :: b -> b
890-
891-
instance bitsNumber :: Bits Number where
892-
(.&.) = numAnd
893-
(.|.) = numOr
894-
(.^.) = numXor
895-
shl = numShl
896-
shr = numShr
897-
zshr = numZshr
898-
complement = numComplement
899-
900-
foreign import numAnd
901-
"""
902-
function numAnd(n1) {
903-
return function(n2) {
904-
return n1 & n2;
905-
};
906-
}
907-
""" :: Number -> Number -> Number
908-
909-
foreign import numOr
910-
"""
911-
function numOr(n1) {
912-
return function(n2) {
913-
return n1 | n2;
914-
};
915-
}
916-
""" :: Number -> Number -> Number
917-
918-
foreign import numXor
919-
"""
920-
function numXor(n1) {
921-
return function(n2) {
922-
return n1 ^ n2;
923-
};
924-
}
925-
""" :: Number -> Number -> Number
926-
927-
foreign import numShl
928-
"""
929-
function numShl(n1) {
930-
return function(n2) {
931-
return n1 << n2;
932-
};
933-
}
934-
""" :: Number -> Number -> Number
935-
936-
foreign import numShr
937-
"""
938-
function numShr(n1) {
939-
return function(n2) {
940-
return n1 >> n2;
941-
};
942-
}
943-
""" :: Number -> Number -> Number
944-
945-
foreign import numZshr
946-
"""
947-
function numZshr(n1) {
948-
return function(n2) {
949-
return n1 >>> n2;
950-
};
951-
}
952-
""" :: Number -> Number -> Number
953-
954-
foreign import numComplement
955-
"""
956-
function numComplement(n) {
957-
return ~n;
958-
}
959-
""" :: Number -> Number
960-
961876
module Data.Function where
962877

963878
-- | The `on` function is used to change the domain of a binary operator.

src/Language/PureScript/CodeGen/JS/Optimizer/Inliner.hs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,6 @@ inlineCommonOperators = applyAll $
124124
, binary C.semigroupString (C.<>) Add
125125
, binary C.semigroupString (C.++) Add
126126

127-
, binaryFunction C.bitsNumber C.shl ShiftLeft
128-
, binaryFunction C.bitsNumber C.shr ShiftRight
129-
, binaryFunction C.bitsNumber C.zshr ZeroFillShiftRight
130-
, binary C.bitsNumber (C..&.) BitwiseAnd
131-
, binary C.bitsNumber (C..|.) BitwiseOr
132-
, binary C.bitsNumber (C..^.) BitwiseXor
133-
, unary C.bitsNumber C.complement BitwiseNot
134-
135127
, binary C.latticeBoolean (C.&&) And
136128
, binary C.latticeBoolean (C.||) Or
137129
, binaryFunction C.latticeBoolean C.inf And

src/Language/PureScript/Constants.hs

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,6 @@ module Language.PureScript.Constants where
6565
(/=) :: String
6666
(/=) = "/="
6767

68-
(.&.) :: String
69-
(.&.) = ".&."
70-
71-
(.|.) :: String
72-
(.|.) = ".|."
73-
74-
(.^.) :: String
75-
(.^.) = ".^."
76-
7768
(&&) :: String
7869
(&&) = "&&"
7970

@@ -88,18 +79,6 @@ unsafeIndex = "unsafeIndex"
8879
negate :: String
8980
negate = "negate"
9081

91-
shl :: String
92-
shl = "shl"
93-
94-
shr :: String
95-
shr = "shr"
96-
97-
zshr :: String
98-
zshr = "zshr"
99-
100-
complement :: String
101-
complement = "complement"
102-
10382
not :: String
10483
not = "not"
10584

@@ -205,9 +184,6 @@ eqString = "eqString"
205184
eqBoolean :: String
206185
eqBoolean = "eqBoolean"
207186

208-
bitsNumber :: String
209-
bitsNumber = "bitsNumber"
210-
211187
boundedBoolean :: String
212188
boundedBoolean = "boundedBoolean"
213189

0 commit comments

Comments
 (0)