Commit Graph

1428 Commits

Author SHA1 Message Date
Aaron Tomb
1cb7d4dcaa Use cabal new-build on AppVeyor 2017-10-06 14:19:01 -07:00
Aaron Tomb
39766c1b2e Use cabal new-build on Travis 2017-10-06 14:17:35 -07:00
Iavor Diatchki
b5ef48dcd7 Fix-up the benchmarking code. 2017-10-06 11:55:48 -07:00
Brian Huffman
109255e28f Update generated pdfs. 2017-10-05 15:14:49 -07:00
Brian Huffman
fd0fc99418 Update some Integer-related stuff in the reference interpreter. 2017-10-05 15:13:37 -07:00
Brian Huffman
e84dcc5126 Document logical connectives (==>, /\, \/) in Programming Cryptol book. 2017-10-05 14:17:51 -07:00
Brian Huffman
fd9e003cd3 More documentation for REPL commands :browse and :help. 2017-10-05 13:51:50 -07:00
Brian Huffman
59a34a4624 Update table of Cryptol primitives with new type constraints. 2017-10-05 11:29:21 -07:00
Brian Huffman
11067f8220 Document new type classes Zero, Logic, and SignedCmp. Fixes #451. 2017-10-05 11:15:49 -07:00
Brian Huffman
361be3827e Fix incorrect spacing after abbreviation "vs." 2017-10-05 11:08:34 -07:00
Brian Huffman
6d484c854d Fix inaccurate statements about Cmp class. 2017-10-05 10:38:37 -07:00
Brian Huffman
1909e9ca51 In Programming Cryptol table of contents, make entire lines clickable links. 2017-10-05 10:24:23 -07:00
Brian Huffman
ffe113669e Document the REPL let-definition feature. Fixes #359. 2017-10-05 10:23:34 -07:00
Brian Huffman
7b0b8836c0 Fix outdated reference to inf a constraint in docs. 2017-10-05 10:20:57 -07:00
Brian Huffman
0478ec434c Uniformly place footnotes after punctuation. 2017-10-05 09:25:44 -07:00
Brian Huffman
4b386477ec Avoid creating a new option when :set is used with a prefix of a name.
Fixes #450.
2017-10-04 21:22:59 -07:00
Brian Huffman
a9de74ed5d Implement module-name completion and validation for :browse.
Fixes #396.
2017-10-04 19:17:42 -07:00
Iavor Diatchki
1f2cacbae5 Merge branch 'master' of github.com:GaloisInc/cryptol 2017-10-04 15:50:41 -07:00
Iavor Diatchki
5208739653 Don't print directly to stdout. Fixes #166 2017-10-04 15:50:31 -07:00
Brian Huffman
d025108bd2 Make :browse filter declarations by module name instead of value name.
See #396.
2017-10-04 15:45:25 -07:00
Brian Huffman
2b568897da Remove implicit Bit type signature on rhs of property declarations.
Fixes #224.

It might be desirable to add some other check for `property` declarations
to make sure that their types are predicates of some arity.
2017-10-04 15:26:17 -07:00
Brian Huffman
3a154f948a Add regression test for issue #463. 2017-10-04 13:47:24 -07:00
Brian Huffman
c7380d35d4 Fix symbolic indexing function indexFront to avoid indexing past the end.
Previously it would create a lookup table with 2^w entries, where w is
the bit-width of the index. Now the lookup table has min(2^w, n) entries,
where n is the length of the indexed vector.

