vinyl-utils-0.2.0.2: Utilities for vinyl

Copyright(c) Marcin Mrotek, 2014
LicenseBSD3
Maintainermarcin.jan.mrotek@gmail.com
Safe HaskellNone
LanguageHaskell2010

Data.Vinyl.Utils.Proxy

Description

Create a dummy record parametrized by Proxy, for the purpose of guiding code generation through pattern matching.

Synopsis

Documentation

class Record rs where Source

Create a dummy record parametrized by Proxy. The class is named Record to signify that every possible type list is its instance.

Instances

Record k ([] k) Source 
Record k rs => Record k ((:) k r rs) Source 

recPure :: forall f rs. Record rs => (forall a. f a) -> Rec f rs Source

recPure' :: forall f rs. Rec Proxy rs -> (forall a. f a) -> Rec f rs Source

data Proxy t :: k -> *

A concrete, poly-kinded proxy type

Constructors

Proxy 

Instances

Monad (Proxy *) 
Functor (Proxy *) 
Applicative (Proxy *) 
Contravariant (Proxy *) 
Bounded (Proxy k s) 
Enum (Proxy k s) 
Eq (Proxy k s) 
Ord (Proxy k s) 
Read (Proxy k s) 
Show (Proxy k s) 
Ix (Proxy k s) 
Generic (Proxy * t) 
Monoid (Proxy k s) 
Semigroup (Proxy k s) 
type Rep (Proxy k t) = D1 D1Proxy (C1 C1_0Proxy U1)