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