是否已经内置了类似这样的功能性 C#/.NET 结构? g(h()),或
public static Func To(this Func g, Func h) { return () => h(g()); } public static Func ToIdentity(this T t) { return () => t; } 我有时在延迟…
Haskell 有 FoldlM' 吗?
如何严格折叠 monad? Data.Foldable 有严格的 foldl' 和单子 foldlM,但没有严格的 foldlM'?严格性是由单子本身以某种方式定义的吗?如果是这样,如…
使用 do 语法创建列表?
我对 Haskell 比较陌生。我正在 happstack-lite 之上创建一个小型 api/dsl ,它将有一个更类似于 Sinatra 的界面,主要是为了学习。作为其中的一部分…
术语“monadic”是指“monadic”吗? in J 与其 Haskell 的使用有什么关系?
(抱歉,我很愚蠢,没有受过教育,所以这可能是一个荒谬的问题。) 我刚刚开始研究 J,他们使用术语“一元”和“二元”来表示(对我来说)似乎是一元…
有人用 F# 构建过 Lazy Monad 吗?
我一直在阅读 Chris Okasaki 的纯函数式数据结构,并且想知道是否有一种好方法可以在 monad 内部使用 F# 构建惰性算法,从而实现惰性计算(Lazy monad…
Writer Monad 是否保证正确的关联连接?
Haskell 中的验证声称使用 Writer 可以保证正确 -关联串联。然而,这个例子似乎表明情况并非如此。正确答案是什么? {-# LANGUAGE OverloadedStrings …
这个带有 lambda 符号的方程是什么?米>> n = m >>= \_ -> n”在 monad 的声明中?
class Monad m where return :: a -> m a (>>=) :: m a -> (a -> m b) -> m b (>>) :: m a -> m b -> m b m >> n = m >>= \_ -> n fail :: String -> …
monad 除了提高可读性和生产力之外还有其他作用吗?
在过去的几个月里,我一直在研究 monad(函子和应用函子)。我一直试图弄清楚单子在一般意义上何时有用。如果我正在查看一段代码,我会问,我应该使用…
JavaScript 中的 Monad?
使用 Monad 的 JavaScript 代码示例会是什么样子?我这样问是因为如果我能看到代码示例,理解 Monad 就会更清楚(JavaScript 是一种简单的函数式语言…
类似于 (>>=) 的函数,但返回不同的 monad
(>>=) 的类型是 (>>=) :: Monad m => m a -> (a -> m b) -> m b 我想要一个具有以下类型的函数: (Monad m, Monad n) => m a -> (a -> n b) -> n b 此…
存在类型和单子转换器
上下文:我试图生成一个错误单子,它还跟踪警告列表,如下所示: data Dangerous a = forall e w. (Error e, Show e, Show w) => Dangerous (ErrorT e…
Haskell monad 和不需要字符串的失败
我有以下 monad 转换器来处理 Haskell 中的错误。 instance (Monad m, Error e) => Monad (EitherT e m) where return = EitherT . return . return m…
在一元上下文中使用 Data.Map
我正在操作的地图具有单键(IO Double 类型)。我需要在这张地图上使用 findMax 。我可以使用 liftM 来实现此目的吗? Map.findMax $ Map.fromList [(…