Elm简写为Union Type提供类型变量

时间:2018-05-16 06:42:27

标签: elm

我有像这样的榆树类型

type ValueAndContext valueType contextType
    = ValueAndContext valueType contextType

我想创建一个具有特定类型参数的新类型,以保存键盘点击和屏幕像素,也许就像这样

type IntWithStringContext = ValueAndContext Int String

我可以创建一个这样的类型别名,但它需要引入一个额外的变量来保存类型,所以不能保存那么多的点击或像素。

type alias IntWithStringContext =
  { update: ValueAndContext Int String }

我不认为榆树还有其他任何可能,但欢迎任何想法。

1 个答案:

答案 0 :(得分:5)

当然,你的第一个例子非常接近。你可以使用这样的别名:

6

或许更常见的是看到记录类型的类型别名,但您也可以为联合类型添加别名。

修改

这将为类型名称添加别名,但您仍然必须使用原始构造函数:

type alias IntWithStringContext = ValueAndContext Int String