packages feed

csound-expression-dynamic 0.0.5 → 0.0.6

raw patch · 6 files changed

+24/−3 lines, 6 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Csound.Dynamic.Build.Logic: untilBegin :: Monad m => E -> DepT m ()
+ Csound.Dynamic.Build.Logic: untilDo :: Monad m => E -> DepT m () -> DepT m ()
+ Csound.Dynamic.Build.Logic: untilEnd :: Monad m => DepT m ()
+ Csound.Dynamic.Types.Exp: UntilBegin :: (CondInfo a) -> MainExp a
+ Csound.Dynamic.Types.Exp: UntilEnd :: MainExp a

Files

csound-expression-dynamic.cabal view
@@ -1,5 +1,5 @@ Name:          csound-expression-dynamic-Version:       0.0.5+Version:       0.0.6 Cabal-Version: >= 1.6 License:       BSD3 License-file:  LICENSE
src/Csound/Dynamic/Build/Logic.hs view
@@ -3,7 +3,9 @@ -- | Boolean instances module Csound.Dynamic.Build.Logic(     when1, whens,-    ifBegin, ifEnd, elseBegin, elseIfBegin+    ifBegin, ifEnd, elseBegin, elseIfBegin,+    untilDo,+    untilBegin, untilEnd ) where  import Control.Monad.Trans.State(State, state, evalState)@@ -45,6 +47,18 @@  ifEnd :: Monad m => DepT m () ifEnd = stmtOnlyT IfEnd++untilDo :: Monad m => E -> DepT m () -> DepT m ()+untilDo p body = do+    untilBegin p+    body+    untilEnd++untilBegin :: Monad m => E -> DepT m ()+untilBegin = withCond UntilBegin++untilEnd :: Monad m => DepT m ()+untilEnd = stmtOnlyT UntilEnd  withCond :: Monad m => (CondInfo (PrimOr E) -> MainExp (PrimOr E)) -> E -> DepT m () withCond stmt p = depT_ $ noRate $ stmt (condInfo p)
src/Csound/Dynamic/Render/Instr.hs view
@@ -143,9 +143,11 @@     InitVar v a -> InitVar v $ rec1 Ir a -- rec1 (varRate v) a     ExpPrim p -> ExpPrim p     IfBegin _ -> rec2 condRate expr+    UntilBegin _ -> rec2 condRate expr     ElseIfBegin _ -> rec2 condRate expr     ElseBegin -> ElseBegin     IfEnd -> IfEnd+    UntilEnd -> UntilEnd     EmptyExp -> EmptyExp         Verbatim a -> Verbatim a 
src/Csound/Dynamic/Render/Pretty.hs view
@@ -119,6 +119,8 @@     ElseIfBegin a                   -> left >> (succTab $ text "elseif " <> ppCond a <> text " then")         ElseBegin                       -> left >> (succTab $ text "else")     IfEnd                           -> left >> (tab     $ text "endif")+    UntilBegin a                    -> succTab          $ text "until " <> ppCond a <> text " do"+    UntilEnd                        -> left >> (tab     $ text "od")     EmptyExp                        -> return empty     Verbatim str                    -> return $ text str     x -> error $ "unknown expression: " ++ show x
src/Csound/Dynamic/Tfm/Liveness.hs view
@@ -153,5 +153,5 @@ initSt lastFreshId livenessTab = fmap (Registers initRegs livenessTab) (initSubstTable lastFreshId)  initSubstTable :: Int ->  ST s (SubstTable s)-initSubstTable n = A.newListArray (0, n) [0 .. n]+initSubstTable n = A.newListArray (0, n+1) [0 .. n + 1] 
src/Csound/Dynamic/Types/Exp.hs view
@@ -135,6 +135,9 @@     | ElseIfBegin (CondInfo a)     | ElseBegin     | IfEnd+    -- | looping constructions+    | UntilBegin (CondInfo a)+    | UntilEnd     -- | Verbatim stmt     | Verbatim String     deriving (Show, Eq, Ord, Functor, Foldable, Traversable)