Кажется, что Haskell установил несколько соглашений об именах вокруг монад.
Примеры:
- добавить
T
в конец, чтобы получить имя трансформатора монады (например,Reader
→ReaderT
) - с помощью
runXXX
для выполнения вычисления монады (например,runST
,runReader
) -
liftXXX
для различных значенийXXX
Существуют ли другие соглашения об именах?