squares-0.1: src/Data/Functor/Rep/Square.hs
{-# LANGUAGE DataKinds #-}
-----------------------------------------------------------------------------
-- |
-- Module : Data.Functor.Rep.Square
-- License : BSD-style (see the file LICENSE)
-- Maintainer : sjoerd@w3future.com
--
-----------------------------------------------------------------------------
module Data.Functor.Rep.Square where
import Data.Square
import qualified Data.Functor.Rep as R
-- |
-- > +-k→_-+
-- > | v |
-- > | @ |
-- > | v |
-- > +--f--+
tabulate :: R.Representable f => Square '[] '[] '[(->) (R.Rep f)] '[f]
tabulate = funNat R.tabulate
-- |
-- > +--f--+
-- > | v |
-- > | @ |
-- > | v |
-- > +-k→_-+
index :: R.Representable f => Square '[] '[] '[f] '[(->) (R.Rep f)]
index = funNat R.index