packages feed

lens-family-core-1.0.0: src/Lens/Family/Setting.hs

module Lens.Family.Setting where

import Control.Applicative (Applicative, pure, (<*>))

newtype Setting a = Setting { unSetting :: a }

instance Functor Setting where
  fmap f (Setting a) = Setting (f a)

instance Applicative Setting where
  pure = Setting
  Setting f <*> Setting a = Setting (f a)