monad-memo-0.4.0: Control/Monad/Memo/Vector/Instances.hs
{- |
Module : Control.Monad.Trans.Memo.Vector.Instances
Copyright : (c) Eduard Sergeev 2013
License : BSD-style (see the file LICENSE)
Maintainer : eduard.sergeev@gmail.com
Stability : experimental
Portability : non-portable (multi-param classes, functional dependencies)
Default instances for `VectorMemo` and `UVectorMemo`
-}
{-# LANGUAGE NoImplicitPrelude, MultiParamTypeClasses,
UndecidableInstances, FlexibleInstances, TypeFamilies #-}
module Control.Monad.Memo.Vector.Instances
(
) where
import Data.Maybe
import Data.MaybeLike
import qualified Control.Monad.Memo.Vector as V
import qualified Control.Monad.Memo.Vector.Expandable as E
import qualified Control.Monad.Memo.Vector.Unsafe as U
instance MaybeLike (Maybe v) v => V.VectorMemo v (Maybe v)
instance MaybeLike v v => V.UVectorMemo v v
instance MaybeLike (Maybe v) v => E.VectorMemo v (Maybe v)
instance MaybeLike v v => E.UVectorMemo v v
instance MaybeLike (Maybe v) v => U.VectorMemo v (Maybe v)
instance MaybeLike v v => U.UVectorMemo v v