小编pli*_*int的帖子

使用QuickCheck为给定函数生成多个任意参数

上下文

我有以下功能:

prop_SignAndVerify :: (PrivKey a b) => Blind a -> BS.ByteString -> Bool
prop_SignAndVerify bsk msg = case verify pk msg sig of
                             Left e -> error e
                             Right b -> b
  where
    sk  = getBlind bsk
    pk  = toPublic sk
    sig = case sign sk msg of
               Left e -> error e
               Right s -> s
Run Code Online (Sandbox Code Playgroud)

我想做的事情如下:

-- instance PrivKey RSA.PrivateKey RSA.PublicKey where...
genRSA :: Gen RSA.PrivateKey
genRSAMessage :: Gen BS.ByteString

main = do
  quickCheck . verbose 
  $ …
Run Code Online (Sandbox Code Playgroud)

haskell typeclass quickcheck

3
推荐指数
1
解决办法
426
查看次数

嵌套的Eithers具有不同的错误类型

我有一个嵌套有不同的错误类型,看起来像:

Either e1 (Either e2 a)
Run Code Online (Sandbox Code Playgroud)

我想要一个像以下一样的函数:

Either e1 (Either e2 a) -> Either e2 a
Run Code Online (Sandbox Code Playgroud)

更一般地说,是否存在匹配此模式的类型类?

haskell typeclass either

0
推荐指数
1
解决办法
202
查看次数

标签 统计

haskell ×2

typeclass ×2

either ×1

quickcheck ×1