Ответ 1
Это реализация по умолчанию для метода. Если в объявлении экземпляра не содержится явная реализация (>>)
, это определение, которое будет использоваться. Способы по умолчанию широко распространены, если какой-либо метод может быть реализован с использованием другого метода, но потенциально могут быть более эффективные реализации для некоторых типов данных.
m >>= \_ -> n
означает, что "результат" m
подается в функцию, игнорирующую его аргумент, и возвращает n
неважно. Его также можно записать
m >>= const n
В контексте монад с эффектами он имеет m
, чтобы иметь эффекты, но игнорировать возвращаемое значение, а затем n
'. То, что (>>)
предназначено для этого.