Copyright | (c) Dima Szamozvancev |
---|---|
License | MIT |
Maintainer | ds709@cam.ac.uk |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Encapsulation of various musical rule sets that Mezzo can use.
- data Free = Free
- data Classical = Classical
- data Strict = Strict
- class RuleSet t where
- type MelConstraints t (m1 :: Partiture n l1) (m2 :: Partiture n l2) :: Constraint
- type HarmConstraints t (m1 :: Partiture n1 l) (m2 :: Partiture n2 l) :: Constraint
- type NoteConstraints t (r :: RootType) (d :: Duration) :: Constraint
- type RestConstraints t (d :: Duration) :: Constraint
- type ChordConstraints t (c :: ChordType n) (d :: Duration) :: Constraint
- type ProgConstraints t (s :: TimeSignature) (p :: ProgType k l) :: Constraint
- type HomConstraints t (m1 :: Partiture n1 l) (m2 :: Partiture n2 l) :: Constraint
- type TriplConstraints t (d :: Duration) (r1 :: RootType) (r2 :: RootType) (r3 :: RootType) :: Constraint
Rule sets
The types of rule sets implemented. data RuleSetType = Free -- ^ No composition rules. | Classical -- ^ Classical rules. | Strict -- ^ Strict rules.
RuleSet * Free Source # | No rules. |
type MelConstraints l2 n l1 * Free m1 m2 Source # | |
type HarmConstraints n2 n1 l * Free m1 m2 Source # | |
type HomConstraints n2 n1 l * Free m1 m2 Source # | |
type ProgConstraints k l * Free s p Source # | |
type ChordConstraints n * Free c d Source # | |
type RestConstraints * Free d Source # | |
type NoteConstraints * Free r d Source # | |
type TriplConstraints * Free d r1 r2 r3 Source # | |
RuleSet * Classical Source # | Classical rules. Forbids
|
type MelConstraints l2 n l1 * Classical m1 m2 Source # | |
type HarmConstraints n2 n1 l * Classical m1 m2 Source # | |
type HomConstraints n2 n1 l * Classical m1 m2 Source # | |
type ProgConstraints k l * Classical s p Source # | |
type ChordConstraints n * Classical c d Source # | |
type RestConstraints * Classical d Source # | |
type NoteConstraints * Classical r d Source # | |
type TriplConstraints * Classical d r1 r2 r3 Source # | |
RuleSet * Strict Source # | Strict rules. Forbids all of the above (
|
type MelConstraints l2 n l1 * Strict m1 m2 Source # | |
type HarmConstraints n2 n1 l * Strict m1 m2 Source # | |
type HomConstraints n2 n1 l * Strict m1 m2 Source # | |
type ProgConstraints k l * Strict s p Source # | |
type ChordConstraints n * Strict c d Source # | |
type RestConstraints * Strict d Source # | |
type NoteConstraints * Strict r d Source # | |
type TriplConstraints * Strict d r1 r2 r3 Source # | |
Class of rule sets for a given rule type.
type MelConstraints t (m1 :: Partiture n l1) (m2 :: Partiture n l2) :: Constraint Source #
type HarmConstraints t (m1 :: Partiture n1 l) (m2 :: Partiture n2 l) :: Constraint Source #
type NoteConstraints t (r :: RootType) (d :: Duration) :: Constraint Source #
type RestConstraints t (d :: Duration) :: Constraint Source #
type ChordConstraints t (c :: ChordType n) (d :: Duration) :: Constraint Source #
type ProgConstraints t (s :: TimeSignature) (p :: ProgType k l) :: Constraint Source #
type HomConstraints t (m1 :: Partiture n1 l) (m2 :: Partiture n2 l) :: Constraint Source #
type TriplConstraints t (d :: Duration) (r1 :: RootType) (r2 :: RootType) (r3 :: RootType) :: Constraint Source #
RuleSet * Strict Source # | Strict rules. Forbids all of the above (
|
RuleSet * Classical Source # | Classical rules. Forbids
|
RuleSet * Free Source # | No rules. |