cryptol 2.2.3 → 2.2.4
raw patch · 4 files changed
+16/−12 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Cryptol.Symbolic.Prims: replicateV :: Integer -> Value -> Value
+ Cryptol.Symbolic.Prims: replicateV :: Integer -> TValue -> Value -> Value
Files
- cryptol.cabal +2/−2
- dist/build/Cryptol/Parser.hs +1/−1
- dist/build/Cryptol/Parser/Lexer.hs +1/−1
- src/Cryptol/Symbolic/Prims.hs +12/−8
cryptol.cabal view
@@ -1,5 +1,5 @@ Name: cryptol-Version: 2.2.3+Version: 2.2.4 Synopsis: Cryptol: The Language of Cryptography Description: Cryptol is a domain-specific language for specifying cryptographic algorithms. A Cryptol implementation of an algorithm resembles its mathematical specification more closely than an implementation in a general purpose language. For more, see <http://www.cryptol.net/>. License: BSD3@@ -23,7 +23,7 @@ source-repository this type: git location: https://github.com/GaloisInc/cryptol.git- tag: v2.2.3+ tag: v2.2.4 flag static default: False
dist/build/Cryptol/Parser.hs view
@@ -3736,7 +3736,7 @@ {-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "<built-in>" #-} {-# LINE 19 "<built-in>" #-}-{-# LINE 1 "/usr/local/Cellar/ghc/7.10.1/lib/ghc-7.10.1/include/ghcversion.h" #-}+{-# LINE 1 "/usr/local/Cellar/ghc/7.10.1_1/lib/ghc-7.10.1/include/ghcversion.h" #-}
dist/build/Cryptol/Parser/Lexer.hs view
@@ -258,7 +258,7 @@ {-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "<built-in>" #-} {-# LINE 18 "<built-in>" #-}-{-# LINE 1 "/usr/local/Cellar/ghc/7.10.1/lib/ghc-7.10.1/include/ghcversion.h" #-}+{-# LINE 1 "/usr/local/Cellar/ghc/7.10.1_1/lib/ghc-7.10.1/include/ghcversion.h" #-}
src/Cryptol/Symbolic/Prims.hs view
@@ -11,7 +11,7 @@ {-# LANGUAGE FlexibleContexts #-} module Cryptol.Symbolic.Prims where -import Data.Bits+import Data.Bits () import Data.List (genericDrop, genericReplicate, genericSplitAt, genericTake, sortBy, transpose) import Data.Ord (comparing) @@ -107,8 +107,8 @@ shl i = case numTValue m of Inf -> dropV i xs- Nat j | i >= j -> replicateV j (zeroV a)- | otherwise -> catV (dropV i xs) (replicateV i (zeroV a))+ Nat j | i >= j -> replicateV j a (zeroV a)+ | otherwise -> catV (dropV i xs) (replicateV i a (zeroV a)) ECShiftR -> -- {m,n,a} (fin n) => [m] a -> [n] -> [m] a tlam $ \m ->@@ -123,9 +123,9 @@ shr :: Integer -> Value shr i = case numTValue m of- Inf -> catV (replicateV i (zeroV a)) xs- Nat j | i >= j -> replicateV j (zeroV a)- | otherwise -> catV (replicateV i (zeroV a)) (takeV (j - i) xs)+ Inf -> catV (replicateV i a (zeroV a)) xs+ Nat j | i >= j -> replicateV j a (zeroV a)+ | otherwise -> catV (replicateV i a (zeroV a)) (takeV (j - i) xs) ECRotL -> -- {m,n,a} (fin m, fin n) => [m] a -> [n] -> [m] a tlam $ \m ->@@ -299,8 +299,12 @@ where m1 = sel (offset + 2 ^ length bs) bs m2 = sel offset bs -replicateV :: Integer -> Value -> Value-replicateV n x = VSeq False (genericReplicate n x)+replicateV :: Integer -- ^ number of elements+ -> TValue -- ^ type of element+ -> Value -- ^ element+ -> Value+replicateV n (toTypeVal -> TVBit) x = VSeq True (genericReplicate n x)+replicateV n _ x = VSeq False (genericReplicate n x) nth :: a -> [a] -> Int -> a nth def [] _ = def