1
私はHaskellで経験のないモナドについて何かを読んでいて、タイプコンストラクタのコンセプトと混同しています。Haskellの型コンストラクタとjavaジェネリック型の違いは何ですか?
モナドは三重で(
M
、unitM
、bindM
)型コンストラクタM
及び多型関数のペアからなります。 JavaではunitM :: a -> M a bindM :: M a -> (a -> M b) -> M b
は:
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