{-# LANGUAGE DerivingVia #-} {-# LANGUAGE StandaloneDeriving #-} {-# OPTIONS_GHC -Wno-orphans #-} module Data.Function.FastMemo.Vector () where import Data.Function.FastMemo.Class (Memoizable (..)) import Data.Function.FastMemo.List (AsList (..)) import qualified Data.Vector as V import qualified Data.Vector.Storable as SV import qualified Data.Vector.Unboxed as UV deriving via AsList (V.Vector a) instance Memoizable a => Memoizable (V.Vector a) deriving via AsList (SV.Vector a) instance (SV.Storable a, Memoizable a) => Memoizable (SV.Vector a) deriving via AsList (UV.Vector a) instance (UV.Unbox a, Memoizable a) => Memoizable (UV.Vector a)