| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Distribution.Fields.Field
Contents
Description
Synopsis
- data Field ann
- fieldName :: Field ann -> Name ann
- fieldAnn :: Field ann -> ann
- fieldUniverse :: Field ann -> [Field ann]
- data FieldLine ann = FieldLine !ann !ByteString
- fieldLineAnn :: FieldLine ann -> ann
- fieldLineBS :: FieldLine ann -> ByteString
- data SectionArg ann
- = SecArgName !ann !ByteString
- | SecArgStr !ann !ByteString
- | SecArgOther !ann !ByteString
- sectionArgAnn :: SectionArg ann -> ann
- type FieldName = ByteString
- data Name ann = Name !ann !FieldName
- mkName :: ann -> FieldName -> Name ann
- getName :: Name ann -> FieldName
- nameAnn :: Name ann -> ann
- sectionArgsToString :: [SectionArg ann] -> String
- fieldLinesToString :: [FieldLine ann] -> String
Cabal file
A Cabal-like file consists of a series of fields (foo: bar) and sections (library ...).
Instances
Instances details
Instance details
Defined in Distribution.Fields.Field
Methods
fold :: Monoid m => Field m -> m #
foldMap :: Monoid m => (a -> m) -> Field a -> m #
foldMap' :: Monoid m => (a -> m) -> Field a -> m #
foldr :: (a -> b -> b) -> b -> Field a -> b #
foldr' :: (a -> b -> b) -> b -> Field a -> b #
foldl :: (b -> a -> b) -> b -> Field a -> b #
foldl' :: (b -> a -> b) -> b -> Field a -> b #
foldr1 :: (a -> a -> a) -> Field a -> a #
foldl1 :: (a -> a -> a) -> Field a -> a #
elem :: Eq a => a -> Field a -> Bool #
maximum :: Ord a => Field a -> a #
minimum :: Ord a => Field a -> a #
Instance details
Defined in Distribution.Fields.Field
Methods
fold1 :: Semigroup m => Field m -> m #
foldMap1 :: Semigroup m => (a -> m) -> Field a -> m #
foldMap1' :: Semigroup m => (a -> m) -> Field a -> m #
toNonEmpty :: Field a -> NonEmpty a #
maximum :: Ord a => Field a -> a #
minimum :: Ord a => Field a -> a #
foldrMap1 :: (a -> b) -> (a -> b -> b) -> Field a -> b #
foldlMap1' :: (a -> b) -> (b -> a -> b) -> Field a -> b #
foldlMap1 :: (a -> b) -> (b -> a -> b) -> Field a -> b #
foldrMap1' :: (a -> b) -> (a -> b -> b) -> Field a -> b #
Instance details
Defined in Distribution.Fields.Field
fieldUniverse :: Field ann -> [Field ann] Source #
All transitive descendants of Field , including itself.
Note: the resulting list is never empty.
A line of text representing the value of a field from a Cabal file. A field may contain multiple lines.
Invariant: ByteString has no newlines.
Constructors
Instances
Instances details
Instance details
Defined in Distribution.Fields.Field
Methods
fold :: Monoid m => FieldLine m -> m #
foldMap :: Monoid m => (a -> m) -> FieldLine a -> m #
foldMap' :: Monoid m => (a -> m) -> FieldLine a -> m #
foldr :: (a -> b -> b) -> b -> FieldLine a -> b #
foldr' :: (a -> b -> b) -> b -> FieldLine a -> b #
foldl :: (b -> a -> b) -> b -> FieldLine a -> b #
foldl' :: (b -> a -> b) -> b -> FieldLine a -> b #
foldr1 :: (a -> a -> a) -> FieldLine a -> a #
foldl1 :: (a -> a -> a) -> FieldLine a -> a #
toList :: FieldLine a -> [a] #
length :: FieldLine a -> Int #
elem :: Eq a => a -> FieldLine a -> Bool #
maximum :: Ord a => FieldLine a -> a #
minimum :: Ord a => FieldLine a -> a #
Instance details
Defined in Distribution.Fields.Field
Methods
fold1 :: Semigroup m => FieldLine m -> m #
foldMap1 :: Semigroup m => (a -> m) -> FieldLine a -> m #
foldMap1' :: Semigroup m => (a -> m) -> FieldLine a -> m #
toNonEmpty :: FieldLine a -> NonEmpty a #
maximum :: Ord a => FieldLine a -> a #
minimum :: Ord a => FieldLine a -> a #
foldrMap1 :: (a -> b) -> (a -> b -> b) -> FieldLine a -> b #
foldlMap1' :: (a -> b) -> (b -> a -> b) -> FieldLine a -> b #
foldlMap1 :: (a -> b) -> (b -> a -> b) -> FieldLine a -> b #
foldrMap1' :: (a -> b) -> (a -> b -> b) -> FieldLine a -> b #
Instance details
Defined in Distribution.Fields.Field
Instance details
Defined in Distribution.Fields.Field
Methods
compare :: FieldLine ann -> FieldLine ann -> Ordering #
(<) :: FieldLine ann -> FieldLine ann -> Bool #
(<=) :: FieldLine ann -> FieldLine ann -> Bool #
(>) :: FieldLine ann -> FieldLine ann -> Bool #
(>=) :: FieldLine ann -> FieldLine ann -> Bool #
fieldLineAnn :: FieldLine ann -> ann Source #
Since: 3.0.0.0
fieldLineBS :: FieldLine ann -> ByteString Source #
Since: 3.0.0.0
data SectionArg ann Source #
Section arguments, e.g. name of the library
Constructors
identifier, or something which looks like number. Also many dot numbers, i.e. "7.6.3"
Instances
Instances details
Instance details
Defined in Distribution.Fields.Field
Methods
fold :: Monoid m => SectionArg m -> m #
foldMap :: Monoid m => (a -> m) -> SectionArg a -> m #
foldMap' :: Monoid m => (a -> m) -> SectionArg a -> m #
foldr :: (a -> b -> b) -> b -> SectionArg a -> b #
foldr' :: (a -> b -> b) -> b -> SectionArg a -> b #
foldl :: (b -> a -> b) -> b -> SectionArg a -> b #
foldl' :: (b -> a -> b) -> b -> SectionArg a -> b #
foldr1 :: (a -> a -> a) -> SectionArg a -> a #
foldl1 :: (a -> a -> a) -> SectionArg a -> a #
toList :: SectionArg a -> [a] #
null :: SectionArg a -> Bool #
length :: SectionArg a -> Int #
elem :: Eq a => a -> SectionArg a -> Bool #
maximum :: Ord a => SectionArg a -> a #
minimum :: Ord a => SectionArg a -> a #
sum :: Num a => SectionArg a -> a #
product :: Num a => SectionArg a -> a #
Instance details
Defined in Distribution.Fields.Field
Methods
fold1 :: Semigroup m => SectionArg m -> m #
foldMap1 :: Semigroup m => (a -> m) -> SectionArg a -> m #
foldMap1' :: Semigroup m => (a -> m) -> SectionArg a -> m #
toNonEmpty :: SectionArg a -> NonEmpty a #
maximum :: Ord a => SectionArg a -> a #
minimum :: Ord a => SectionArg a -> a #
head :: SectionArg a -> a #
last :: SectionArg a -> a #
foldrMap1 :: (a -> b) -> (a -> b -> b) -> SectionArg a -> b #
foldlMap1' :: (a -> b) -> (b -> a -> b) -> SectionArg a -> b #
foldlMap1 :: (a -> b) -> (b -> a -> b) -> SectionArg a -> b #
foldrMap1' :: (a -> b) -> (a -> b -> b) -> SectionArg a -> b #
Instance details
Defined in Distribution.Fields.Field
Methods
traverse :: Applicative f => (a -> f b) -> SectionArg a -> f (SectionArg b) #
sequenceA :: Applicative f => SectionArg (f a) -> f (SectionArg a) #
mapM :: Monad m => (a -> m b) -> SectionArg a -> m (SectionArg b) #
sequence :: Monad m => SectionArg (m a) -> m (SectionArg a) #
Instance details
Defined in Distribution.Fields.Field
Methods
fmap :: (a -> b) -> SectionArg a -> SectionArg b #
(<$) :: a -> SectionArg b -> SectionArg a #
Instance details
Defined in Distribution.Fields.Field
Methods
showsPrec :: Int -> SectionArg ann -> ShowS #
show :: SectionArg ann -> String #
showList :: [SectionArg ann] -> ShowS #
Instance details
Defined in Distribution.Fields.Field
Methods
(==) :: SectionArg ann -> SectionArg ann -> Bool #
(/=) :: SectionArg ann -> SectionArg ann -> Bool #
Instance details
Defined in Distribution.Fields.Field
Methods
compare :: SectionArg ann -> SectionArg ann -> Ordering #
(<) :: SectionArg ann -> SectionArg ann -> Bool #
(<=) :: SectionArg ann -> SectionArg ann -> Bool #
(>) :: SectionArg ann -> SectionArg ann -> Bool #
(>=) :: SectionArg ann -> SectionArg ann -> Bool #
max :: SectionArg ann -> SectionArg ann -> SectionArg ann #
min :: SectionArg ann -> SectionArg ann -> SectionArg ann #
sectionArgAnn :: SectionArg ann -> ann Source #
Extract annotation from SectionArg .
Name
type FieldName = ByteString Source #
A field name.
Invariant: ByteString is lower-case ASCII.
Instances
Instances details
Instance details
Defined in Distribution.Fields.Field
Methods
fold :: Monoid m => Name m -> m #
foldMap :: Monoid m => (a -> m) -> Name a -> m #
foldMap' :: Monoid m => (a -> m) -> Name a -> m #
foldr :: (a -> b -> b) -> b -> Name a -> b #
foldr' :: (a -> b -> b) -> b -> Name a -> b #
foldl :: (b -> a -> b) -> b -> Name a -> b #
foldl' :: (b -> a -> b) -> b -> Name a -> b #
foldr1 :: (a -> a -> a) -> Name a -> a #
foldl1 :: (a -> a -> a) -> Name a -> a #
elem :: Eq a => a -> Name a -> Bool #
maximum :: Ord a => Name a -> a #
Instance details
Defined in Distribution.Fields.Field
Methods
fold1 :: Semigroup m => Name m -> m #
foldMap1 :: Semigroup m => (a -> m) -> Name a -> m #
foldMap1' :: Semigroup m => (a -> m) -> Name a -> m #
toNonEmpty :: Name a -> NonEmpty a #
maximum :: Ord a => Name a -> a #
minimum :: Ord a => Name a -> a #
foldrMap1 :: (a -> b) -> (a -> b -> b) -> Name a -> b #
foldlMap1' :: (a -> b) -> (b -> a -> b) -> Name a -> b #
foldlMap1 :: (a -> b) -> (b -> a -> b) -> Name a -> b #
foldrMap1' :: (a -> b) -> (a -> b -> b) -> Name a -> b #
Instance details
Defined in Distribution.Fields.Field
Conversions to String
sectionArgsToString :: [SectionArg ann] -> String Source #
Since: 3.6.0.0