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 +1/−1
- src/Csound/Dynamic/Build/Logic.hs +15/−1
- src/Csound/Dynamic/Render/Instr.hs +2/−0
- src/Csound/Dynamic/Render/Pretty.hs +2/−0
- src/Csound/Dynamic/Tfm/Liveness.hs +1/−1
- src/Csound/Dynamic/Types/Exp.hs +3/−0
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)