packages feed

casa-reoc-0.1.0.0: src/ReOC/Name/DeclarationDeclaredByResponsibleManager.hs

{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -Wall #-}

-- | The name @declarationDeclaredByResponsibleManager@, which targets @()@. It names a field or constructor of @Field@.
module ReOC.Name.DeclarationDeclaredByResponsibleManager (
  DeclarationDeclaredByResponsibleManagerLike (..),
) where

import Control.Lens (Optic)

class DeclarationDeclaredByResponsibleManagerLike p f x x' where
  declarationDeclaredByResponsibleManager ::
    Optic p f x x' () ()

-- | Identity
instance (x' ~ ()) => DeclarationDeclaredByResponsibleManagerLike p f () x' where
  declarationDeclaredByResponsibleManager = id