相关疑难解决方法(0)

声明类型类的所有实例都在另一个类型类中,而不修改原始类声明

crypto-api包中有一个Crypto.Random API,用于指定"伪随机数生成器"的含义.

我使用System.Random的RandomGen类的实例,即StdGen实现了这个API:

instance CryptoRandomGen StdGen where
  newGen bs = Right $ mkStdGen $ shift e1 24 + shift e2 16 + shift e3 8 + e4
    where (e1 : e2 : e3 : e4 : _) = Prelude.map fromIntegral $ unpack bs
  genSeedLength = Tagged 4
  genBytes n g = Right $ genBytesHelper n empty g
    where genBytesHelper 0 partial gen = (partial, gen)
          genBytesHelper n partial gen = genBytesHelper (n-1) (partial `snoc` nextitem) newgen
            where (nextitem, newgen) = …
Run Code Online (Sandbox Code Playgroud)

haskell subclass instance typeclass

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

标签 统计

haskell ×1

instance ×1

subclass ×1

typeclass ×1