Trevor Elliott
cf979723b7
Fixes #322
...
Just needed to recurse through the parens and infix cases in `appTys`.
2016-04-07 21:26:21 -07:00
Brian Huffman
b77dd2a82a
:prove checks properties in the order they appear in the source.
...
Also add a regression test. Fixes #171 .
2016-03-10 11:36:41 -05:00
Thomas M. DuBuisson
10acbdbfb8
Add comment in README explaining how to run tests.
2016-03-04 09:05:47 -08:00
Thomas M. DuBuisson
b40c1ce25d
Add known failure for issue 314.
2016-03-04 09:05:23 -08:00
Thomas M. DuBuisson
edb9373c4e
Add test case for issue #314
2016-03-04 08:58:50 -08:00
Brian Huffman
1953223e9f
Add test case for issue #312 .
2016-02-19 11:53:33 -08:00
Brian Huffman
1322156d28
Remove trailing whitespace
2016-02-19 10:08:20 -08:00
Brian Huffman
6def46da69
Add (failing) test for issue #2 .
2016-02-12 14:46:06 -08:00
Iavor S. Diatchki
f7823544cf
Add a test for ticket #308
2016-02-09 11:56:44 -08:00
Brian Huffman
ab4f113084
Add regression test for issue #256 .
2016-02-08 15:09:34 -08:00
Brian Huffman
9538c59d23
Fix shift/rotate by amounts greater than 2^63 in evaluator
...
Also added regression tests. This should fix issue #306 .
2016-01-27 10:37:55 -08:00
Adam C. Foltzer
4d3fc9a413
Update copyright dates and add missing headers
2016-01-19 18:19:35 -08:00
Adam C. Foltzer
4029b6c15c
add a test for #126
2016-01-19 18:18:03 -08:00
Adam C. Foltzer
07da2018b7
switch to more portable seeding for random
...
The `random` primitive previously took a `[32]` seed, but this causes
inconsistency between 32-bit and 64-bit platforms when the seed is large
enough to wrap around in GHC's representation of an `Int`. This patch
switches to an API that seeds directly with four 64-bit words, and so
should behave the same way on our supported platforms.
2016-01-19 18:17:34 -08:00
Adam C. Foltzer
ac85cec175
update test with counterexample that z3 produces
...
These sorts of tests are inherently unstable, but since Z3 seems to
agree across our platforms on this one, this should help make tests quieter.
2016-01-12 16:50:22 -08:00
Adam C. Foltzer
9e179d14bc
finally add Even-Mansour example; closes #124
2016-01-12 16:49:47 -08:00
Thomas M. DuBuisson
752310cd0d
Merge branch 'master' into writeFile
2015-12-25 21:39:01 -08:00
Adam C. Foltzer
9c07fe1006
merge in the 2.2.6 changes, including z3 switch
2015-12-23 16:10:56 -08:00
Adam C. Foltzer
3ae0dda7ac
switch to Z3 for typechecking and proving
...
Note: the hardcoding in this patch is only for the 2.2 hotfix branch; in
the 2.3 branch we will only have to change the default setting for the
typechecker.
2015-12-23 14:59:10 -08:00
Adam C. Foltzer
aeefab69a1
refactor :check and :exhaust
...
This is to set up improvements to the cryptol-server, and therefore
pycryptol interface.
This patch also fixes a regression in pretty-printing output caused by a
previous error in fixity of the `<>` operator
2015-12-22 18:17:20 -08:00
Thomas M. DuBuisson
3afdae127a
Add known failure notice for issue 212
2015-12-10 12:36:06 -08:00
Thomas M. DuBuisson
b355dedcf8
Test files for read/write bytearray command.
2015-11-15 10:42:04 -08:00
Trevor Elliott
39bac2034a
Merge remote-tracking branch 'origin/master' into wip/name-change
2015-10-16 13:23:29 -07:00
Adam C. Foltzer
ad3fdb4e14
use base-compat to remove much CPP
2015-10-08 16:54:08 -07:00
Trevor Elliott
cacc59529e
Update test output
2015-09-29 17:35:18 -07:00
Trevor Elliott
f8e6582230
Update tests and output
2015-09-28 21:26:26 -07:00
Trevor Elliott
60694f8456
Output format changed
2015-09-28 12:07:42 -07:00
Trevor Elliott
b4fbec108e
Update some test output
...
The core AST now always prints fully-qualified names.
2015-09-27 19:56:58 -05:00
Trevor Elliott
d71fd8a3ee
Issue #148 is fixed now
2015-08-14 17:38:50 -07:00
Iavor S. Diatchki
c9e4fab6a8
Fix up tests.
2015-08-12 15:52:18 -07:00
Daniel Wagner
a958ce3328
regression test for a specializer bug
2015-07-23 18:08:14 -07: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
4d469fa2ce
Update test output
2015-06-29 16:34:11 -07:00
Iavor S. Diatchki
8429d294e6
Add a test for multi-if
2015-06-22 09:25:45 -07:00
Trevor Elliott
5ff6005bed
Allow operators to use '\'
...
Fix #246
2015-06-21 01:53:52 +01:00
Trevor Elliott
47b3d59831
Add a test for doc strings
2015-06-10 21:45:31 -07:00
Trevor Elliott
c51a2815bb
Add a test for qualified infix operators
2015-06-10 20:59:29 -07:00
Trevor Elliott
9b7e46724c
Give 100 fixity levels, and fix prelude fixity again
...
Also fix issue198, which had been accidentally updated while failing
2015-06-10 11:55:54 -07:00
Trevor Elliott
fb98af636a
Slight test output change
2015-06-09 17:02:07 -07:00
Trevor Elliott
88e44a5937
Location information changed in test 101
2015-06-09 14:45:51 -07:00
Trevor Elliott
f06b4deaea
Update 226 output, as it uses :browse
2015-06-09 14:32:17 -07:00
Trevor Elliott
7e8940e9a8
Name changes in debug output
2015-06-09 14:27:43 -07:00
Trevor Elliott
6bdbe52673
Add another test for unary operators
2015-06-04 10:37:28 -07:00
Trevor Elliott
e8e5e30557
Fix parsing of unary operators
2015-06-03 17:50:22 -07:00
Trevor Elliott
e4258b4d2c
Add a regression test for xor precedence
2015-06-03 15:36:18 -07:00
Trevor Elliott
ae6b5dc3e8
Add support for user-defined infix operators
...
Squashed commit of the following:
commit 9f03b7cd1a1f169ea192d735890fd6a3503ecb39
Author: Trevor Elliott <trevor@galois.com>
Date: Wed Jun 3 11:40:27 2015 -0700
Add a test for user-defined infix operators
commit 31656a4640e8189b880fa1ce39779c07872ebe18
Author: Trevor Elliott <trevor@galois.com>
Date: Wed Jun 3 11:39:43 2015 -0700
Forgot to initialize some fields in the parser
commit 73bcb2e5961691f2258f5a7a12ee2dc92d1a1ad3
Author: Trevor Elliott <trevor@galois.com>
Date: Wed Jun 3 11:20:40 2015 -0700
Fix unnecessary panics in the renamer
commit 03cd8130901fb7aeb12d41cc03ce970ce6571423
Author: Trevor Elliott <trevor@galois.com>
Date: Mon Jun 1 01:29:36 2015 -0700
Remove a debug print
commit 2934a56b31d51ac971204d3fea9f62bf8829573d
Author: Trevor Elliott <trevor@galois.com>
Date: Mon Jun 1 01:26:32 2015 -0700
User-defined operators
commit 47f4b37fc75accaf0284addc2382c341167b8b6b
Author: Trevor Elliott <trevor@galois.com>
Date: Sun May 31 23:44:51 2015 -0700
Parse signatures for infix operators
commit a1a11705c2eec6e669159756de2eb2cb19bcfa83
Author: Trevor Elliott <trevor@galois.com>
Date: Sun May 31 23:28:56 2015 -0700
Plumb fixity information through
commit 56134ac0d9fb919f280dabfcdab6506195816340
Author: Trevor Elliott <trevor@galois.com>
Date: Sun May 31 22:03:55 2015 -0700
Parse fixity declarations
commit f2db0ad5d47d478799dabf03a6cad9be7aec2191
Author: Trevor Elliott <trevor@galois.com>
Date: Fri May 29 16:00:57 2015 -0700
Update test output for location changes
commit 15949018865d3ac8efca1a081334a7213c25775c
Merge: 1bd7f16 52f3a83
Author: Trevor Elliott <trevor@galois.com>
Date: Fri May 29 15:36:20 2015 -0700
Merge remote-tracking branch 'origin/master' into wip/infix-operators
commit 1bd7f1602bd6bbf5693871f01ca65a4cf3ed3bf8
Author: Trevor Elliott <trevor@galois.com>
Date: Fri May 29 15:30:14 2015 -0700
Forgot to consider EParens in translateExprToNumT
commit d63435270d5ca5bdf37584e4781a655a685c9c3b
Author: Trevor Elliott <trevor@galois.com>
Date: Fri May 29 15:29:47 2015 -0700
Add | to the operator character set
commit 7be23372c4625bf20b8f8ccf94a148563417f6cb
Author: Trevor Elliott <trevor@galois.com>
Date: Fri May 29 14:49:07 2015 -0700
Fix the printing of #Uniq variables
commit f9110e159aa0c3ae7450fe7a4db2a8d275d9bc1a
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 28 17:04:26 2015 -0700
Fix some failing tests
commit 0582fd08cc402c7bfd2de2c02df14fa77906e37e
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 28 16:12:18 2015 -0700
Remove more primitives from the parser
commit f5dafd1ea7954b64f7949c754e0c94abd2598679
Author: Trevor Elliott <trevor@galois.com>
Date: Wed May 27 18:02:52 2015 -0700
Do fixity resolution during renaming
2015-06-03 11:42:33 -07:00
Iavor S. Diatchki
52f3a836b4
Fix test output issues214.
...
We get one warning per enumeration which seems reasonable.
2015-05-27 15:35:24 -07:00
Iavor S. Diatchki
cd2f4bfc7a
Put cast under the quantifiers, fixes test05 in mono-binds
2015-05-27 15:32:17 -07:00
Trevor Elliott
c04446b53a
Adds more support for UTF-8 in identifiers
...
Also:
- Improves the `lexical error` message, changing it to `unrecognized
character`, and only displaying the one character that caused the
problem.
- Adds more relevant text when showing a lexical error, which should
address #219
- Switches parser to operate over lazy `Data.Text` rather than `String`
2015-05-26 14:29:36 -07:00
Trevor Elliott
5e92b00789
Fix #177
...
Add a name mapping environment to the pretty printer to control how qualified
names get printed.
2015-05-21 23:17:15 -07:00
Thomas M. DuBuisson
d553a33179
Fix #214 : Add the test that shows the success.
...
Notice the actual fix is in commit
342b1cf3ff
2015-05-11 10:25:22 -07:00
Thomas M. DuBuisson
7457f7d5aa
Example crash in HEAD (issue #214 )
...
This shows a type error in 2.2.3 but crashes HEAD.
2015-05-08 13:56:53 -07:00
Thomas M. DuBuisson
fd4ed49fe5
@yav Another TC example for #212
...
So I'm treating this issue as a running conversation centered around
this one topic, let me know if it gets old.
2015-05-07 23:24:41 -07:00
Thomas M. DuBuisson
94abebdf01
Example type constraint width issues
2015-05-07 09:31:10 -07:00
Brian Huffman
f95d3fadb6
Add regression test for issue #211 .
2015-05-05 11:49:12 -07:00
Adam C. Foltzer
8007f97205
prepare for 7.10
...
- Move the stackage file so it's not on by default (will test with it on
Jenkins instead of all the time)
- Use CPP to remove unnecessary import warnings in 7.10
2015-04-30 13:53:24 -07:00
Trevor Elliott
69c9465cab
Experiment with defaulting using the SMT solver
2015-04-03 15:12:36 -07:00
Trevor Elliott
3ca8746eb3
Allow expected failures to be ignored
2015-03-30 16:58:33 -07:00
Iavor S. Diatchki
b037c6a6ea
Merge remote-tracking branch 'origin/master' into wip/cs
...
Conflicts:
cryptol.cabal
2015-03-30 14:00:35 -07:00
Adam C. Foltzer
5768dac5c0
prepare for 7.10
...
- Move the stackage file so it's not on by default (will test with it on
Jenkins instead of all the time)
- Use CPP to remove unnecessary import warnings in 7.10
2015-03-30 13:07:37 -07:00
Iavor S. Diatchki
afd53bb6a1
Merge remote-tracking branch 'origin/master' into wip/cs
...
Conflicts:
cryptol.cabal
src/Cryptol/TypeCheck/Solve.hs
src/Cryptol/TypeCheck/Solver/CrySAT.hs
src/Cryptol/TypeCheck/Solver/Selector.hs
2015-03-30 11:29:20 -07:00
Adam C. Foltzer
0536d0f15a
update copyright years
2015-03-24 11:19:52 -07:00
Adam C. Foltzer
fe1a2403c9
handle EvalErrors more gracefully in :check
...
Fixes #114 (mostly; Ctrl-C still doesn't clean everything up, but fixing
that would require a whole lot of work).
2015-03-16 17:17:36 -07:00
Adam C. Foltzer
faab7b0b0a
tweak paths in test output for Windows
2015-03-06 12:03:21 -08:00
Iavor S. Diatchki
db0d036966
Correct the test to expose the proper bug.
2015-03-05 10:36:15 -08:00
Brian Huffman
cadfaced80
Update test for issue #177
...
The issue is not the set of names in scope, it is the type names
printed out by the :t command. It should use the same names that
are in scope in the module.
If the type of an expression contains a type synonym that is not
in scope at all, then I'm not sure what exactly it should do.
2015-03-04 11:22:37 -08:00
Brian Huffman
0eb57b9674
Add test for issue #177 .
2015-03-04 09:58:53 -08:00
Dylan McNamee
063fe14014
simpler r05
2015-03-03 15:10:45 -08:00
Dylan McNamee
68b7e61c6e
regression with new constraint solver
2015-03-03 14:20:19 -08:00
Dylan McNamee
0059791b15
hoping this simple padding example is solvable by the new constraint solver
2015-03-03 11:50:47 -08:00
Iavor S. Diatchki
15523027e9
Merge remote-tracking branch 'origin/master' into wip/cs
2015-02-27 11:01:32 -08:00
Adam C. Foltzer
8ea7ba0b75
make cryptol interpreter utf8 by default
...
Previously we were just using Prelude's `readFile`, which uses the
system default locale. This meant that people writing Cryptol in other
locales might produce source files that work fine for them but not
others. Now the interpreter sets the default locale to utf8 at startup.
Additionally, the code to catch exceptions from loading modules was too
lazy, allowing exceptions to bring down the whole process when the
module contents were forced outside of the `try`.
We also assumed that any IO exception was from files not being found;
there's now an "Other IO exception" possiblity. Incorrect locales will
trigger this alternative because the actual IOException raised isn't
specific to locale errors.
2015-02-26 17:35:41 -08:00
Iavor S. Diatchki
a42b3a7fc1
Switch to new defaulting code in type inference.
...
The changes in the tests are just to do with order of constraints.
2015-02-25 17:21:51 -08:00
Iavor S. Diatchki
089ddc688e
Port defaulting to new solver; hook it in with prove implication.
2015-02-25 16:52:24 -08:00
Iavor S. Diatchki
99c1dd66e1
Fix test (again)
2015-02-25 15:43:42 -08:00
Iavor S. Diatchki
d11cc88633
Merge remote-tracking branch 'origin/master' into wip/cs
2015-02-25 14:21:20 -08:00
Iavor S. Diatchki
55a3a56659
Merge branch 'master' of github.com:GaloisInc/cryptol
2015-02-25 14:19:35 -08:00
Iavor S. Diatchki
be546b4261
Modify testrunniner to figure out on its own if we have a dir or a test.
...
This means we don't need -d anymore, and now we can run individual tests
from the comman line.
2015-02-25 14:19:11 -08:00
Iavor S. Diatchki
688e5cfebf
Fix test.
2015-02-25 13:44:29 -08:00
bryant
e73c35bcf4
add empty module test
2015-02-24 18:00:59 -05:00
Adam C. Foltzer
0b500d79d9
move issue218 test to issue116
...
218 was an issue number on our old trac wiki; #116 (and #2 ) are the
corresponding tickets on GitHub. Pointed out by @weaversa in #170
2015-02-18 10:43:03 -08:00
Adam C. Foltzer
deb6f62d2c
update (failing) test case for 0-based tuple index
...
Between this and the fix for #117 , this fixes #170
2015-02-18 10:34:59 -08:00
Adam C. Foltzer
49030290e9
fix #93
...
Revised how we do output for `:sat` and `:prove` without arguments,
making it more clear what properties are being checked in each case.
Also reworded the output of `:check` slightly in the case where the
property has no inputs. It would be nice to make `:check` output more
consistent with the others.
2015-02-18 10:25:46 -08:00
Adam C. Foltzer
3d275ea44c
add load targets to search path
...
Fixes a bug pointed out by @weaversa:
https://github.com/GaloisInc/cryptol/issues/127#issuecomment-64464455
In addition to the other search path changes in #127 , we now will add
the directory containing files to be loaded to the search path. This
applies to:
- files loaded with a command line argument, like in the original
comment
- arguments to `:l`, so for example `:l examples/DES.cry` would work
- batch file arguments, so for example running `cryptol -b
/some/path/bar.cry` adds `/some/path` to the search path.
2015-02-17 15:27:59 -08:00
Adam C. Foltzer
64d3d1353f
add warnShadowing REPL option
...
Conflicts:
cryptol/REPL/Command.hs
2015-02-16 14:40:06 -08:00
Adam C. Foltzer
a5cf80c570
Merge @yuuko's allsat pull requests
...
Cryptol's invocation of proof tools has changed quite a bit since this
PR was first opened, so this took a fair amount of work to
integrate. However we now have the :satNum option, and multiple sat
results are correctly bound to `it`.
2015-01-18 16:13:56 -08:00
Brian Huffman
ae219c2e90
Fix definitions of sbvRotate{Left,Right} for large rotation amounts;
...
Also add regression tests for symbolic rotations.
Fixes #160 .
2015-01-16 11:06:12 -08:00
Brian Huffman
811dc0f816
Add regression test for issue #158 .
2015-01-15 16:24:21 -08:00
Trevor Elliott
ec368fe6af
Fix #16
...
Propagating type signatures down when they're given seems to fix this bug.
2014-12-30 10:49:01 -08:00
Trevor Elliott
41ca73ffaa
Update tests for changes to inference
...
The changes didn't alter the behavior of the typechecker, only the
warning/error output, and the order of some variables when generalizing.
2014-12-30 10:43:38 -08:00
Trevor Elliott
ca6cead8f0
Update the output for test 225
2014-12-18 17:28:34 -08:00
Trevor Elliott
b1d65e1655
Update issue225.icry
...
mono-binds is irrelevant to the bug now.
2014-12-16 17:59:07 -08:00
Trevor Elliott
1466d99e1b
This is fixed by mono-binds
2014-12-16 17:56:28 -08:00
Trevor Elliott
2401954532
The goals are equivalent
2014-12-16 17:56:07 -08:00
Adam C. Foltzer
284338c938
Add the mono-binds flag
...
When `:set mono-binds=on`, any local definitions lacking type
signatures will not be generalized (i.e., will be monomorphic). This
reduces what is in most cases unnecessary polymorphism that can give
rise to constraints that are difficult to solve. This also improves
the performance of the Cryptol interpreter by lifting many polymorphic
type applications out of the inner loops that are commonly defined as
bindings in `where` clauses.
The flag is on by default in the Cryptol REPL, and in most cases makes
it possible to leave out more type signatures in `where` clauses than
before. However, some programs really do rely on inferring polymorphic
types for local variables; in this case adding an explicit polymorphic
type signature to the local binding in question will make the program
typecheck.
2014-12-15 17:48:25 -08:00
Brian Huffman
b88e2d1a11
Add test cases for issue #58 .
2014-12-11 15:50:22 -08:00
Trevor Elliott
28fdd44100
Fix #140
...
The Smtlib solver was translating Fin constraints to True, as it didn't know
how to handle them. They should have been skipped, and returned back as
unsolved goals instead.
2014-12-11 15:12:14 -08:00
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