{-# LANGUAGE TypeFamilies #-}

----------------------------------------------------------------------
-- |
-- Module      :  Data.StarToStar.Iso
-- Copyright   :  (c) Nicolas Frisby 2010
-- License     :  http://creativecommons.org/licenses/by-sa/3.0/
-- 
-- Maintainer  :  nicolas.frisby@gmail.com
-- Stability   :  experimental
-- Portability :  see LANGUAGE pragmas
-- 
-- The * -> * isomorphism class.
----------------------------------------------------------------------

module Data.StarToStar.Iso
  (module Data.StarToStar.Iso,
   module Data.StarToStar.Iso.TH
  ) where

import Data.StarToStar.Iso.TH

class Iso f where
  type Other f :: * -> *
  from :: f a -> Other f a
  to :: Other f a -> f a