packages feed

happstack-data-0.1: src/HAppS/Data/Proxy.hs

{-# LANGUAGE CPP, FlexibleContexts, FlexibleInstances, MultiParamTypeClasses, TemplateHaskell, DeriveDataTypeable, UndecidableInstances #-}
module HAppS.Data.Proxy where

import HAppS.Data.DeriveAll
import HAppS.Data.Default

$(deriveAll [''Read,''Show,''Default]
  [d| data Proxy t = Proxy |]
 )

proxy :: t -> Proxy t
proxy _ = Proxy

unProxy :: Proxy t -> t
unProxy _ = undefined

asProxyType :: t -> Proxy t -> t
asProxyType t _ = t