如果我有键到值的映射,那么键集可以实现为键到固定虚拟值的映射。
有许多假人候选人:
data
- 没有构造函数的定义类型- 其他无人居住的类型(例如
forall a . a
) - 单例类型
- 未装箱的类型
对我来说最明显的解决方案是使用库存单例类型()
,但case
我可以从底部区分()
,所以我认为内存表示()
包括间接。
我有两个问题:
- 是否
Map.fromList [(1, ()), (2, ())]
占用更多内存let dummy = () in Map.fromList [(1, dummy), (2, dummy)]
? - 考虑到内存占用、cpu 使用率和正确性,建议从bytestring-trie
dummy
构造集合的值是多少?