首页 > 解决方案 > 如何在 Haskell 中实现`assertFail`?

问题描述

在实现我自己的工具模块和功能时,我想确保我的功能在特定输入上失败,例如assertFail (head []),但是这个assertFail功能似乎不可能在 Haskell 中实现,有没有办法破解它?

标签: haskell

解决方案


如果我正确理解你想要什么,你可以使用勺子

import Control.Spoon

assertFail x = case spoon x of
    Nothing -> ()
    Just _ -> error "unexpected success"

一个相关的问题:Haskell 中的勺子不安全吗?


推荐阅读