  | 
 Module       :   Control .  . Trans . Memo . Array . Instances 
 Copyright    :   ( c )   2013 
 License      :   BSD - style ( see the file LICENSE ) 

 Maintainer   :    
 Stability    :   experimental 
 Portability :   non - portable ( multi - param classes , functional dependencies ) 

 Default instances of ` ArrayMemo ` and ` UArrayMemo ` 


Module      :  Control.Monad.Trans.Memo.Array.Instances
Copyright   :  (c) Eduard Sergeev 2013
License     :  BSD-style (see the file LICENSE)

Maintainer  :  
Stability   :  experimental
Portability :  non-portable (multi-param classes, functional dependencies)

Default instances of `ArrayMemo` and `UArrayMemo`

-}

# LANGUAGE NoImplicitPrelude , MultiParamTypeClasses , 
   UndecidableInstances , FlexibleInstances , FlexibleContexts #
  UndecidableInstances, FlexibleInstances, FlexibleContexts #-}

module Control.Monad.Memo.Array.Instances
(

   module Control.Monad.Memo.Array

) where

import Data.Maybe
import Data.MaybeLike
import Control.Monad.Memo.Array


instance MaybeLike (Maybe v) v => ArrayMemo v (Maybe v)

instance MaybeLike v v => UArrayMemo v v

  | 
 Module       :   Control .  . Trans . Memo . Array . Instances 
 Copyright    :   ( c )   2013 
 License      :   BSD - style ( see the file LICENSE ) 

 Maintainer   :    
 Stability    :   experimental 
 Portability :   non - portable ( multi - param classes , functional dependencies ) 

 Default instances of ` ArrayMemo ` and ` UArrayMemo ` 


Module      :  Control.Monad.Trans.Memo.Array.Instances
Copyright   :  (c) Eduard Sergeev 2013
License     :  BSD-style (see the file LICENSE)

Maintainer  :  
Stability   :  experimental
Portability :  non-portable (multi-param classes, functional dependencies)

Default instances of `ArrayMemo` and `UArrayMemo`

-}

# LANGUAGE NoImplicitPrelude , MultiParamTypeClasses , 
   UndecidableInstances , FlexibleInstances , FlexibleContexts #
  UndecidableInstances, FlexibleInstances, FlexibleContexts #-}

module Control.Monad.Memo.Array.Instances
(

   module Control.Monad.Memo.Array

) where

import Data.Maybe
import Data.MaybeLike
import Control.Monad.Memo.Array


instance MaybeLike (Maybe v) v => ArrayMemo v (Maybe v)

instance MaybeLike v v => UArrayMemo v v
