File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -113,7 +113,7 @@ import Prelude
113113import Control.Alt ((<|>))
114114import Control.Alternative (class Alternative )
115115import Control.Lazy (class Lazy , defer )
116- import Control.Monad.Rec.Class (class MonadRec , Step (..), tailRecM2 , tailRec )
116+ import Control.Monad.Rec.Class (class MonadRec , Step (..), tailRecM2 )
117117import Control.Monad.ST (pureST )
118118import Data.Array.ST (unsafeFreeze , emptySTArray , pushSTArray )
119119import Data.Array.ST.Iterator (iterator , iterate , pushWhile )
@@ -521,13 +521,13 @@ span p arr =
521521 { init: arr, rest: [] }
522522 where
523523 breakIndex = go 0
524- go = tailRec \i ->
524+ go i =
525525 -- This looks like a good opportunity to use the Monad Maybe instance,
526526 -- but it's important to write out an explicit case expression here in
527527 -- order to ensure that TCO is triggered.
528528 case index arr i of
529- Just x -> if p x then Loop (i + 1 ) else Done ( Just i)
530- Nothing -> Done Nothing
529+ Just x -> if p x then go (i + 1 ) else Just i
530+ Nothing -> Nothing
531531
532532-- | Group equal, consecutive elements of an array into arrays.
533533-- |
You can’t perform that action at this time.
0 commit comments