packages feed

chalmers-lava2000 1.4.1 → 1.5

raw patch · 17 files changed

+53/−40 lines, 17 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Lava.MyST: instance Applicative (ST s)
+ Lava.Property: instance Applicative Gen
- Lava.Arithmetic: int2bin :: (Eq a, Num a) => a -> Signal Int -> [Signal Bool]
+ Lava.Arithmetic: int2bin :: (Num a, Eq a) => a -> Signal Int -> [Signal Bool]
- Lava.Patterns: bfly :: (Eq a1, Num a1) => a1 -> ([a] -> [a]) -> [a] -> [a]
+ Lava.Patterns: bfly :: (Num a1, Eq a1) => a1 -> ([a] -> [a]) -> [a] -> [a]
- Lava.Patterns: column :: ((t1, t) -> (t, a)) -> ([t1], t) -> (t, [a])
+ Lava.Patterns: column :: ((t2, t) -> (t, t1)) -> ([t2], t) -> (t, [t1])
- Lava.Patterns: grid :: ((t, a) -> (a, t)) -> ([t], [a]) -> ([a], [t])
+ Lava.Patterns: grid :: ((t1, t) -> (t, t1)) -> ([t1], [t]) -> ([t], [t1])
- Lava.Patterns: ilvN :: (Eq a, Num a) => a -> ([t] -> [a1]) -> [t] -> [a1]
+ Lava.Patterns: ilvN :: (Num a, Eq a) => a -> ([t] -> [a1]) -> [t] -> [a1]
- Lava.Patterns: iter :: (Eq a, Num a) => a -> (t -> t) -> t -> t
+ Lava.Patterns: iter :: (Num a, Eq a) => a -> (t -> t) -> t -> t
- Lava.Patterns: mirror :: ((t1, t) -> (t3, t2)) -> (t, t1) -> (t2, t3)
+ Lava.Patterns: mirror :: ((t, t1) -> (t3, t2)) -> (t1, t) -> (t2, t3)
- Lava.Patterns: row :: ((t1, t) -> (a, t1)) -> (t1, [t]) -> ([a], t1)
+ Lava.Patterns: row :: ((t2, t1) -> (t, t2)) -> (t2, [t1]) -> ([t], t2)
- Lava.Patterns: twoN :: (Eq a, Num a) => a -> ([a1] -> [a2]) -> [a1] -> [a2]
+ Lava.Patterns: twoN :: (Num a, Eq a) => a -> ([a1] -> [a2]) -> [a1] -> [a2]
- Lava.Patterns: unzipp :: [(a, a1)] -> ([a], [a1])
+ Lava.Patterns: unzipp :: [(t, t1)] -> ([t], [t1])
- Lava.SequentialCircuits: delayClk :: (Choice t, Generic t) => t -> (Signal Bool, t) -> t
+ Lava.SequentialCircuits: delayClk :: (Generic a, Choice a) => a -> (Signal Bool, a) -> a
- Lava.SequentialCircuits: delayN :: (Eq a, Num a, Generic a1) => a -> a1 -> a1 -> a1
+ Lava.SequentialCircuits: delayN :: (Generic a1, Num a, Eq a) => a -> a1 -> a1 -> a1
- Lava.SequentialCircuits: puls :: (Eq a, Num a) => a -> () -> Signal Bool
+ Lava.SequentialCircuits: puls :: (Num a, Eq a) => a -> () -> Signal Bool
- Lava.SequentialCircuits: rowSeqPeriod :: (Eq a, Num a, Choice t2, Constructive t2) => a -> ((t2, t) -> (t1, t2)) -> t -> t1
+ Lava.SequentialCircuits: rowSeqPeriod :: (Constructive t1, Choice t1, Num a, Eq a) => a -> ((t1, t2) -> (t, t1)) -> t2 -> t
- Lava.SequentialCircuits: rowSeqReset :: (Choice t2, Constructive t2) => ((t2, t) -> (t1, t2)) -> (Signal Bool, t) -> t1
+ Lava.SequentialCircuits: rowSeqReset :: (Constructive t1, Choice t1) => ((t1, t2) -> (t, t1)) -> (Signal Bool, t2) -> t
- Lava.Vis: equivCheckVisInput :: (Generic a, Generic b, Generic b1) => (a -> b) -> (a -> b1) -> a -> IO ProofResult
+ Lava.Vis: equivCheckVisInput :: (Generic b1, Generic a, Generic b) => (a -> b) -> (a -> b1) -> a -> IO ProofResult

Files

