Commit Graph

206 Commits

Author SHA1 Message Date
Adam C. Foltzer
9abc779340 update random values after changing random generation 2014-12-05 17:38:00 -08:00
Adam C. Foltzer
969c96e8e1 Don't do fancy progress bars for :check in batch mode 2014-12-05 17:18:29 -08:00
Trevor Elliott
465b0eb103 Add a stdout file for the failing test, issues/T146 2014-12-05 16:52:45 -08:00
Trevor Elliott
b3341c02c9 Allow make test to output the diff results 2014-12-05 16:49:58 -08:00
Trevor Elliott
c2821da104 Make the diff command line absolute 2014-12-05 16:27:08 -08:00
Trevor Elliott
ee3647b814 Update renamer errors to clarify some funny situations
This tries to address #125 by making the errors from the renamer a little bit
more clear.

Squashed commit of the following:

commit 8afd3d7961b58df042fe801c3c5e1b9787f813bc
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 19:33:59 2014 -0800

    Update tests for new renamer errors

commit 7cac01836d8943cf3b08d6715ac328e3b6658cef
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 19:33:49 2014 -0800

    Add `at` on errors and warnings to be more consistent

commit 308908ba318a4cdc839710f66f1a487543f8c07e
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 19:06:57 2014 -0800

    More consistent renamer warnings

commit be8100a78e9eaba6d554591121c24ed5dcd3c780
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 18:56:53 2014 -0800

    More consistent error formatting from the renamer

commit 26c45c3b51e0bdbcf6a1431cab8e1eb8760ea0bb
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 18:56:36 2014 -0800

    Remove an un-triggerable error

commit ccdb93e036ba1e111ccd977c8b3b35523f3c1bf0
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 16:38:44 2014 -0800

    Try to give better errors for unbound identifiers

commit eb5784145985bb55c761088eaba27c67d08c1326
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 16:38:23 2014 -0800

    Remove old TODOs about located errors

commit b984bb5f451f3aa7b4fc8f15167483c5142ee9a3
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 14:37:34 2014 -0800

    Differentiate missing type and expression symbols

commit b9e6f13856db6765dced3cb9565cdc8387a7976d
Author: Trevor Elliott <trevor@galois.com>
Date:   Wed Dec 3 14:36:52 2014 -0800

    Remove a shadowing warning
2014-12-03 19:36:06 -08:00
Iavor S. Diatchki
99c3547a08 Record the parameters of the current scheama into fresh variables generated during kind checking. 2014-12-02 15:50:40 -08:00
Iavor S. Diatchki
358d3fc554 Add an example where we can get capture when substituting. 2014-12-02 15:50:40 -08:00
Iavor S. Diatchki
f8c431aee2 Add applicative instances. 2014-12-02 15:50:40 -08:00
Brian Huffman
7420b27785 Add Parser AST constructor EInfFrom to represent [x...] and [x,y...]
As a result, parsed terms including [x...] or [x,y...] now pretty-print
back out using the same syntax.
2014-12-02 14:47:01 -08:00
Brian Huffman
ccfbd1f2de Fix symbolic simulator implementations of (!!) and (@@)
Now these operations correctly set the is-bit flag on
the VSeq constructor when the result type is a list of bits.

Fixes #148.
2014-12-02 14:07:23 -08:00
Brian Huffman
88983488fc Share more code between interpreter and symbolic simulator
Some interpreter/simulator operations are now overloaded using
a newly introduced 'BitWord' type class.
2014-11-13 13:17:31 -08:00
Brian Huffman
6368bcbe38 Make evaluation of lists of bits non-strict in the elements.
This means that e.g. [True, error "foo"]@0 evaluates to True,
similar to how [0x1, error "foo"]@0 evaluates to 0x1.
2014-11-12 13:27:49 -08:00
Brian Huffman
7e099a5236 Speed up implementation of 'width' function
Fixes #139.
2014-11-10 15:45:34 -08:00
Brian Huffman
7adf5b2f6c Speed up lexing of large integer literals
This partially addresses issue #139.
2014-11-10 14:56:29 -08:00
Brian Huffman
0352dca57a Add regression test for github issue #133.
Renamed old "issue133" to "trac133", indicating that it uses a different
numbering system.
2014-11-04 16:10:48 -08:00
Adam C. Foltzer
b05ddd5e54 Partially fixes #73
Due to the limitations of the GHC runtime, we can't get around the
possibility of out-of-memory errors, but we can prevent individual
bitvectors from being too large for the libgmp-backed bignums.

There is now an architecture-dependent check whenever creating a new
`BV` value in the concrete evaluator to ensure the width does not
exceed the GMP limits. If a width is too large, the evaluation returns
to the REPL much like diving by zero.
2014-11-04 14:18:42 -08:00
Adam C. Foltzer
761fb4076d add tests for #73 2014-11-04 14:08:23 -08:00
Adam C. Foltzer
794017ecf5 add guards for bit vector widths during concrete evaluation
Tested on my 64-bit machine; will run tests on Jenkins slaves
2014-11-04 12:11:24 -08:00
Brian Huffman
0a7b39f944 Add regression tests for issue #135. 2014-11-04 12:03:07 -08:00
Brian Huffman
80ec38fcf5 Merge changes from latest version of SBV
Includes changes after LeventErkok/sbv@55a9405954 (Aug 28)
and up to LeventErkok/sbv@67656c6aba (Nov 3)

Fixes #135.
2014-11-04 11:48:02 -08:00
Adam C. Foltzer
9ef8c54919 Working draft of "hacking" document
Merge branch 'feature/issue054'

