Что такое датчик состояния?

В документации Clojure Core для версии 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.

Кроме того - была эта критика этой формулировки.

Мой вопрос: что такое датчик состояния? то есть то, что похоже на сгруппированные функции. (и это причина, по которой люди говорят, что для ввода преобразователя потребуются зависимые типы?)

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

Другие вопросы по тегам