Lava/Captain.hs view
@@ -32,7 +32,7 @@ import System.IO.Unsafe import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/Eprover.hs view
@@ -34,7 +34,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/Fixit.hs view
@@ -30,7 +30,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/HeerHugo.hs view
@@ -30,7 +30,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/Isc.hs view
@@ -18,7 +18,7 @@ import Data.Array import Lava.MyST import Data.List(intersperse)-import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------------------------------------------@@ -52,8 +52,8 @@  where --  execute = "/Scripts/isc "   execute = "isc "-	    ++ netfile ++ " "-	    ++ (m2par m) ++ " " ++ show n+            ++ netfile ++ " "+            ++ (m2par m) ++ " " ++ show n   netfile = verifyDir ++ "/circuit.net"    m2par StepMin = "-smin"@@ -89,9 +89,9 @@  showA :: Array Int String -> String showA a = "array " ++ show (bounds a) ++ " [" ++-	  concat (intersperse "," (map (\ (i,s) -> "(" ++ show i ++ "," ++ s ++ ")")-		                         (assocs a)))-	  ++ "]"+          concat (intersperse "," (map (\ (i,s) -> "(" ++ show i ++ "," ++ s ++ ")")+                                         (assocs a)))+          ++ "]"  showAll (n,p) = "(" ++ showN n ++ "," ++ show p ++ ")" @@ -105,7 +105,7 @@   do (props,_) <- properties a      let top = case props of                 [x] -> x-		xs  -> andl xs+                xs  -> andl xs      let (tab, Object top') = table (struct top)      return (array (0, length tab-1) tab, top') @@ -118,29 +118,29 @@         let define sym = do              tab <- readSTRef table-	     case sym of-	       And xs -> bin Or (map sneg xs) >>= return . sneg-	       Or xs  -> bin Or xs-	       Xor xs -> bin Xor xs---			    v <- new---			    writeSTRef table ((v,x):tab)---			    return (Not v)-	       Inv x  -> return (sneg x)-	       x      -> do v <- new-			    writeSTRef table ((v,x):tab)-			    return (Pos v)+             case sym of+               And xs -> bin Or (map sneg xs) >>= return . sneg+               Or xs  -> bin Or xs+               Xor xs -> bin Xor xs+--                          v <- new+--                          writeSTRef table ((v,x):tab)+--                          return (Not v)+               Inv x  -> return (sneg x)+               x      -> do v <- new+                            writeSTRef table ((v,x):tab)+                            return (Pos v)             bin f [x]      = return x-	   bin f (x:y:xs) = do+           bin f (x:y:xs) = do                v <- new-	       tab <- readSTRef table-	       writeSTRef table ((v, f [x,y]) : tab)-	       bin f (Pos v:xs)+               tab <- readSTRef table+               writeSTRef table ((v, f [x,y]) : tab)+               bin f (Pos v:xs)             new = do-	     n <- readSTRef ref-	     writeSTRef ref (n+1)-	     return n+             n <- readSTRef ref+             writeSTRef ref (n+1)+             return n         str' <- netlistST_ define str        tab  <- readSTRef table
Lava/Limmat.hs view
@@ -30,7 +30,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/Modoc.hs view
@@ -30,7 +30,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/MyST.hs view
@@ -13,6 +13,8 @@   )  where +import Control.Applicative (Applicative (..))+import Control.Monad (ap) import System.IO import System.IO.Unsafe import Data.IORef@@ -25,6 +27,10 @@  instance Functor (ST s) where   fmap f (ST io) = ST (fmap f io)++instance Applicative (ST s) where+  pure  = return+  (<*>) = ap  instance Monad (ST s) where   return a    = ST (return a)
Lava/Property.hs view
@@ -22,8 +22,11 @@ import Lava.Signal import Lava.Generic +import Control.Applicative (Applicative (..))+ import Control.Monad-  ( liftM2+  ( ap+  , liftM2   , liftM3   , liftM4   , liftM5@@ -45,6 +48,10 @@  instance Functor Gen where   fmap f (Gen m) = Gen (\t -> f (m t))++instance Applicative Gen where+  pure  = return+  (<*>) = ap  instance Monad Gen where   return a =
Lava/Satnik.hs view
@@ -30,7 +30,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/Satzoo.hs view
@@ -30,7 +30,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/Smv.hs view
@@ -30,7 +30,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/Verification.hs view
@@ -35,7 +35,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  verifyDir :: FilePath
Lava/Vhdl.hs view
@@ -32,7 +32,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/Vis.hs view
@@ -34,7 +34,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
Lava/Zchaff.hs view
@@ -30,7 +30,7 @@  import Data.IORef -import System.Cmd (system)+import System.Process (system) import System.Exit (ExitCode(..))  ----------------------------------------------------------------
chalmers-lava2000.cabal view
@@ -1,5 +1,5 @@ name:                chalmers-lava2000-version:             1.4.1+version:             1.5 synopsis:            Hardware description EDSL description:         For more info, see the tutorial: <http://projects.haskell.org/chalmers-lava2000/Doc/tutorial.pdf> category:            Language, Hardware