npj*_*npj 0 syntax haskell let
我正在阅读这篇关于用Scotty在Haskell中编写API的博客文章,我看到了关于monad变换器的部分.我理解monad变换器的概念,但我无法理解这里发生的事情:
let r m = runReaderT (runConfigM m) c
Run Code Online (Sandbox Code Playgroud)
如何表达的参考m,当m在同一声明let使用它体现在哪里?这里发生了什么?什么是m?
这是一个带有名称的(本地)函数声明r.m是函数的参数.它相当于:
let r = \m -> runReaderT (runConfigM m) c
Run Code Online (Sandbox Code Playgroud)