Haskell中的一些常见是使快速数据结构“脊椎严格”,以便结构(但不一定是其内容)在创建时得到充分评估。当我们插入一个值并且结构在缓存中时,这让我们可以做更多的工作,而不是把它推迟到我们查找一个值。对于普通数据类型,比如中的二进制trie,这可以通过严格控制数据结构中的相关字段来实现:
data IntMap a = Bin {- ... -} !(IntMap a) !如果我想将子代存储在向量中,而不是直接存储为
目标是让单元类型的结构填充结构行中的数组,而结构行填充结构fullData中的数组,这样它基本上就变成了像这样的二维数组: |------|-----|-----|i guess fullData is just the square around the outside that accomplishes nothing 在我的代码中