Skip to content

Commit 6cc8db7

Browse files
Merge pull request #123 from sanctuary-js/davidchambers/unsound
remove ‘takeWhile’ and ‘dropWhile’
2 parents 5c14cee + e544b16 commit 6cc8db7

File tree

2 files changed

+0
-88
lines changed

2 files changed

+0
-88
lines changed

Diff for: index.js

-52
Original file line numberDiff line numberDiff line change
@@ -1512,56 +1512,6 @@
15121512
return filter (function(x) { return !(pred (x)); }, filterable);
15131513
}
15141514

1515-
//# takeWhile :: Filterable f => (a -> Boolean, f a) -> f a
1516-
//.
1517-
//. Discards the first element which does not satisfy the predicate, and all
1518-
//. subsequent elements.
1519-
//.
1520-
//. This function is derived from [`filter`](#filter).
1521-
//.
1522-
//. See also [`dropWhile`](#dropWhile).
1523-
//.
1524-
//. ```javascript
1525-
//. > takeWhile (s => /x/.test (s), ['xy', 'xz', 'yx', 'yz', 'zx', 'zy'])
1526-
//. ['xy', 'xz', 'yx']
1527-
//.
1528-
//. > takeWhile (s => /y/.test (s), ['xy', 'xz', 'yx', 'yz', 'zx', 'zy'])
1529-
//. ['xy']
1530-
//.
1531-
//. > takeWhile (s => /z/.test (s), ['xy', 'xz', 'yx', 'yz', 'zx', 'zy'])
1532-
//. []
1533-
//. ```
1534-
function takeWhile(pred, filterable) {
1535-
var take = true;
1536-
return filter (function(x) { return take = take && pred (x); },
1537-
filterable);
1538-
}
1539-
1540-
//# dropWhile :: Filterable f => (a -> Boolean, f a) -> f a
1541-
//.
1542-
//. Retains the first element which does not satisfy the predicate, and all
1543-
//. subsequent elements.
1544-
//.
1545-
//. This function is derived from [`filter`](#filter).
1546-
//.
1547-
//. See also [`takeWhile`](#takeWhile).
1548-
//.
1549-
//. ```javascript
1550-
//. > dropWhile (s => /x/.test (s), ['xy', 'xz', 'yx', 'yz', 'zx', 'zy'])
1551-
//. ['yz', 'zx', 'zy']
1552-
//.
1553-
//. > dropWhile (s => /y/.test (s), ['xy', 'xz', 'yx', 'yz', 'zx', 'zy'])
1554-
//. ['xz', 'yx', 'yz', 'zx', 'zy']
1555-
//.
1556-
//. > dropWhile (s => /z/.test (s), ['xy', 'xz', 'yx', 'yz', 'zx', 'zy'])
1557-
//. ['xy', 'xz', 'yx', 'yz', 'zx', 'zy']
1558-
//. ```
1559-
function dropWhile(pred, filterable) {
1560-
var take = false;
1561-
return filter (function(x) { return take = take || !(pred (x)); },
1562-
filterable);
1563-
}
1564-
15651515
//# map :: Functor f => (a -> b, f a) -> f b
15661516
//.
15671517
//. Function wrapper for [`fantasy-land/map`][].
@@ -2380,8 +2330,6 @@
23802330
reverse: reverse,
23812331
sort: sort,
23822332
sortBy: sortBy,
2383-
takeWhile: takeWhile,
2384-
dropWhile: dropWhile,
23852333
traverse: traverse,
23862334
sequence: sequence,
23872335
extend: extend,

Diff for: test/index.js

-36
Original file line numberDiff line numberDiff line change
@@ -943,42 +943,6 @@ test ('reject', function() {
943943
eq (Z.reject (odd, Just (1)), Nothing);
944944
});
945945

946-
test ('takeWhile', function() {
947-
eq (Z.takeWhile.length, 2);
948-
eq (Z.takeWhile.name, 'takeWhile');
949-
950-
eq (Z.takeWhile (odd, []), []);
951-
eq (Z.takeWhile (odd, [1]), [1]);
952-
eq (Z.takeWhile (odd, [1, 3]), [1, 3]);
953-
eq (Z.takeWhile (odd, [1, 3, 6]), [1, 3]);
954-
eq (Z.takeWhile (odd, [1, 3, 6, 10]), [1, 3]);
955-
eq (Z.takeWhile (odd, [1, 3, 6, 10, 15]), [1, 3]);
956-
eq (Z.takeWhile (odd, Nil), Nil);
957-
eq (Z.takeWhile (odd, Cons (1, Nil)), Cons (1, Nil));
958-
eq (Z.takeWhile (odd, Cons (1, Cons (3, Nil))), Cons (1, Cons (3, Nil)));
959-
eq (Z.takeWhile (odd, Cons (1, Cons (3, Cons (6, Nil)))), Cons (1, Cons (3, Nil)));
960-
eq (Z.takeWhile (odd, Cons (1, Cons (3, Cons (6, Cons (10, Nil))))), Cons (1, Cons (3, Nil)));
961-
eq (Z.takeWhile (odd, Cons (1, Cons (3, Cons (6, Cons (10, Cons (15, Nil)))))), Cons (1, Cons (3, Nil)));
962-
});
963-
964-
test ('dropWhile', function() {
965-
eq (Z.dropWhile.length, 2);
966-
eq (Z.dropWhile.name, 'dropWhile');
967-
968-
eq (Z.dropWhile (odd, []), []);
969-
eq (Z.dropWhile (odd, [1]), []);
970-
eq (Z.dropWhile (odd, [1, 3]), []);
971-
eq (Z.dropWhile (odd, [1, 3, 6]), [6]);
972-
eq (Z.dropWhile (odd, [1, 3, 6, 10]), [6, 10]);
973-
eq (Z.dropWhile (odd, [1, 3, 6, 10, 15]), [6, 10, 15]);
974-
eq (Z.dropWhile (odd, Nil), Nil);
975-
eq (Z.dropWhile (odd, Cons (1, Nil)), Nil);
976-
eq (Z.dropWhile (odd, Cons (1, Cons (3, Nil))), Nil);
977-
eq (Z.dropWhile (odd, Cons (1, Cons (3, Cons (6, Nil)))), Cons (6, Nil));
978-
eq (Z.dropWhile (odd, Cons (1, Cons (3, Cons (6, Cons (10, Nil))))), Cons (6, Cons (10, Nil)));
979-
eq (Z.dropWhile (odd, Cons (1, Cons (3, Cons (6, Cons (10, Cons (15, Nil)))))), Cons (6, Cons (10, Cons (15, Nil))));
980-
});
981-
982946
test ('map', function() {
983947
eq (Z.map.length, 2);
984948
eq (Z.map.name, 'map');

0 commit comments

Comments
 (0)