【问题标题】:Haskell Map where type of key determines type of valueHaskell Map 其中键的类型决定了值的类型
【发布时间】:2017-05-09 14:00:49
【问题描述】:

有没有办法以值的类型取决于键的类型的方式使用 Data.Map?我需要确保我永远不会在地图中插入错误的类型值。

例如: 假设我有 KeyType aValType a 类型 那么 Map 的类型应该类似于

Map (KeyType a) (ValType a)

但这显然行不通,因为a 未绑定。

【问题讨论】:

标签: haskell


【解决方案1】:

您可以使用类型同义词绑定a,这样您的KeyTypeValType 必须相同:

type MapFor a = Map (KeyType a) (ValType a)

现在您可以在任何您会使用Map (KeyType a) (ValType a) 的地方使用MapFor a(对于某些特定的a)。

【讨论】:

  • 这对我不起作用,因为对于一张地图,a 是固定的。我希望 a 对于不同的键是不同的。我认为dependent-map 对我有用。
猜你喜欢
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-03
相关资源
最近更新 更多