1
我正在阅读关于monad的一些有关Haskell的经验,并且混淆了类型构造函数的概念。Haskell中的类型构造函数和java泛型类型有什么区别?
甲单子是一个三元组(
M
,unitM
,bindM
)由类型构造M
和一对多态函数的。unitM :: a -> M a bindM :: M a -> (a -> M b) -> M b
在Java:
public class M<T> {
static <T> M<T> unit(T a)
static <T,R> M<R> bind(M<T> a, Function<T,M<R>> f)
}
我认为它们是相同的,类型构造仅仅是像泛型类型在Java中,对吗?如果不是,有什么区别?
在Java中,类型将是类的名称 –
嗯,它更类似于'interface',或者至少是一个* abstract *类。 – Bakuriu