Commit Graph

1815 Commits

Author SHA1 Message Date
Iavor Diatchki
9c06f07223 Move errors to their own module. 2017-12-21 13:59:53 -08:00
Iavor Diatchki
8bf780b969 Print even when malformed. Useful for printing before renamer. 2017-12-21 13:32:17 -08:00
Iavor Diatchki
89d453a6fa Print location under, as it was before. 2017-12-21 10:21:53 -08:00
Iavor Diatchki
c093d05659 Don't print file locations twice. 2017-12-21 10:19:04 -08:00
Iavor Diatchki
01b72ce0f9 When a test fails, print a suggestion how to make the output gold. 2017-12-21 10:14:44 -08:00
Iavor Diatchki
32fb511ced Add location more generally. 2017-12-15 14:12:38 -08:00
Iavor Diatchki
7db18e817c Improve error message for ambiguous types. 2017-12-15 14:05:15 -08:00
Iavor Diatchki
2272a59314 Rename type synonyms properly. 2017-12-01 10:29:42 -08:00
Iavor Diatchki
3443331f06 Add a test 2017-12-01 09:51:43 -08:00
Iavor Diatchki
5cd90d0045 Fix up scoping when instantiating modules. 2017-12-01 09:51:28 -08:00
Iavor Diatchki
173ca8702f Parametrize polyval by a starting value.
This makes it easier to continue hashing:

polyvalFrom H (xs # ys) start = polyvalFrom H ys (polyvalFrom H xs start)
2017-11-28 16:10:48 -08:00
Iavor Diatchki
f658f0244d Add another test. 2017-11-28 14:26:12 -08:00
Iavor Diatchki
c0b4ddd608 Keep track of the order in which type parameters are declared in the file. 2017-11-28 14:07:14 -08:00
Iavor Diatchki
07029f95c3 Factor out the counter modding part.
This is convenient in a proof I am working on.
2017-11-28 11:37:10 -08:00
Iavor Diatchki
93c56ea428 Add support for working directly with key schedules.
This is useful for code that uses the same key multiple times.
2017-11-28 11:10:34 -08:00
Iavor Diatchki
9de90e5752 Slightly better parser messages. 2017-11-15 15:36:45 -08:00
Brian Huffman
951eebb8e2 Add more documentation of Cryptol prelude primitives. 2017-11-15 11:37:06 -08:00
Brian Huffman
79fbb61aa7 Require doc-strings to start with "/**" with exactly 2 asterisks.
Things like "/******* WARNING ********/" are now parsed as ordinary
comments. See #438.
2017-11-15 11:36:25 -08:00
Brian Huffman
511e97767f Disallow spaces inside qualified names (e.g. Foo::x). Fixes #381. 2017-11-15 10:52:36 -08:00
Iavor Diatchki
2b396f0d66 Buble up Error in the first argument of Literal 2017-11-14 17:14:42 -08:00
Iavor Diatchki
d517193296 Default types of kind * to Integer. 2017-11-14 17:14:24 -08:00
Iavor Diatchki
8700ad6832 Run warning check whenever we do some renaming, instead of just in the module.
Hopefully this fixes #483 properly this time.
2017-11-14 16:11:00 -08:00
Iavor Diatchki
5ccb0bb4ad Warn for unused type names.
Fixes #483.
2017-11-14 15:57:15 -08:00
Brian Huffman
00d07cfbb9 Fix implementation of demote primitive in reference interpreter. 2017-11-10 08:35:19 -08:00
Brian Huffman
231c5713c4 Adapt internal uses of demote primitive to its new type 2017-11-10 08:34:58 -08:00
Iavor S. Diatchki
5421340d26 Move parameterized module to the Common sub-directory 2017-11-09 10:30:07 -08:00
Iavor Diatchki
5dcaf27dbc Implement AES_GCM_SIV mode 2017-11-08 15:51:20 -08:00
Iavor Diatchki
1f82b8f7df Rename 'Flavor' to 'Mode' 2017-11-08 15:51:08 -08:00
Iavor Diatchki
4b6013e68e Remove empty record parameters. 2017-11-08 15:50:58 -08:00
Brian Huffman
5eb67c0513 Introduce class Literal and generalize primitive demote to use it.
demote : {val, a} Literal val a => a

instance (fin val) => Literal val Integer
instance (fin val, fin bits, bits >= width val) => Literal val [bits]
2017-11-08 15:23:08 -08:00
Iavor Diatchki
c4b156e499 Don't add an empty record, if the module has not value parameters.
Fixes #484
2017-11-08 14:19:40 -08:00
Iavor Diatchki
a8d5c5c602 Add some better cancellation of common constants. 2017-11-08 14:13:49 -08:00
Iavor Diatchki
7e964aa1cd Add a simplification rule for subtraction. 2017-11-07 15:51:05 -08:00
Iavor Diatchki
e1b9e0b5bf Merge branch 'master' of github.com:GaloisInc/cryptol 2017-11-07 13:59:28 -08:00
Iavor Diatchki
31c680d49d AES and GCM using parameterized modules. 2017-11-07 13:59:22 -08:00
Iavor Diatchki
0adcddb792 Remember edit path. 2017-11-07 11:27:50 -08:00
Iavor Diatchki
f71ba16345 Fix order of type applications. 2017-11-07 11:27:37 -08:00
Brian Huffman
30b7d2918a Implement signed operators (/$) and (%$) in reference interpreter.
This partially addresses ticket #469.
2017-11-06 16:55:32 -08:00
Brian Huffman
8f94daf783 Catch calls to error coming from SBV library. Fixes #479. 2017-11-06 14:10:01 -08:00
Aaron Tomb
8c6af8632b Fix order of counter in Salsa20 example 2017-11-03 07:24:30 -07:00
Brian Huffman
c587d3fcb4 Allow underscores in numeric literals. Implements #477.
The implementation allows any number of underscores between
digits, or between the base specifier and digits. Underscores
are not allowed at the beginning or end of a numeric literal.

0x1234_5678  (OK)
0b_0110_1001 (OK)
0xff______ff (OK)
5_000_000    (OK)
2_________3  (OK)
0_x1234      (BAD)
_0xff        (BAD)
52_          (BAD)
_5           (BAD)
2017-11-02 17:00:46 -07:00
Iavor Diatchki
d6d8ab1d35 Try to shrink the model, when defaulting at the REPL. Fixes #476 2017-10-30 17:26:18 -07:00
Iavor Diatchki
d7d1f21434 Cancel out finite positive variables. 2017-10-30 14:25:15 -07:00
Iavor Diatchki
c5e0540a0f Fix test. 2017-10-30 14:24:47 -07:00
Iavor Diatchki
2bf932045d Fix benchmarking code 2017-10-30 13:20:50 -07:00
Iavor Diatchki
07eac47989 Merge remote-tracking branch 'origin/abstract-types' 2017-10-27 15:12:22 -07:00
Iavor Diatchki
3f8a8b8874 Add forgotten file 2017-10-27 15:07:15 -07:00
Iavor Diatchki
ee1871dc4c Add an example of module instantiation. 2017-10-27 15:07:04 -07:00
Iavor Diatchki
2d3e146766 Allow evaluation in parameterized module, as long as parameters are not used. 2017-10-27 14:59:32 -07:00
Iavor Diatchki
4cf83a3c3d Keep track of the file that cause an error.
Also, now we automatically switch to working on this file, which
is sometimes nice, and sometimes confusing...
2017-10-27 11:02:08 -07:00