Closes #54
2014-11-03 11:32:27 -08:00
Adam C. Foltzer
09395fffac add wip branch info to HACKING.md 2014-11-03 11:20:06 -08:00
Brian Huffman
14b9399e33 fix expected test output for issue #128. 2014-10-23 15:02:42 -07:00
Brian Huffman
5ec364680d Add regression test for issue #130. 2014-10-23 15:00:34 -07:00
Thomas M. DuBuisson
f16a297e90 wrt #132 update the expected output for the tests. 2014-10-23 14:28:01 -07:00
Brian Huffman
234aa3230c Add regression test for issue #128. 2014-10-23 14:20:04 -07:00
Brian Huffman
fde77d79f3 Make symbolic if-then-else operator lazier on infinite stream values
This addresses issue #128.
2014-10-23 14:00:09 -07:00
Thomas M. DuBuisson
eac4e18005 Fix #132 QED --> Q.E.D. 2014-10-23 09:59:12 -07:00
Brian Huffman
bb3ffde9ba Fix implementation of append in symbolic simulator
The case 'VWord # VStream' was previously missing from the definition.
This addresses issue #131.
2014-10-22 20:04:24 -07:00
Brian Huffman
337b7d3a38 Make symbolic simulator handle recursively-defined lists of bits
Previously it would try to convert the recursive value directly
into a VWord constructor, forcing all bits immediately and causing
non-termination. Now it produces a VSeq constructor instead.

This addresses issue #130.
2014-10-21 14:51:33 -07:00
Adam C. Foltzer
1cd5526bfe update WiX installer version
Moved from 3.7 to 3.8, and also changed the Program Files path as we're using a 64-bit machine now on the build farm.
2014-10-16 14:51:46 -07:00
Adam C. Foltzer
2c5689a00f Merge branch 'release/2.1.0' 2014-10-16 13:50:48 -07:00
Adam C. Foltzer
b394f1b5cd fix incorrect completion behavior with short : commands 2014-10-16 10:28:05 -07:00
Adam C. Foltzer
d5a021fd00 temporary fix for #113
This "fix" adds two locations to the search path for Cryptol modules so that we can find the prelude on both Windows and Unix platforms. This is not ideal and should be replaced in the next version, but should have no negative impact for now unless people have multiple Cryptol.cry files hanging out in their filesystems.
2014-10-14 15:12:38 -07:00
Dylan McNamee
675ca65c9a fixes to Salsa20 spec suggested by Sean (thanks!) 2014-10-10 12:37:10 -07:00
Brian Huffman
521204c57c After ':set prover = x', test whether prover 'x' is installed
If not, we print a warning message. This addresses issue #28.
2014-10-01 17:49:30 -07:00
Adam C. Foltzer
1e03b215e2 start of a minimal document for #54 2014-10-01 17:43:46 -07:00
Adam C. Foltzer
901e642085 Remove .fails file for #94 2014-10-01 14:32:20 -07:00
Adam C. Foltzer
95bb27ba49 resolve ambiguity when looking up short commands in trie
Previously, if one command was a prefix of another command, that would lead to an ambiguous lookup from the command trie. Now there are two ways to look up: one works like previously, which is good for tab-completion, and the other will only return one result if there is an exact match.

This means we can now have multiple forms of each command, so we can explicitly have short forms like :e -> :edit that won't be changed just based on what names we give to future commands.

This closes #90, and also #94 which was blocked on this due to :exhaust and :edit conflicting.
2014-10-01 14:29:57 -07:00
Iavor S. Diatchki
928f11c601 Change to refer to duplicate ticket. 2014-10-01 14:17:43 -07:00
Iavor S. Diatchki
65c9f1f2bf Add support for marking failing tests as known.
To mark a failing test as a known failure, you should add a file with
a name like this:

   TESTNAME.icry.fails

When the test runs, if it fails, then the contents of this file is displayed.
It is a probably a good idea for the contents to reference the ticket where
the failure was reported.

When the problem is fixed, the `.fails` should be removed.  Failing to do
so will result in test failure (i.e., a test that passes but has a `.fails`
file is considered an error).
2014-10-01 14:13:59 -07:00
Brian Huffman
840e99f563 Pass 'verbose' flag through to SBV for :prove and :sat
This addresses issue #17.
2014-09-26 11:56:32 -07:00
Adam C. Foltzer
e9642e5809 add test case for #103 2014-09-25 16:52:25 -07:00
Adam C. Foltzer
b452855d06 catch exceptions when evaluating random tests
This technically fixes #103, but not in a tremendously satisfying way. What we would like to do is clean up the progress bars for the :check, and report which input gave rise to the exception.
2014-09-25 16:49:16 -07:00
Adam C. Foltzer
b7c33c1e86 add reasonable profiling defaults for library and executable 2014-09-25 16:45:28 -07:00
Adam C. Foltzer
0b5ba9d6bf allow CABAL_FLAGS to be overridden in Makefile 2014-09-25 15:46:58 -07:00
Adam C. Foltzer
e1aa2e7062 fix how we find the directory of the Cryptol distribution
closes #113
2014-09-25 15:04:39 -07:00
Aaron Tomb
92e7f1b783 Add prover "any" yielding first available result
When the prover is set to "any", Cryptol now checks for all available,
supported provers, submits the problem to all of them in parallel, and
uses the result from whichever finishes first.
2014-09-25 10:46:04 -07:00
Dylan McNamee
fb93e5f4b3 fixes for tickets 22, 20, 107, 102, in preparation for merging 26 2014-09-23 13:32:09 -07:00