{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -O0 #-} ----------------------------------------------------------------------------- -- | -- Module : Data.List.Singletons.Internal -- Copyright : (C) 2013-2014 Richard Eisenberg, Jan Stolarek -- License : BSD-style (see LICENSE) -- Maintainer : Ryan Scott -- Stability : experimental -- Portability : non-portable -- -- Defines functions and datatypes relating to the singleton for '[]', -- including singled versions of a few of the definitions in @Data.List@. -- -- All of the functions defined in this module are specialized for lists, -- unlike "Data.List.Singletons", which uses 'Foldable' and -- 'Traversable' contexts when available. -- ---------------------------------------------------------------------------- module Data.List.Singletons.Internal where import Control.Monad.Singletons.Internal import Data.Bool.Singletons import Data.Eq.Singletons import Data.Maybe import Data.Maybe.Singletons import Data.Ord.Singletons import Data.Semigroup.Singletons.Internal.Classes (SSemigroup(..), type (<>@#@$)) import Data.Semigroup.Singletons.Internal.Wrappers () import Data.Singletons.Base.Instances import Data.Singletons.TH import Data.Tuple.Singletons import GHC.Base.Singletons import GHC.Num.Singletons import GHC.TypeLits.Singletons $