TrieMap-0.6.0: Data/TrieMap/Representation.hs
{-# LANGUAGE TemplateHaskell, QuasiQuotes #-}
module Data.TrieMap.Representation (Repr(..), ReprT(..), Rep, RepT) where
import Data.TrieMap.Rep
import Data.TrieMap.Rep.Instances
import Data.TrieMap.Rep.TH
import Data.TrieMap.Regular.Rep
import Data.TrieMap.Regular.Base
import qualified Data.IntMap as IMap
$(genRepT [d|
instance ReprT IMap.IntMap where
toRepTMap f m = List [(toRep k, f a) | (k, a) <- IMap.assocs m]
fromRepTMap f (List xs) = IMap.fromDistinctAscList [(fromRep k, f a) | (k, a) <- xs] |])