Brian Huffman
e3ea9335c8
Put correct VWord width tag on result of symbolic index operation.
...
Fixes #474 .
Previously, applying (@) at type `[a][b] -> [i] -> [b]` would tag the
result value as having width `a` instead of width `b`. This is now fixed.
2017-10-20 11:09:32 -07:00
Iavor Diatchki
942173b7f9
Add comments and fixes #473
2017-10-16 14:09:52 -07:00
Iavor Diatchki
a85ff3a54b
Add comments
2017-10-16 14:05:46 -07:00
Iavor Diatchki
6ba8849216
Just reformat
2017-10-16 14:05:31 -07:00
Iavor Diatchki
043334f8f9
Name is cryptol
nowadays
2017-10-16 14:05:17 -07:00
Iavor Diatchki
ec456b9447
Fix typo
2017-10-16 14:05:01 -07:00
Iavor Diatchki
51808bbf23
More comments
2017-10-06 16:24:10 -07:00
Iavor Diatchki
f71b951108
Some documentation.
2017-10-06 15:57:45 -07:00
Aaron Tomb
ef09fde6e5
Fix Travis for real now
2017-10-06 14:44:11 -07:00
Aaron Tomb
3134acbb7d
Better section names for Travis
2017-10-06 14:35:58 -07:00
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