相关疑难解决方法(0)

功能性,声明性和命令式编程

功能,声明和命令式编程这两个术语是什么意思?

paradigms terminology

464
推荐指数
9
解决办法
18万
查看次数

这个类似monad的函数式编程模式的名称是什么?

我偶尔在代码中遇到一个类似于monad的模式,但不会保持一致的类型>>=.

这是我能提出的最简单的例子:

(首先是一些类型级的布尔值:

data TyT = TyT
data TyF = TyF

class TyOr a b c | a b -> c

instance TyOr TyF TyF TyF
-- rest similarly
Run Code Online (Sandbox Code Playgroud)

)

现在这里是我们的"monad"类型构造函数:

data Marked p a = Marked a
    deriving (Show)
Run Code Online (Sandbox Code Playgroud)

对于给定的p,Marked p是一个* -> *非常像mmonad中的行为,但是当我们定义"bind"时,就像接下来发生的那样:

(>>%) :: (TyOr p q r) => Marked p a -> (a -> Marked q b) -> Marked r b
(Marked x) >>% f = Marked …
Run Code Online (Sandbox Code Playgroud)

monads haskell design-patterns functional-programming

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