Hoogle Search

Within LTS Haskell 24.4 (ghc-9.10.2)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. iix :: Ixed m => Index m -> IndexedTraversal' (Index m) m (IxValue m)

    lens Control.Lens.At

    An indexed version of ix.

    >>> Seq.fromList [a,b,c,d] & iix 2 %@~ f'
    fromList [a,b,f' 2 c,d]
    
    >>> Seq.fromList [a,b,c,d] & iix 2 .@~ h
    fromList [a,b,h 2,d]
    
    >>> Seq.fromList [a,b,c,d] ^@? iix 2
    Just (2,c)
    
    >>> Seq.fromList [] ^@? iix 2
    Nothing
    

  2. class Prefixed t

    lens Control.Lens.Combinators

    No documentation available.

  3. class Suffixed t

    lens Control.Lens.Combinators

    No documentation available.

  4. classUnderscoreNoPrefixFields :: LensRules

    lens Control.Lens.Combinators

    Field rules for fields in the form _fieldname (the leading underscore is mandatory). Note: The primary difference to camelCaseFields is that for classUnderscoreNoPrefixFields the field names are not expected to be prefixed with the type name. This might be the desired behaviour when the DuplicateRecordFields extension is enabled.

  5. classUnderscoreNoPrefixNamer :: FieldNamer

    lens Control.Lens.Combinators

    A FieldNamer for classUnderscoreNoPrefixFields.

  6. iix :: Ixed m => Index m -> IndexedTraversal' (Index m) m (IxValue m)

    lens Control.Lens.Combinators

    An indexed version of ix.

    >>> Seq.fromList [a,b,c,d] & iix 2 %@~ f'
    fromList [a,b,f' 2 c,d]
    
    >>> Seq.fromList [a,b,c,d] & iix 2 .@~ h
    fromList [a,b,h 2,d]
    
    >>> Seq.fromList [a,b,c,d] ^@? iix 2
    Just (2,c)
    
    >>> Seq.fromList [] ^@? iix 2
    Nothing
    

  7. makeFieldsNoPrefix :: Name -> DecsQ

    lens Control.Lens.Combinators

    Generate overloaded field accessors based on field names which are only prefixed with an underscore (e.g. _name), not additionally with the type name (e.g. _fooName). This might be the desired behaviour in case the DuplicateRecordFields language extension is used in order to get rid of the necessity to prefix each field name with the type name. As an example:

    data Foo a  = Foo { _x :: Int, _y :: a }
    newtype Bar = Bar { _x :: Char }
    makeFieldsNoPrefix ''Foo
    makeFieldsNoPrefix ''Bar
    
    will create classes
    class HasX s a | s -> a where
    x :: Lens' s a
    class HasY s a | s -> a where
    y :: Lens' s a
    
    together with instances
    instance HasX (Foo a) Int
    instance HasY (Foo a) a where
    instance HasX Bar Char where
    
    For details, see classUnderscoreNoPrefixFields.
    makeFieldsNoPrefix = makeLensesWith classUnderscoreNoPrefixFields
    

  8. prefixed :: Prefixed t => t -> Prism' t t

    lens Control.Lens.Combinators

    A Prism stripping a prefix from a sequence when used as a Traversal, or prepending that prefix when run backwards:

    >>> "preview" ^? prefixed "pre"
    Just "view"
    
    >>> "review" ^? prefixed "pre"
    Nothing
    
    >>> prefixed "pre" # "amble"
    "preamble"
    

  9. suffixed :: Suffixed t => t -> Prism' t t

    lens Control.Lens.Combinators

    A Prism stripping a suffix from a sequence when used as a Traversal, or appending that suffix when run backwards:

    >>> "review" ^? suffixed "view"
    Just "re"
    
    >>> "review" ^? suffixed "tire"
    Nothing
    
    >>> suffixed ".o" # "hello"
    "hello.o"
    

  10. underscoreNoPrefixNamer :: FieldNamer

    lens Control.Lens.Combinators

    A FieldNamer that strips the _ off of the field name, lowercases the name, and skips the field if it doesn't start with an '_'.

Page 45 of many | Previous | Next