Trevor Elliott
88e5965e7f
Parameterize parsed AST on names
2015-09-17 17:30:39 -07:00
Trevor Elliott
98c49b875c
Slight speedup in name comparison
2015-09-14 21:50:26 -07:00
Adam C. Foltzer
28461e7b72
update attribution on SHA512
2015-09-14 17:18:47 -07:00
Thomas M. DuBuisson
7643a17182
Fix #272 Don't full blocks in ChaChaPoly8675309
2015-08-28 15:22:03 -07:00
Brian Huffman
72d8794b9d
Change where integer masking is applied in the interpreter
...
In the Value datatype, we now maintain an invariant for
all packed bitvectors: The value must be within the range
0..2^width-1. Values are normalized when constructed, not
when they are scrutinized.
2015-08-28 13:47:17 -07:00
Aaron Tomb
44f8bcd310
Fix comment in Keccak example
...
Note: this is actually Cryptol 1 code. We should port it. I've started
the process, but don't have a complete port yet.
2015-08-28 09:49:29 -07:00
Adam C. Foltzer
9b6cde1f8d
reexport version number
2015-08-26 11:34:16 -07:00
Trevor Elliott
ec4fb4ab54
Fix #271
...
The renamer wasn't expecting to see anything but (==), (>=), or (<=) show up in
a case where that wasn't a valid assumption.
2015-08-25 10:50:35 -07:00
Brian Huffman
792f8e433f
Allow "-" in infix operator names
2015-08-21 11:00:46 -07:00
Adam C. Foltzer
50ca428018
add regression in #269 to benchmark suite
2015-08-20 15:49:06 -07:00
Adam C. Foltzer
3825ce84c8
update to use Text in Ident
2015-08-19 14:42:40 -07:00
Trevor Elliott
5cf2b9e47e
Warning removal
2015-08-14 17:43:02 -07:00
Trevor Elliott
9092492d6a
Improvement improvements
...
Integrate interval analysis into improvements to simplify fin constraints, and
rewriting of equality constraints.
2015-08-14 17:38:50 -07:00
Trevor Elliott
d71fd8a3ee
Issue #148 is fixed now
2015-08-14 17:38:50 -07:00
Adam C. Foltzer
dce6f994e8
Merge branch 'master' into feature/benchmarks
2015-08-14 16:23:10 -07:00
Adam C. Foltzer
ab9ccb50d7
make NFData deriving 7.8-compatible
2015-08-14 14:42:38 -07:00
Trevor Elliott
a4c3892002
Finish a comment
2015-08-13 23:08:00 -07:00
Trevor Elliott
0d4a5bf5d3
Warning removal
2015-08-13 22:50:23 -07:00
Trevor Elliott
6784125cfa
Add an intersection function for intervals
2015-08-13 22:49:54 -07:00
Iavor S. Diatchki
ad6f0fb8aa
Solving fin constraints direclty.
2015-08-13 16:38:48 -07:00
Iavor S. Diatchki
b6fa8d9473
Bufixes, and pass in info argument.
2015-08-13 16:38:34 -07:00
Trevor Elliott
f54a3b13ca
Remove debugging output
2015-08-13 14:44:29 -07:00
Trevor Elliott
82f8bbbe0d
Conservative use of fin constraints
2015-08-13 14:43:18 -07:00
Trevor Elliott
a21a646af2
Enable OverloadedStrings to fix a build error
2015-08-13 14:42:10 -07:00
Trevor Elliott
9fa56160f8
Only add subtraction in special cases during goal rewriting
...
It's only OK to subtract something if you know that it's finite. This change
adds a fairly conservative check when rewriting `a + b = r` to `a = r - b` that
`b` be finite.
2015-08-13 11:15:12 -07:00
Brian Huffman
dadc5e1781
Switch Name type to use Data.Text instead of String
...
This gives a few percent speedup in the interpreter.
2015-08-12 17:58:57 -07:00
Brian Huffman
4976a8db3e
Use abstract interface to module Cryptol.ModuleSystem.Name
...
This makes it possible to change the representation of
the Name type without breaking lots of other code.
2015-08-12 17:40:06 -07:00
Iavor S. Diatchki
c9e4fab6a8
Fix up tests.
2015-08-12 15:52:18 -07:00
Adam C. Foltzer
ef2fd808ee
add junit-style output for make bench
target
2015-08-12 15:47:50 -07:00
Iavor S. Diatchki
1d69f4b67d
Merge remote-tracking branch 'origin/wip/goal-rewriting'
...
Conflicts:
src/Cryptol/TypeCheck/Solve.hs
2015-08-12 15:42:03 -07:00
Iavor S. Diatchki
44ef6930d7
Merge branch 'master' of github.com:GaloisInc/cryptol
2015-08-12 15:02:34 -07:00
Iavor S. Diatchki
31dd1125ec
Definitions of semantics for partial predicates.
2015-08-12 15:02:22 -07:00
Iavor S. Diatchki
c363d92c44
Clean up simplification of individual constraints, somewhat.
2015-08-12 15:01:51 -07:00
Adam C. Foltzer
32e55cc11f
add benchmark sources
2015-08-12 14:41:44 -07:00
Adam C. Foltzer
4e6dcaa026
add NFData instances for many cryptol types
...
add more benchmarks as well
2015-08-12 14:29:30 -07:00
Trevor Elliott
c10a92be84
First pass at goal rewriting
...
Attempt to normalize equality constraints involving a single unification
variable into a form where that variable is alone on one side of the equation.
Applying this normalization before attempting to simplify goals seems to clean
up some cases that the solver wasn't able to deal with.
2015-08-11 23:35:19 -07:00
Trevor Elliott
579b129c2f
Only import Traversable in < ghc 7.10
2015-08-11 17:16:57 -07:00
Trevor Elliott
77c69efe8d
Add the CPP pragma
2015-08-11 17:11:11 -07:00
Iavor S. Diatchki
306713a824
Checkpoint
2015-08-11 09:22:28 -07:00
Iavor S. Diatchki
d86c288928
More logging
2015-08-11 09:22:09 -07:00
Iavor S. Diatchki
09847cab01
Rewrite div equalities as multiplication
2015-08-11 09:21:38 -07:00
Adam C. Foltzer
e9c85a3925
add a hex version of Big Sequence
2015-08-10 16:53:08 -07:00
Trevor Elliott
4874ad0d6e
Make fewer calls to addToComment
2015-08-10 15:04:15 -07:00
Adam C. Foltzer
d3d6ae154a
add typechecking and large sequence benchmarks
2015-08-10 13:52:01 -07:00
Brian Huffman
c9a57766be
Use custom applicative functor to speed up interpreter on list comprehensions
2015-08-10 12:19:09 -07:00
Adam C. Foltzer
b6d6691ab0
start benchmarking suite with a Prelude parse test
2015-08-10 11:24:36 -07:00
Brian Huffman
e5e190a138
Fix typos in comments
2015-08-10 09:22:03 -07:00
Brian Huffman
97a3983077
Optimize evaluation of list comprehensions in Cryptol interpreter
...
To avoid doing so many map unions, the evaluation function for list
comprehensions now produces a map containing lists of values instead
of a list of maps.
2015-08-07 17:51:25 -07:00
Brian Huffman
59df701c57
Optimize append operator (#) on bitvectors.
...
The interpreter no longer converts bitvectors to lists of bits before
appending them together.
2015-08-07 13:44:30 -07:00
Trevor Elliott
24cb45c4ea
Merge pull request #266 from msaaltink/issue-258
...
Fix for issue #258 (incude of literate file fails)
2015-08-05 18:35:06 -07:00