poly-rec-0.6.0.0: src/Data/GenRec/Label.hs
{-|
Module : Language.Grammars.AspectAG.Label
Description : Labels (polykinded, phantom)
Copyright : (c) Juan García Garland, Marcos Viera 2020
License : GPL-3
Maintainer : jpgarcia@fing.edu.uy
Stability : experimental
Portability : POSIX
-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE DataKinds #-}
module Data.GenRec.Label where
import Data.Proxy
data Label l = Label
sndLabel :: Label '(a,b) -> Label b
sndLabel _ = undefined
fstLabel :: Label '(a,b) -> Label a
fstLabel _ = undefined
labelFromType :: a -> Label a
labelFromType _ = Label
proxyToLabel :: Proxy a -> Label a
proxyToLabel _ = Label