Copyright | (c) David Janin, Simon Archipoff, 2016 |
---|---|
License | see the LICENSE file in the distribution |
Maintainer | janin@labri.fr |
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell2010 |
The type class Tilable allows to embed value types with non trivial duration into tiles in a much more efficient and uniform way.
- class (Eq d, Num d, Lattice d) => Tilable d a where
- module Duration.Lattice
Documentation
class (Eq d, Num d, Lattice d) => Tilable d a where Source #
Class Tilable that group some properties (and default behaviors) we want for values to be in tiles.
The following property should be statisfied: prop> duration (stretch d a) = d*(duration a)
(Eq d, Num d, Lattice d) => Tilable d () Source # | |
(Eq d, Num d, Lattice d) => Tilable d Char Source # | |
(Eq d, Num d, Lattice d) => Tilable d Int Source # | |
(Eq d, Num d, Lattice d) => Tilable d Rational Source # | |
(Eq d, Num d, Lattice d) => Tilable d Integer Source # | |
(Eq d, Num d, Lattice d) => Tilable d Midi Source # | Midi values are tilable |
Tilable d a => Tilable d [a] Source # | |
(Tilable d a, Tilable d b) => Tilable d (a, b) Source # | |
(Tilable d a, Tilable d b) => Tilable d (Either a b) Source # | |
(Eq d, Num d, Lattice d) => Tilable d (v1 -> v2) Source # | Functions have default duration +infty (top) |
(Tilable d v, (~) * d1 d) => Tilable d (Tile d1 iv v) Source # | Tile are tilable... |
Ord iv => Tilable (Beat iv) (Music iv a) Source # | |
module Duration.Lattice