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
Mark Saaltink
cf0e58042c
Fix for issue-258 (incude of literate file fails)
2015-08-05 21:25:32 -04:00
Adam C. Foltzer
eac8c9a5f7
Merge pull request #263 from nbraud/master
...
README.md: Trivial fixes
2015-07-29 09:40:40 -07:00
Adam C. Foltzer
d2393de268
add server flag to deps install step
2015-07-28 13:30:20 -07:00
Nicolas Braud-Santoni
3f8cde4eae
README.md: Trivial fixes
2015-07-26 15:56:05 +02:00
Daniel Wagner
9d1e1a4c5e
instead of deleting bindings at the end of specializing a declaration group, restore them to their previous values
2015-07-23 18:12:00 -07:00
Daniel Wagner
a958ce3328
regression test for a specializer bug
2015-07-23 18:08:14 -07:00
Brian Huffman
75fe508370
More efficient implementation of symbolic indexing. Fixes #250 .
2015-07-22 11:14:14 -07:00
Adam C. Foltzer
7e674d0c07
Merge pull request #262 from ntc2/master
...
Only require cryptol-server's build depends when it's being built. Workaround for https://github.com/haskell/cabal/issues/1725
2015-07-22 10:58:26 -07:00
Nathan Collins
7c52103fab
Only require cryptol-server's build depends when it's being built.
...
By moving `build-depends` under the `if flag(server)` check. The diff
is a little hard to read, because I did not change the indentation of
the dependencies. Thanks @elliottt for the fix!
2015-07-22 09:22:15 -07:00
Adam C. Foltzer
0d61ed14c3
Merge branch 'feature/cryptol-server'
...
Brings the JSON over ZeroMQ server into the main line of development. It
is disabled by default, but there is now a `server` flag in
`cryptol.cabal` that in turn gets enabled if the `CRYPTOL_SERVER`
environment variable is nonempty during `make`.
2015-07-21 13:20:41 -07:00
Adam C. Foltzer
900e4acf8b
clean up cryptol-server for merging
2015-07-21 11:52:17 -07:00
Adam C. Foltzer
a6a62ea656
put counterexamples and sat assignments in replies
2015-07-13 16:02:38 -07:00
Adam C. Foltzer
96a2cf2e44
refactored sat/prove code for non-console clients
2015-07-10 18:19:53 -07:00
Adam C. Foltzer
ce5bbe9f8a
squish some warnings
2015-07-10 18:19:46 -07:00
Adam C. Foltzer
d7cf61f8e0
add pretty-printing to some server replies
2015-07-10 18:19:30 -07:00
Adam C. Foltzer
89b4567b93
add missing cryptol-server directory
2015-07-08 18:01:22 -07:00
Adam C. Foltzer
d5aff31d64
remove unnecessary import
2015-07-08 13:58:29 -07:00
Adam C. Foltzer
dbb41dd646
fold server into main Cryptol package
...
once merged, we'll disable the build by default so we don't incur the
zeromq dependency, but it would be nice to eventually make the server
the core of all our clients
2015-07-07 18:13:34 -07:00
Thomas M. DuBuisson
6a7477ba6c
Half-fix but not quite issue #256 (Bool ~> Bit).
...
We should probably discuss why we want to call things "Bool" if this was
more concious than incidental. That and change the documentation to
match.
2015-07-03 14:19:56 -07:00