Portability | non-portable (TF,GNTD) |
---|---|
Stability | experimental |
Maintainer | hans@hanshoglund.se |
Safe Haskell | None |
Provides functions for manipulating parts.
- type family Part s :: *
- type family SetPart b s :: *
- class (Transformable (Part s), Transformable (Part t)) => HasParts s t where
- class HasParts s t => HasPart s t where
- type HasPart' a = HasPart a a
- type HasParts' a = HasParts a a
- part' :: (HasPart s t, s ~ t) => Lens' s (Part s)
- parts' :: (HasParts s t, s ~ t) => Traversal' s (Part s)
- allParts :: (Ord (Part a), HasParts' a) => a -> [Part a]
- extracted :: (Ord (Part a), HasPart' a) => Iso (Score a) (Score b) [Score a] [Score b]
- extracted' :: (Ord (Part a), Ord (Part b), HasPart' a, HasPart' b) => Iso (Score a) (Score b) [(Part a, Score a)] [(Part b, Score b)]
- extractPart :: (Eq (Part a), HasPart' a) => Part a -> Score a -> Score a
- extractParts :: (Ord (Part a), HasPart' a) => Score a -> [Score a]
- extractParts' :: (Ord (Part a), HasPart' a) => Score a -> [(Part a, Score a)]
- newtype PartT n a = PartT {
- getPartT :: (n, a)
Articulation type functions
Accessing parts
class (Transformable (Part s), Transformable (Part t)) => HasParts s t whereSource
Class of types that provide a part traversal.
(~ * b (Part b), Transformable b) => HasParts Bool b | |
HasParts Float Float | |
HasParts Int Int | |
HasParts Integer Integer | |
(~ * b (Part b), Transformable b) => HasParts Ordering b | |
(~ * b (Part b), Transformable b) => HasParts () b | |
HasParts a b => HasParts [a] [b] | |
HasParts a b => HasParts (Maybe a) (Maybe b) | |
HasParts a b => HasParts (Voice a) (Voice b) | |
HasParts a b => HasParts (Note a) (Note b) | |
HasParts a b => HasParts (Score a) (Score b) | |
(HasPart a a, HasPart a b) => HasParts (Behavior a) (Behavior b) | |
(HasPart a a, HasPart a b) => HasParts (Segment a) (Segment b) | |
HasParts a b => HasParts (Either c a) (Either c b) | |
HasParts a b => HasParts (c, a) (c, b) | |
(Transformable p, Transformable p') => HasParts (PartT p a) (PartT p' a) |
class HasParts s t => HasPart s t whereSource
Class of types that provide a single part.
(~ * b (Part b), Transformable b) => HasPart Bool b | |
HasPart Float Float | |
HasPart Int Int | |
HasPart Integer Integer | |
(~ * b (Part b), Transformable b) => HasPart Ordering b | |
(~ * b (Part b), Transformable b) => HasPart () b | |
HasPart a b => HasPart (Note a) (Note b) | |
(HasPart a a, HasPart a b) => HasPart (Behavior a) (Behavior b) | |
(HasPart a a, HasPart a b) => HasPart (Segment a) (Segment b) | |
HasPart a b => HasPart (c, a) (c, b) | |
(Transformable p, Transformable p') => HasPart (PartT p a) (PartT p' a) |
parts' :: (HasParts s t, s ~ t) => Traversal' s (Part s)Source
Part type.
Listing parts
Extracting parts
extracted' :: (Ord (Part a), Ord (Part b), HasPart' a, HasPart' b) => Iso (Score a) (Score b) [(Part a, Score a)] [(Part b, Score b)]Source