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 +1/−1
- Lava/Eprover.hs +1/−1
- Lava/Fixit.hs +1/−1
- Lava/HeerHugo.hs +1/−1
- Lava/Isc.hs +25/−25
- Lava/Limmat.hs +1/−1
- Lava/Modoc.hs +1/−1
- Lava/MyST.hs +6/−0
- Lava/Property.hs +8/−1
- Lava/Satnik.hs +1/−1
- Lava/Satzoo.hs +1/−1
- Lava/Smv.hs +1/−1
- Lava/Verification.hs +1/−1
- Lava/Vhdl.hs +1/−1
- Lava/Vis.hs +1/−1
- Lava/Zchaff.hs +1/−1
- chalmers-lava2000.cabal +1/−1
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