{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE StandaloneKindSignatures #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Data.Singletons.Prelude.Functor (
PFunctor(..), SFunctor(..),
type ($>), (%$>),
type (<$>), (%<$>),
type (<&>), (%<&>),
Void, sVoid,
FmapSym0, FmapSym1, FmapSym2,
type (<$@#@$), type (<$@#@$$), type (<$@#@$$$),
type ($>@#@$), type ($>@#@$$), type ($>@#@$$$),
type (<$>@#@$), type (<$>@#@$$), type (<$>@#@$$$),
type (<&>@#@$), type (<&>@#@$$), type (<&>@#@$$$),
VoidSym0, VoidSym1
) where
import Data.Ord (Down(..))
import Data.Singletons.Prelude.Base
import Data.Singletons.Prelude.Instances
import Data.Singletons.Prelude.Monad.Internal
import Data.Singletons.Prelude.Ord
import Data.Singletons.Single
$(