Open
Description
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