Commit Graph

1553 Commits

Author SHA1 Message Date
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
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
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
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
Brian Huffman
bc5fe0e4c9 Add combinators tIsRec and aRec for matching record types (TRec). 2017-10-27 10:54:32 -07:00
Iavor Diatchki
35a3843685 Remember the path when editing. 2017-10-27 10:21:50 -07:00
Iavor S. Diatchki
2faa44e17b Add some documentation for the module system. 2017-10-26 16:34:08 -07:00
Iavor S. Diatchki
65ebbb5956 Extend core linter with support for parameterized modules. 2017-10-26 14:20:29 -07:00
Iavor S. Diatchki
26240742a4 Pretty print when panicing, makes it easier to see 2017-10-26 11:50:48 -07:00
Iavor S. Diatchki
8627945ade Fix up transformation 2017-10-26 11:50:36 -07:00
Iavor Diatchki
1f86f4c3b3 Some examples. 2017-10-25 17:00:23 -07:00
Iavor Diatchki
b87f387d38 Add param in the correct place, but there's still something wrong. 2017-10-25 17:00:11 -07:00
Iavor Diatchki
3f4cc570cf Use a record for all module parameters at the value level. Also improve PP 2017-10-25 16:39:29 -07:00
Aaron Tomb
28cf68d24d Run brew update on Travis for macOS 2017-10-25 12:46:44 -07:00
Iavor Diatchki
ee7506b32a Only drop common stars or space at the beginning of a comment. 2017-10-25 11:28:30 -07:00
Iavor Diatchki
5c51d32a4e Fix up html syntax highlighting. 2017-10-25 11:12:37 -07:00