F# 的 monad 实现在可用关键字数量方面是否独特?
我只知道F#。我还没有学过其他的函数式编程语言。我见过的所有关于 monad 的例子都只描述了 bind 和 unit 方法。 F# 有很多关键字(例如 let!、do! 等…
Haskell: join 是如何自然转变的?
我可以在 Haskell 中将自然变换定义为: h :: [a] -> Maybe a h [] = Nothing h (x:_) = Just x 并使用函数 k: k :: Char -> Int k = ord 满足自然性…
这是计算表达式的候选者吗?
我有以下 C# 代码,它会检查权限。我想知道,当转换为 f# 时,计算表达式是否可以作为分解空检查的一种方法。 bool ShouldGrantPermission(ISecurityS…
在 Haskell 中延迟评估一元函数
我似乎无法找到解决我遇到的这个问题的方法。 我有这样的事情: getFilePathForDay :: Day -> IO (Maybe FilePath) getFilePathForDays date days = d…
为什么 Maybe/Option 在 Clojure 中的使用不那么普遍?
Closed. This question is opinion-based. It is not currently accepting answers. 想要改进这个问题?更新问题,以便可以通过编辑这篇文章用事实和…
Haskell - 检查文件句柄的有效性
好吧,伙计们,超级简单的问题(谷歌没有帮助我解决这个问题似乎很奇怪): import IO --.... yadda, yadda, yadda file <- openFile "/some/path" Re…
OCaml 中的状态 monad
我试图在 OCaml 中实现状态 monad(作为练习)。我的实现如下所示: module type MONAD_BUILDER = sig type 'a t val return : 'a -> 'a t val bind :…
在 Haskell 中混合 Monad
我正在尝试在 haskell 中使用 Ubigraph,但我相信我的问题更通用。我正在尝试编译: import Graphics.Ubigraph import Control.Monad import System.P…
可以用 do 表示法进行一些输出,然后在 haskell 中返回一个字符串吗?
在haskell中是否可以使某些操作实时输出,然后返回一个具有如下函数的字符串: test :: String -> String test x = do putStrLn x -- make some stuff…
Monad 转换器库 - 使用哪一个?
Closed. This question is off-topic. It is not currently accepting answers. 想要改进此问题吗?更新问题,使其关于- Stack Overflow 的主题。 11…