我正在寻找一些词汇。有许多具有通用名称的形状。例如L a = Empty | Cons a L
通常称为“列表”,而T a = Leaf a | Node (T a) (T a)
是“二叉树”,St s a :: St (s->(a,s))
是State Monad的形式。类型模式的名称:R a b = Q(a - >(R a b,b))
我想知道,如果这样的形状有一个名字:
data R a b = Q (a -> (R a b,b))
我已经看到了箭框架和状态机实现这种模式。递归函数使它感觉有点像State Monad或Cont Monad。它也是除了(->)
和(>=>)
之外的唯一结构,我已经看到了Arrow定义的一个实例。
这个数据结构有一个共同的名字吗?
你有盆景树:)。更好的二叉树是'T a = Branch(T a)(T a)|叶a' – amindfv 2012-02-28 20:46:38
@amindfy:你是对的。我修复了它。谢谢。 – 2012-02-28 23:44:04
@ JohnF.Miller你不想在'T a'的某个地方存储一些'a'吗? :D(对不起......我不得不...)(或者这可能是一个幻影类型!?:p) – Ptival 2012-02-28 23:54:01