如何指定抽象类型必须在scalaz中实现某些类型类?

纪尧姆·谢勒(Guillaume Cherel)

我想编写一个仅将两个monad绑定在一起的函数,而无需事先确定monad的确切类型(列表,State monad等)。在我看来,这种通用性是类型类如此强大的原因,我应该能够使用Scalaz做到这一点。这是我的想法:

def f[F[_], A](m1: F[A], m2: F[A]): F[(A,A)] = 
  m1 >>= { a: A => m2.map{ b: A => (a,b) }}

如何指定F[_]必须实现Monad类型类,以便可以>>=在函数中使用写作F[_] <: Monad似乎不是正确的方法,因为State,List等类型是monads并不能扩展Monad特质。

特克斯

听起来上下文限制正是您要寻找的。f[F[_] : Monad...请参阅什么是Scala上下文和视图范围?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何指定抽象类方法的返回类型

来自分类Dev

如何指定抽象类方法的返回类型

来自分类Dev

返回抽象类中的具体类型

来自分类Dev

python中的抽象类:强制类型

来自分类Dev

为什么必须在抽象类上实现具体的析构函数?

来自分类Dev

指定抽象类型成员

来自分类Dev

抽象类实现通用接口类型

来自分类Dev

Scala Akka:使用子类型参数实现抽象类

来自分类Dev

泛型类型可以实现多个抽象类吗?

来自分类Dev

使用派生类型实现抽象类

来自分类Dev

调用抽象类类型C#的子实现

来自分类Dev

如果泛型类型约束还必须在c#中实现接口,则类类型约束将实现什么?

来自分类Dev

Scala 中的抽象类型、变量和类型类

来自分类Dev

如何为抽象类编写一种返回实现类型的方法?

来自分类Dev

如何为抽象类编写一种返回实现类型的方法?

来自分类Dev

在C#中为抽象类的子类型实现重载方法

来自分类Dev

如何在Java的实现类中的抽象类内实现抽象类?

来自分类Dev

如何在Java的实现类中的抽象类内实现抽象类?

来自分类Dev

我如何在抽象类中声明任何类型的数组(从给定类型派生)?

来自分类Dev

SubList()类必须被称为抽象,或者必须在“列表”中实现抽象方法“ listIterator”

来自分类Dev

根据类型类设置抽象类型

来自分类Dev

在抽象类A中可以创建类型为抽象类A的静态字段

来自分类Dev

如何返回抽象类型?

来自分类Dev

R中的抽象类型

来自分类Dev

如何将抽象类转换为T类型?

来自分类Dev

抽象类类型签名中的可选参数

来自分类Dev

抽象类中的类型安全问题

来自分类Dev

Typescript中的抽象类及其静态方法类型

来自分类Dev

在类构造中引用 trait 之外的抽象类型

Related 相关文章

  1. 1

    如何指定抽象类方法的返回类型

  2. 2

    如何指定抽象类方法的返回类型

  3. 3

    返回抽象类中的具体类型

  4. 4

    python中的抽象类:强制类型

  5. 5

    为什么必须在抽象类上实现具体的析构函数?

  6. 6

    指定抽象类型成员

  7. 7

    抽象类实现通用接口类型

  8. 8

    Scala Akka:使用子类型参数实现抽象类

  9. 9

    泛型类型可以实现多个抽象类吗?

  10. 10

    使用派生类型实现抽象类

  11. 11

    调用抽象类类型C#的子实现

  12. 12

    如果泛型类型约束还必须在c#中实现接口,则类类型约束将实现什么?

  13. 13

    Scala 中的抽象类型、变量和类型类

  14. 14

    如何为抽象类编写一种返回实现类型的方法?

  15. 15

    如何为抽象类编写一种返回实现类型的方法?

  16. 16

    在C#中为抽象类的子类型实现重载方法

  17. 17

    如何在Java的实现类中的抽象类内实现抽象类?

  18. 18

    如何在Java的实现类中的抽象类内实现抽象类?

  19. 19

    我如何在抽象类中声明任何类型的数组(从给定类型派生)?

  20. 20

    SubList()类必须被称为抽象,或者必须在“列表”中实现抽象方法“ listIterator”

  21. 21

    根据类型类设置抽象类型

  22. 22

    在抽象类A中可以创建类型为抽象类A的静态字段

  23. 23

    如何返回抽象类型?

  24. 24

    R中的抽象类型

  25. 25

    如何将抽象类转换为T类型?

  26. 26

    抽象类类型签名中的可选参数

  27. 27

    抽象类中的类型安全问题

  28. 28

    Typescript中的抽象类及其静态方法类型

  29. 29

    在类构造中引用 trait 之外的抽象类型

热门标签

归档