Может ли кто-нибудь помочь мне понять следующее определение из документа Вадлера под названием "Понимание монадов"? (Выдержка из раздела 3.2/стр. 9, т.е. Подразделение "Строгость Монады".)
Иногда необходимо контролировать порядок оценки в ленивой функциональной программе. Обычно это достигается с помощью вычислимой функции strict, определенной
strict f x = если x ≠ ⊥, то f x else ⊥.
Оперативно строгое f x сводится к первому уменьшению x до слабой нормальной формы головы (WHNF), а затем уменьшению приложения f x. В качестве альтернативы безопасно уменьшать x и f x параллельно, но не разрешать доступ к результату до тех пор, пока x не будет в WHNF.
В этой статье мы еще не видим использования символа, состоящего из двух перпендикулярных линий (не уверенный, что он назвал), поэтому он появляется из ниоткуда.
Учитывая, что Вадлер продолжает утверждать, что "мы будем использовать [строгие] понимания для контроля оценки ленивых программ", кажется, это довольно важная концепция для понимания.