Skip to content

Instantly share code, notes, and snippets.

@danidiaz
Created March 31, 2013 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danidiaz/5280738 to your computer and use it in GitHub Desktop.
Save danidiaz/5280738 to your computer and use it in GitHub Desktop.
Playing with Kind signatures.
{-# LANGUAGE KindSignatures #-}
import Control.Monad
import Control.Monad.Trans
import Control.Monad.Trans.Maybe
import Control.Applicative
import Data.Functor.Compose
--newtype Constant a (b:: * -> *) = Constant { getConstant :: a }
newtype Constant a (b:: * -> *) = Constant { getConstant :: a }
newtype Foo m = Foo (m ())
type Glance m o a = o m -> MaybeT m (a m)
type ObserverF m l o = Compose ((->) (o m)) (MaybeT m)
nee :: Glance IO Foo (Constant Int)
nee = undefined
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment