The example from optparse-applicative package uses void angle brackets (<>
):
sample :: Parser Sample
sample = Sample
<$> strOption
( long "hello"
<> metavar "TARGET"
<> help "Target for the greeting" )
<*> switch
( long "quiet"
<> help "Whether to be quiet" )
I know what <*>
and <$>
relate to applicative functors, but what does triangle brackets <>
mean and were are they defined? (Hoogle doesn't help).