Fixes #463.
2017-10-04 13:46:58 -07:00
Brian Huffman
a5a7a393be Add definitions of SHAKE128 and SHAKE256 to keccak.cry 2017-10-04 10:39:10 -07:00
Iavor Diatchki
f74ad3c29d Fix haddock comment, should restore build process. 2017-10-04 10:09:01 -07:00
brianhuffman
73de3f787f Merge pull request #453 from GaloisInc/blocks-padding
Implement `blocks` and `padding` operators for numeric types.
2017-10-04 07:11:19 -07:00
Brian Huffman
9773782ba4 Tweak correctness property to match keccak documentation. 2017-10-04 07:02:55 -07:00
Brian Huffman
16e949b0d7 Fix bugs/warnings in keccak.cry, and add test vectors and other properties.
The switch to Cryptol 2 introduced some endianness bugs.
Also, the original version omitted the 0b01 "suffix" that is
specified by SHA3.
2017-10-03 18:06:52 -07:00
Rob Dockins
2df09a428a Change how test coverage statistics are computed.
This formulation accounts for the fact that test vectors
are chosen randomly with replacement.

Fixes #461
2017-10-03 17:37:48 -07:00
robdockins
fc4fe4dc1e Merge pull request #309 from clinty/cast5
CAST5 example
2017-10-03 15:27:30 -07:00
Iavor Diatchki
dac4c2e5a3 Merge branch 'master' of github.com:GaloisInc/cryptol 2017-10-03 14:04:36 -07:00
Iavor Diatchki
866a1142da Try out a new logo. Stuff that matters :-) 2017-10-03 14:04:29 -07:00
Brian Huffman
7802747a1e Simplify keccak.cry using new type operators for padding. 2017-10-03 13:57:16 -07:00
Brian Huffman
3b03545552 Merge branch 'master' into blocks-padding 2017-10-03 13:44:32 -07:00
Brian Huffman
96bff5c4a8 Update keccak.cry example to work with Cryptol 2.x
Fixes #458.
2017-10-03 13:41:07 -07:00
Iavor S. Diatchki
cad6e1fe77 Merge pull request #459 from GaloisInc/rwd/linear-unifier
Add a rule to the numeric solver for "linear unifiers"
2017-10-03 13:17:15 -07:00
Rob Dockins
9785ed1e32 Add a rule to the numeric solver for "linear unifiers"
Check for situations where a unification variable is involved in
a sum of terms not containing additional unification variables,
and replace it with a solution and an inequality.
`s1 = ?a + s2 ~~> (?a = s1 - s2, s1 >= s2)`

Fixes #212
2017-10-03 12:49:17 -07:00
Brian Huffman
b107e606a2 Update example cryptol code to use infix syntax. 2017-10-03 12:31:37 -07:00
Rob Dockins
b1c6ae22c7 Add MD5 example 2017-10-03 11:27:15 -07:00
Rob Dockins
f1161dd282 Add a Karatsuba multiplier to the examples 2017-10-03 11:27:15 -07:00
Iavor Diatchki
a9edd7a389 Merge branch 'master' of github.com:GaloisInc/cryptol 2017-10-03 10:53:45 -07:00
Iavor Diatchki
234615e7b2 Add some comments 2017-10-03 10:53:40 -07:00
Rob Dockins
f02a3c783b Bump simple-smt version bounds to pull in a bug fix.
Fixes #457
2017-10-03 10:20:15 -07:00
Rob Dockins
d32f3324c9 Update syntax reference with new fixity information for (||) and (&&) 2017-10-02 18:17:38 -07:00
Rob Dockins
e7d3ed02f9 Add testcase for issue #389.
Recent improvements to the numeric solver have fixed this issue.

Fixes #389.
2017-10-02 18:15:02 -07:00
Rob Dockins
42064dd9f2 Add testcase for issue #325. 2017-10-02 17:49:12 -07:00
Rob Dockins
37f9dc4c4f Add test for issue #78.
Fixes #78.
2017-10-02 15:48:51 -07:00
Iavor Diatchki
a233084db8 Merge branch 'master' of github.com:GaloisInc/cryptol 2017-10-02 15:47:23 -07:00
Rob Dockins
d5bfb1b648 Minor update to test suite 2017-10-02 15:40:46 -07:00
Rob Dockins
c0699e2d62 Change the fixity levels of (||) and (&&).
This advances the next step in the plan described in issue #241.
2017-10-02 14:56:33 -07:00