可能重复:
Haskell 数据类型的内存占用
在解决组合问题时,我经常将解决方案表示为位串,例如。1010100010110111000110...你明白了。
我想当我[Int]
用于位字符串时,Int
总是花费相同数量的内存,无论实际数字有多大(因为Int
它是有界的,与 相比Integer
),因为计算机只记住位表示,并且String
's 会据我所知,占用更多空间。
我的想法是使用数据类型
data Bits = Empty | Zero Bits | One Bits deriving (Eq,Ord,Show)
但是与's相比,构造函数和使用Empty
多少Zero
内存?One
Int