1
我是新來的Haskell,今天我看了雖然OpenGL的源代碼,我發現這個爆炸符號在數據類型中做了什麼?
data VertexArrayDescriptor a =
VertexArrayDescriptor !NumComponents !DataType !Stride !(Ptr a)
deriving (Eq, Ord, Show)
我試圖尋找它,發現http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/bang-patterns.html但它可能是不同的東西。
它是做什麼的?它是爲了什麼?
FWIW,砰圖案迫使第一構造的評估([WHNF](HTTP://www.haskell .ORG/haskellwiki/Weak_head_normal_form))。爲了充分強制對結構檢查進行評估['deepseq'](http://hackage.haskell.org/package/deepseq) –