gpt4 book ai didi

haskell - 理解签名中 `System.ZMQ4.Monadic` 的 `forall`

转载 作者:行者123 更新时间:2023-12-01 12:28:08 24 4
gpt4 key购买 nike

查看来自 System.ZMQ4.MonadicrunZMQ :

这个类型签名是什么意思?

λ: :t runZMQ 
runZMQ
:: transformers-0.4.2.0:Control.Monad.IO.Class.MonadIO m =>
(forall z. ZMQ z a) -> m a

特别是,我不理解forall

最佳答案

来自ZQM docs :

The ZMQ monad is modeled after ST and encapsulates a Context. It uses the uninstantiated type variable z to distinguish different invoctions of runZMQ and to prevent unintented use of Sockets outside their scope. Cf. the paper of John Launchbury and Simon Peyton Jones Lazy Functional State Threads.

所以 z 参数的作用就像 ST s a 中的 s 参数一样。

Haskell Wiki 中对 ST monad 的一种解释:

https://wiki.haskell.org/Monad/ST

关于haskell - 理解签名中 `System.ZMQ4.Monadic` 的 `forall`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37500852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com