packed-data-0.2.0.0: examples/Pack.hs
-- | Showcase how to 'mutate' packed data
module Pack () where
import Data.Packed
import qualified Data.Packed.Needs as N
import Tree
$(mkPacked ''Tree [])
myTree :: Tree Int
myTree = Node (Leaf 1) (Leaf 2)
buildTree :: Packed '[Tree Int]
buildTree =
runBuilder $ \needs -> N.do
node <- startNode needs
leaf1 <- startLeaf node N.>>= write (1 :: Int)
startLeaf leaf1 N.>>= write 2