File tree Expand file tree Collapse file tree 2 files changed +13
-12
lines changed Expand file tree Collapse file tree 2 files changed +13
-12
lines changed Original file line number Diff line number Diff line change 3333
3434 charCodeAt :: Number -> String -> Maybe Number
3535
36+ count :: (Char -> Boolean) -> String -> Number
37+
3638 drop :: Number -> String -> String
3739
3840 dropWhile :: (Char -> Boolean) -> String -> String
Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ module Data.String
1414 singleton ,
1515 localeCompare ,
1616 replace ,
17+ count ,
1718 take ,
1819 takeWhile ,
1920 drop ,
@@ -65,10 +66,10 @@ module Data.String
6566 uncons s = Just {head : U. charAt 0 s, tail : drop 1 s}
6667
6768 takeWhile :: (Char -> Boolean ) -> String -> String
68- takeWhile = do After take
69+ takeWhile p s = take ( count p s ) s
6970
7071 dropWhile :: (Char -> Boolean ) -> String -> String
71- dropWhile = do After drop
72+ dropWhile p s = drop ( count p s ) s
7273
7374 foreign import fromCharArray
7475 " " "
@@ -162,18 +163,16 @@ module Data.String
162163 }
163164 " " " :: Number -> String -> String
164165
165- foreign import do After
166+ foreign import count
166167 " " "
167- function doAfter(f){
168- return function(p){
169- return function(s){
170- var i;
171- for(i = 0; i < s.length && p(s.charAt(i)); i++){};
172- return f(i)(s);
173- };
174- };
168+ function count(p){
169+ return function(s){
170+ var i;
171+ for(i = 0; i < s.length && p(s.charAt(i)); i++){};
172+ return i;
173+ };
175174 }
176- " " " :: (Number -> String -> String ) -> ( Char -> Boolean ) -> String -> String
175+ " " " :: (Char -> Boolean ) -> String -> Number
177176
178177 foreign import split
179178 " " "
You can’t perform that action at this time.
0 commit comments