是否有一个常见的Haskell习惯用于记忆类型为
的递归函数Ord a => a -> SomeType
特别是,我有一个类型为
的递归函数(Int, Int, [Int]) -> Int
我想记住。
答案 0 :(得分:3)
您的数据类型
(Int, Int, [Int])
可以映射到Integer
。前两个Int
只是一堆位,Int
的列表只是一个位列表,一次串联。由于可以为Integer
创建记忆树,因此可以为此数据类型创建记忆树。 memo-trie package同意,提供以下3个相关实例:
instance HasTrie Int
instance HasTrie x => HasTrie [x]
instance (HasTrie a, HasTrie b, HasTrie c) => HasTrie (a, b, c)