- 
                Notifications
    
You must be signed in to change notification settings  - Fork 50
 
Open
Description
| mapWithIndex f = foldrWithIndex (\i x acc -> f i x : acc) nil | 
The implementation of FunctorWithIndex for Lazy List uses folding, which, unlike Functor, is not lazy.
It should be:
instance functorWithIndexList :: FunctorWithIndex Int List where
  mapWithIndex f xs = List (go 0 <$> unwrap xs)
    where
    go i = \step -> case step of
      Nil -> Nil
      Cons x xs' -> Cons (f i x) (List (go (i + 1) <$> unwrap xs'))Metadata
Metadata
Assignees
Labels
No labels