Commit Graph

810 Commits

Author SHA1 Message Date
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