Adam C. Foltzer
4e6dcaa026
add NFData instances for many cryptol types
...
add more benchmarks as well
2015-08-12 14:29:30 -07:00
Adam C. Foltzer
e9c85a3925
add a hex version of Big Sequence
2015-08-10 16:53:08 -07:00
Adam C. Foltzer
d3d6ae154a
add typechecking and large sequence benchmarks
2015-08-10 13:52:01 -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
Adam C. Foltzer
2bb86303bb
add proper MonadIO instance for REPL
2015-07-01 12:37:51 -04:00
Adam C. Foltzer
f22cbdc4eb
more exports
2015-07-01 12:37:51 -04:00
Adam C. Foltzer
53201d7ac3
additional exports for cryptol-server
2015-07-01 12:37:51 -04:00
Adam C. Foltzer
494bf6d92e
tweak patch in 170e5953
to work for 7.8; add test
2015-07-01 12:31:37 -04:00
Trevor Elliott
170e59530b
Resolve includes relative to the file that includes them
...
Fixes #202
2015-06-30 10:54:18 -07:00
Trevor Elliott
034f7d12dd
Fix a potential problem with infixr type operators
2015-06-30 10:31:13 -07:00
Trevor Elliott
3117d07a79
Observe parens when resolving type operators
...
Fixes #254
2015-06-30 10:19:45 -07:00
Trevor Elliott
fafaf4ca26
Fix right-associative nesting for expressions
2015-06-29 16:54:58 -07:00
Trevor Elliott
4d469fa2ce
Update test output
2015-06-29 16:34:11 -07:00
Trevor Elliott
398f5d7196
Fix fixity resolution
...
Resolve fixity bottom-up, to allow low-precedence operators the chance to bubble
all the way out.
2015-06-29 16:00:36 -07:00
Brian Huffman
458c547d5b
ListSel on VWord in symbolic backend uses correct endian-ness.
...
Fixes #251 .
2015-06-26 14:09:29 -07:00
Aaron Tomb
55154aff2b
Allow use of Cabal 1.18 during build
...
This eases the build using Stack and GHC 7.8, since GHC 7.8 comes with
Cabal 1.18.
2015-06-26 13:45:26 -07:00
Iavor S. Diatchki
c791669c76
Fix typo
2015-06-25 10:59:30 -07:00
Iavor S. Diatchki
8fe9bcba08
Correct the rule for equality with constant on division
2015-06-24 14:33:01 -07:00
Iavor S. Diatchki
e7728c2b22
Add a case for Not
. Fixes #249 .
...
This may happen when we check enumerations, because we emit constraints
such as `x /= y`, which ends up looking like `Not (x == y)`.
2015-06-24 11:34:20 -07:00
Iavor S. Diatchki
91ebb1ca2b
Make fin
decisions first.
2015-06-24 11:19:52 -07:00
Iavor S. Diatchki
c4c587d14b
Add missing case for max
.
...
Apparently this got lost at some point!
2015-06-22 15:00:14 -07:00
Iavor S. Diatchki
6785d7078c
Print some information, even if there is no doc comment
2015-06-22 11:23:40 -07:00
Iavor S. Diatchki
74714f3071
Fixup/changes to parsing comments
...
This addresses some issues where things like /**** were parsed as an
operator, leading to parse errors with some comments. The intended
behavior is as follows:
1. /* with no more stars starts a normal block comment
2. /**+ (i.e., 2 or more starts) starts a document comment
3. *+/ (i.e., any number of stars, follwed by /) ends any comment
4. /*+/ is a block coment (e.g., /*******/) is a block comment
2015-06-22 11:23:22 -07:00
Iavor S. Diatchki
8429d294e6
Add a test for multi-if
2015-06-22 09:25:45 -07:00
Iavor S. Diatchki
8e1f8f5b68
Merge branch 'master' of github.com:GaloisInc/cryptol
2015-06-22 09:20:16 -07:00
Iavor S. Diatchki
6ddec6d128
Reverse alternatives in multi-way if
.
...
Fixes #245
2015-06-22 09:20:08 -07:00
Trevor Elliott
5ff6005bed
Allow operators to use '\'
...
Fix #246
2015-06-21 01:53:52 +01:00