Ответ 1
Большинство API не удовлетворяют законам монады. jQuery
является большим API
, поэтому статистически он вряд ли будет "случайно" монадическим. В результате я скептически отношусь к тому, что API jQuery
в целом может удовлетворять законам монады (т.е. Что "jQuery является монадой" ).
Это не означает, что данное (очень ограниченное) подмножество может не удовлетворить их, но API в целом, скорее всего, будет содержать "небезопасные" операции, которые будут нарушать законы при их использовании, нарушая абстракцию.
Поскольку никто, кажется, не представил доказательств того, что API полностью или частично удовлетворяет законам, я предлагаю предположить, что это не так, пока не будут представлены доказательства.
Должно быть показано:
- какая операция jQuery соответствует
return
(снятие значения в монаде jQuery)? - какая операция jQuery соответствует
bind
, для склеивания вычислений вместе? - как законы левого, правого и ассоциативного поведения сохраняются над этими операциями?
И затем, какие правовые нарушения возможны, учитывая остальную часть jQuery API? Могу ли я, например, сломать bind
, вызвав одну из других функций API?
Литература: