cauldron-0.8.0.0: lib/Cauldron/Args.hs
{-# LANGUAGE ApplicativeDo #-}
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE NoFieldSelectors #-}
module Cauldron.Args
( -- * Arguments
Args,
arg,
runArgs,
getArgsReps,
contramapArgs,
-- ** Reducing 'arg' boilerplate with 'wire'
Wireable (wire),
-- ** When a bean is missing
LazilyReadBeanMissing (..),
-- * Registrations
-- $registrations
Regs,
foretellReg,
runRegs,
getRegsReps,
-- ** Reducing 'foretellReg' boilerplate with 'register'
Registrable (register),
-- * Re-exports
Beans,
taste,
fromDynList,
SomeMonoidTypeRep,
)
where
import Cauldron.Args.Internal
import Cauldron.Beans (Beans, SomeMonoidTypeRep (..), fromDynList, taste)