columbia-0.1.0.0: src/Data/Columbia/FRecord.hs
{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, OverlappingInstances, Trustworthy #-}
module Data.Columbia.FRecord where
import Data.Generics.SYB.WithClass.Context
class HasField scheme f where
hasField :: scheme t -> f t
instance HasField(PairCtx f f2) f where
hasField(PairCtx fn _) = fn
instance (HasField scheme f2) => HasField(PairCtx f scheme) f2 where
hasField(PairCtx _ fn2) = hasField fn2