packages feed

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 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