{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module Aztecs.ECS.World.Storage (Storage (..)) where
import Control.DeepSeq
import Data.Data
class (Typeable s, NFData s, Typeable a) => Storage a s where
singleton :: a -> s
toAscList :: s -> [a]
fromAscList :: [a] -> s
instance (Typeable a, NFData a) => Storage a [a] where
singleton :: a -> [a]
singleton a
a = [a
a]
toAscList :: [a] -> [a]
toAscList = [a] -> [a]
forall a. a -> a
id
fromAscList :: [a] -> [a]
fromAscList = [a] -> [a]
forall a. a -> a
id