packages feed

llvm-tf-3.0.3.1: src/LLVM/Util/Proxy.hs

module LLVM.Util.Proxy where

import Control.Applicative (Applicative, pure, (<*>), )

data Proxy a = Proxy

instance Functor Proxy where
   fmap _f Proxy = Proxy

instance Applicative Proxy where
   pure _ = Proxy
   Proxy <*> Proxy = Proxy


fromValue :: a -> Proxy a
fromValue _ = Proxy