Что такое преобразователь состояния?
В Clojure Документация ядра для выпуска 1.7 - следующие функции
dedupe
disj!
dissoc!
filter
keep
map
random-sample
remove
replace
take-while
Имейте следующий текст в описании API
Returns a transducer when no collection is provided.
И следующие функции
drop
keep-indexed
partition-all
partition-by
take
take-nth
Введите следующий текст.
Returns a *stateful* transducer when no collection is provided.
Кроме того, была эта критика этой формулировки.
![enter image description here]()
Мой вопрос: Что такое преобразователь с состоянием?, т.е. что похоже на сгруппированные функции. (и именно по этой причине люди говорят, что набрав преобразователь, требуют зависимых типов?)
Ответы
Ответ 1
Состояние может храниться внутри преобразователей.
Соответствующие слайды:
https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/Transducers/00.34.26.jpg
https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/Transducers/00.36.36.jpg
См. раздел Разговоры с богатыми преобразователями - https://www.youtube.com/watch?v=6mTbuzafcII