Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Public interface for Betsy
, the Cartel flag maker. Simply
re-exports safe bindings from Cartel.Betsy.Internal.
- data FlagName
- flagNameHead :: FlagName -> Char
- flagNameTail :: FlagName -> String
- data FlagOpts = FlagOpts {}
- data Betsy m a
- data Error
- runBetsy :: Functor m => Betsy m a -> m (Either Error (a, [(FlagName, FlagOpts)]))
- makeFlag :: Applicative m => NonEmptyString -> FlagOpts -> Betsy m FlagName
- currentFlags :: Applicative f => Betsy f [(FlagName, FlagOpts)]
Documentation
flagNameHead :: FlagName -> Char Source
flagNameTail :: FlagName -> String Source
Options for flags, except for the flag's name.
FlagOpts | |
|
Computations that can create and use Cabal flags. Use of this
type, along with the defaultMain
function ensures that any
FlagName
you use has been properly set up by using makeFlag
.
That way, you don't use flags in a flag
without actually
declaring the flag. When defaultMain
creates your Cabal
file, it will print the necessary Flag
sections.
Betsy
is parameterized on a type, m
. When this type is a
monad, Betsy
is also a monad, allowing you to use use the usual
monad combinators and do
notation. Betsy
is also a monad transformer.
Errors that may result from running a Betsy
computation.
DuplicateFlag FlagName | The user requested creation of a duplicate flag. |
Failed String |
|
EmptyFlagName | The user requested creation of a flag with an empty name. |
:: Applicative m | |
=> NonEmptyString | Name of flag |
-> FlagOpts | Options for the flag |
-> Betsy m FlagName | This operation will fail if there is already a flag with the name you gave. |
Creates new flags.
currentFlags :: Applicative f => Betsy f [(FlagName, FlagOpts)] Source
Returns a list of all flags made so far.