Как называется эта концепция сгиба / сканирования на потоках? - PullRequest
2 голосов
/ 16 января 2020

Этот тип StreamTransformer определен следующим образом:

newtype StreamTransformer input output = StreamTransformer
  { runStreamTransformer :: input -> (output, StreamTransformer input output)
  }

Следующая функция, которая выглядит как сканирование / складывание, кажется очень полезной

scan :: (a -> b -> b) -> b -> StreamTransformer a b
scan op init = StreamTransformer $ \i -> (init, scan op (i `op` init)) 

Есть ли имя для этого scan? Может ли это быть выражено / понято как некий катаморфизм / анаморфизм?

...