Безопасное приложение на Haskell

У меня есть фрагмент кода, в котором внутри монады списка применяется функция. Функция потенциально может иметь неполное сопоставление с образцом для своих аргументов. Поэтому, когда функция применяется, я могу получить ошибку "Неполное сопоставление с образцом". Я хотел бы превратить эту ошибку в монадический сбой (в данном случае пустой список). Другими словами, я хотел бы получить поведение, подобное тому, что происходит, когда Some Pattern Here <- some valueвнутри блока doдает сбой.

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

5
задан julkiewicz 1 April 2012 в 15:49
поделиться