music-pitch-literal 1.1 → 1.2
raw patch · 2 files changed
+17/−16 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Music.Pitch.Literal: class Pitched a
- Music.Pitch.Literal: instance Pitched PitchL
+ Music.Pitch.Literal: class IsPitch a
+ Music.Pitch.Literal: instance IsPitch PitchL
- Music.Pitch.Literal: a :: Pitched a => a
+ Music.Pitch.Literal: a :: IsPitch a => a
- Music.Pitch.Literal: a' :: Pitched a => a
+ Music.Pitch.Literal: a' :: IsPitch a => a
- Music.Pitch.Literal: a_ :: Pitched a => a
+ Music.Pitch.Literal: a_ :: IsPitch a => a
- Music.Pitch.Literal: ab :: Pitched a => a
+ Music.Pitch.Literal: ab :: IsPitch a => a
- Music.Pitch.Literal: ab' :: Pitched a => a
+ Music.Pitch.Literal: ab' :: IsPitch a => a
- Music.Pitch.Literal: ab_ :: Pitched a => a
+ Music.Pitch.Literal: ab_ :: IsPitch a => a
- Music.Pitch.Literal: as :: Pitched a => a
+ Music.Pitch.Literal: as :: IsPitch a => a
- Music.Pitch.Literal: as' :: Pitched a => a
+ Music.Pitch.Literal: as' :: IsPitch a => a
- Music.Pitch.Literal: as_ :: Pitched a => a
+ Music.Pitch.Literal: as_ :: IsPitch a => a
- Music.Pitch.Literal: b :: Pitched a => a
+ Music.Pitch.Literal: b :: IsPitch a => a
- Music.Pitch.Literal: b' :: Pitched a => a
+ Music.Pitch.Literal: b' :: IsPitch a => a
- Music.Pitch.Literal: b_ :: Pitched a => a
+ Music.Pitch.Literal: b_ :: IsPitch a => a
- Music.Pitch.Literal: bb :: Pitched a => a
+ Music.Pitch.Literal: bb :: IsPitch a => a
- Music.Pitch.Literal: bb' :: Pitched a => a
+ Music.Pitch.Literal: bb' :: IsPitch a => a
- Music.Pitch.Literal: bb_ :: Pitched a => a
+ Music.Pitch.Literal: bb_ :: IsPitch a => a
- Music.Pitch.Literal: bs :: Pitched a => a
+ Music.Pitch.Literal: bs :: IsPitch a => a
- Music.Pitch.Literal: bs' :: Pitched a => a
+ Music.Pitch.Literal: bs' :: IsPitch a => a
- Music.Pitch.Literal: bs_ :: Pitched a => a
+ Music.Pitch.Literal: bs_ :: IsPitch a => a
- Music.Pitch.Literal: c :: Pitched a => a
+ Music.Pitch.Literal: c :: IsPitch a => a
- Music.Pitch.Literal: c' :: Pitched a => a
+ Music.Pitch.Literal: c' :: IsPitch a => a
- Music.Pitch.Literal: c_ :: Pitched a => a
+ Music.Pitch.Literal: c_ :: IsPitch a => a
- Music.Pitch.Literal: cb :: Pitched a => a
+ Music.Pitch.Literal: cb :: IsPitch a => a
- Music.Pitch.Literal: cb' :: Pitched a => a
+ Music.Pitch.Literal: cb' :: IsPitch a => a
- Music.Pitch.Literal: cb_ :: Pitched a => a
+ Music.Pitch.Literal: cb_ :: IsPitch a => a
- Music.Pitch.Literal: cs :: Pitched a => a
+ Music.Pitch.Literal: cs :: IsPitch a => a
- Music.Pitch.Literal: cs' :: Pitched a => a
+ Music.Pitch.Literal: cs' :: IsPitch a => a
- Music.Pitch.Literal: cs_ :: Pitched a => a
+ Music.Pitch.Literal: cs_ :: IsPitch a => a
- Music.Pitch.Literal: d :: Pitched a => a
+ Music.Pitch.Literal: d :: IsPitch a => a
- Music.Pitch.Literal: d' :: Pitched a => a
+ Music.Pitch.Literal: d' :: IsPitch a => a
- Music.Pitch.Literal: d_ :: Pitched a => a
+ Music.Pitch.Literal: d_ :: IsPitch a => a
- Music.Pitch.Literal: db :: Pitched a => a
+ Music.Pitch.Literal: db :: IsPitch a => a
- Music.Pitch.Literal: db' :: Pitched a => a
+ Music.Pitch.Literal: db' :: IsPitch a => a
- Music.Pitch.Literal: db_ :: Pitched a => a
+ Music.Pitch.Literal: db_ :: IsPitch a => a
- Music.Pitch.Literal: ds :: Pitched a => a
+ Music.Pitch.Literal: ds :: IsPitch a => a
- Music.Pitch.Literal: ds' :: Pitched a => a
+ Music.Pitch.Literal: ds' :: IsPitch a => a
- Music.Pitch.Literal: ds_ :: Pitched a => a
+ Music.Pitch.Literal: ds_ :: IsPitch a => a
- Music.Pitch.Literal: e :: Pitched a => a
+ Music.Pitch.Literal: e :: IsPitch a => a
- Music.Pitch.Literal: e' :: Pitched a => a
+ Music.Pitch.Literal: e' :: IsPitch a => a
- Music.Pitch.Literal: e_ :: Pitched a => a
+ Music.Pitch.Literal: e_ :: IsPitch a => a
- Music.Pitch.Literal: eb :: Pitched a => a
+ Music.Pitch.Literal: eb :: IsPitch a => a
- Music.Pitch.Literal: eb' :: Pitched a => a
+ Music.Pitch.Literal: eb' :: IsPitch a => a
- Music.Pitch.Literal: eb_ :: Pitched a => a
+ Music.Pitch.Literal: eb_ :: IsPitch a => a
- Music.Pitch.Literal: es :: Pitched a => a
+ Music.Pitch.Literal: es :: IsPitch a => a
- Music.Pitch.Literal: es' :: Pitched a => a
+ Music.Pitch.Literal: es' :: IsPitch a => a
- Music.Pitch.Literal: es_ :: Pitched a => a
+ Music.Pitch.Literal: es_ :: IsPitch a => a
- Music.Pitch.Literal: f :: Pitched a => a
+ Music.Pitch.Literal: f :: IsPitch a => a
- Music.Pitch.Literal: f' :: Pitched a => a
+ Music.Pitch.Literal: f' :: IsPitch a => a
- Music.Pitch.Literal: f_ :: Pitched a => a
+ Music.Pitch.Literal: f_ :: IsPitch a => a
- Music.Pitch.Literal: fb :: Pitched a => a
+ Music.Pitch.Literal: fb :: IsPitch a => a
- Music.Pitch.Literal: fb' :: Pitched a => a
+ Music.Pitch.Literal: fb' :: IsPitch a => a
- Music.Pitch.Literal: fb_ :: Pitched a => a
+ Music.Pitch.Literal: fb_ :: IsPitch a => a
- Music.Pitch.Literal: fromPitch :: Pitched a => PitchL -> a
+ Music.Pitch.Literal: fromPitch :: IsPitch a => PitchL -> a
- Music.Pitch.Literal: fs :: Pitched a => a
+ Music.Pitch.Literal: fs :: IsPitch a => a
- Music.Pitch.Literal: fs' :: Pitched a => a
+ Music.Pitch.Literal: fs' :: IsPitch a => a
- Music.Pitch.Literal: fs_ :: Pitched a => a
+ Music.Pitch.Literal: fs_ :: IsPitch a => a
- Music.Pitch.Literal: g :: Pitched a => a
+ Music.Pitch.Literal: g :: IsPitch a => a
- Music.Pitch.Literal: g' :: Pitched a => a
+ Music.Pitch.Literal: g' :: IsPitch a => a
- Music.Pitch.Literal: g_ :: Pitched a => a
+ Music.Pitch.Literal: g_ :: IsPitch a => a
- Music.Pitch.Literal: gb :: Pitched a => a
+ Music.Pitch.Literal: gb :: IsPitch a => a
- Music.Pitch.Literal: gb' :: Pitched a => a
+ Music.Pitch.Literal: gb' :: IsPitch a => a
- Music.Pitch.Literal: gb_ :: Pitched a => a
+ Music.Pitch.Literal: gb_ :: IsPitch a => a
- Music.Pitch.Literal: gs :: Pitched a => a
+ Music.Pitch.Literal: gs :: IsPitch a => a
- Music.Pitch.Literal: gs' :: Pitched a => a
+ Music.Pitch.Literal: gs' :: IsPitch a => a
- Music.Pitch.Literal: gs_ :: Pitched a => a
+ Music.Pitch.Literal: gs_ :: IsPitch a => a
Files
- music-pitch-literal.cabal +4/−3
- src/Music/Pitch/Literal.hs +13/−13
music-pitch-literal.cabal view
@@ -1,6 +1,6 @@ name: music-pitch-literal-version: 1.1+version: 1.2 cabal-version: >= 1.2 author: Hans Hoglund maintainer: Hans Hoglund@@ -13,8 +13,9 @@ description: This package allow you to write the pitches of standard notation as expressions- overloaded on result type. This works exactly like numeric literals (and string- literals when using the @OverloadedStrings@ extension).+ overloaded on result type. This works exactly like numeric literals.++ This library is part of the Haskell Music Suite, see <http://musicsuite.github.com>. library build-depends:
src/Music/Pitch/Literal.hs view
@@ -16,7 +16,7 @@ module Music.Pitch.Literal ( PitchL(..),- Pitched(..),+ IsPitch(..), cs' , ds' , es' , fs' , gs' , as' , bs' , c' , d' , e' , f' , g' , a' , b' ,@@ -35,25 +35,25 @@ newtype PitchL = PitchL { getPitchL :: (Int, Maybe Double, Int) } -- Like Num can be expressed using arabic numerals, instances--- of Pitched can be expressed using Western pitch names (c, c sharp, c flat etc) -class Pitched a where+-- of IsPitch can be expressed using Western pitch names (c, c sharp, c flat etc) +class IsPitch a where fromPitch :: PitchL -> a -instance Pitched PitchL where+instance IsPitch PitchL where fromPitch = id -cs' , ds' , es' , fs' , gs' , as' , bs' :: Pitched a => a-c' , d' , e' , f' , g' , a' , b' :: Pitched a => a-cb' , db' , eb' , fb' , gb' , ab' , bb' :: Pitched a => a+cs' , ds' , es' , fs' , gs' , as' , bs' :: IsPitch a => a+c' , d' , e' , f' , g' , a' , b' :: IsPitch a => a+cb' , db' , eb' , fb' , gb' , ab' , bb' :: IsPitch a => a -cs , ds , es , fs , gs , as , bs :: Pitched a => a-c , d , e , f , g , a , b :: Pitched a => a-cb , db , eb , fb , gb , ab , bb :: Pitched a => a+cs , ds , es , fs , gs , as , bs :: IsPitch a => a+c , d , e , f , g , a , b :: IsPitch a => a+cb , db , eb , fb , gb , ab , bb :: IsPitch a => a -cs_ , ds_ , es_ , fs_ , gs_ , as_ , bs_ :: Pitched a => a-c_ , d_ , e_ , f_ , g_ , a_ , b_ :: Pitched a => a-cb_ , db_ , eb_ , fb_ , gb_ , ab_ , bb_ :: Pitched a => a+cs_ , ds_ , es_ , fs_ , gs_ , as_ , bs_ :: IsPitch a => a+c_ , d_ , e_ , f_ , g_ , a_ , b_ :: IsPitch a => a+cb_ , db_ , eb_ , fb_ , gb_ , ab_ , bb_ :: IsPitch a => a cs' = fromPitch $ PitchL (0, Just 1, 5)