代码之家  ›  专栏  ›  技术社区  ›  Damian Nadales

数据构造函数的固定性声明

  •  2
  • Damian Nadales  · 技术社区  · 7 年前

    是否可以在Haskell中声明数据构造函数的固定性。例如,给定:

    data A = (>>>) A A
    

    我想申报

    infixl 4 >>>
    

    正在查看 the data type extensions 文档似乎只能声明类型构造函数的固定性。但即使这样似乎也不起作用,至少在我尝试的方式中:

    infixl 7 A
    data A = (>>>) A A
    

    这能做到吗?

    1 回复  |  直到 7 年前
        1
  •  3
  •   leftaroundabout    7 年前

    你可以这样做,只是,中缀构造函数必须始终以冒号开头。

    infixl 7 :>>>
    data A = A :>>> A