Commit Graph

2089 Commits

Author SHA1 Message Date
Brian Huffman
69ebb77a56 Support indexing on the left-hand sides of declarations.
The declaration `xs @ i = e` is syntactic sugar for
`xs = generate (\i -> e)`.
2019-06-18 16:11:01 -07:00
Brian Huffman
0a1cea2912 Update test suite output to accommodate new prelude function. 2019-06-18 15:39:56 -07:00
Brian Huffman
2df66aa7c1 Add function generate to Cryptol prelude.
generate : {n, ix, a}
  (fin ix, n >= 1, ix >= width (n - 1)) => ([ix] -> a) -> [n]a
generate f = [ f i | i <- [0 .. n-1] ]
2019-06-18 15:39:13 -07:00
Iavor Diatchki
ec7c9a0f6e Don't generalize a rec. group, if any members are marked as monomorphic.
Fixes #607
2019-06-14 16:14:14 -07:00
Brian Huffman
155e5eaad5 Fix typo in error message. 2019-06-13 13:40:25 -07:00
Brian Huffman
018213dadf Print variable name in SignatureNoBind error message.
Fixes #608.
2019-06-13 11:24:48 -07:00
brianhuffman
ede8c3f647
Merge pull request #604 from GaloisInc/apats1
Remove redundant non-terminal from Cryptol grammar.
2019-06-07 09:56:25 -07:00
Brian Huffman
3549662a17 Remove redundant non-terminal from Cryptol grammar. 2019-06-06 17:55:03 -07:00
brianhuffman
019a79c0c3
Merge pull request #602 from GaloisInc/issue601
Update doc-strings for Cryptol prelude arithmetic operators.
2019-06-03 11:04:25 -07:00
Brian Huffman
97fadf2c58 Update doc-strings for Cryptol prelude arithmetic operators.
Fixes #601.
2019-05-30 18:48:03 -07:00
Iavor Diatchki
8d454113cd If a type does not have parameters, we do not need parens.
Fixes #600
2019-05-30 14:09:50 -07:00
Iavor Diatchki
d428f64bdc Add some examples about how to write Cryptol expressions. 2019-05-30 10:29:35 -07:00
Iavor Diatchki
35e07336ab Parser updates, related to #437 2019-05-30 09:50:55 -07:00
Iavor Diatchki
c5ab9649d9 Allow multiple fat arrows in schemas.
The qualifiers from all arrows are combined into a single set.

Fixes #599
2019-05-29 12:54:17 -07:00
Iavor Diatchki
4ce64e9f84 Add an extra rule for Arith when the lenght of the sequence is inf
Fixes #596
2019-05-28 15:58:53 -07:00
Iavor Diatchki
56cb58aa7d Merge branch 'master' of github.com:GaloisInc/cryptol 2019-05-14 15:25:40 -07:00
Iavor Diatchki
f607b40fc3 More flexible "start of code block" in Markdown mode.
This should fix #595.
2019-05-14 15:25:30 -07:00
Aaron Tomb
2ce982ab49 Update copyright dates 2019-04-30 09:13:37 -07:00
Aaron Tomb
6276cc6afb Add CHANGES.md file 2019-04-30 09:13:37 -07:00
Iavor Diatchki
843fe310f8 Allow _ in [ 1 .. _ ].
Fixes #588
2019-04-26 14:58:44 -07:00
Iavor Diatchki
07a30a92e8 Check type parameters after we've figured out the schema.
In this way, we know the kinds of the parameters and there is no
need to guess them.


Fixes #589
2019-04-26 14:40:46 -07:00
Aaron Tomb
4db158eafb Bump Cryptol version to 2.7.1 (next release) 2019-04-26 09:14:54 -07:00
Iavor Diatchki
75f20af6b5 Merge branch 'master' of github.com:GaloisInc/cryptol 2019-04-25 17:11:58 -07:00
Iavor Diatchki
6e7790b6fb Front end considerations for primitive types. 2019-04-25 15:35:17 -07:00
Iavor Diatchki
ad6f3b5fb8 Don't panic when there is unimplemented primitive. 2019-04-25 15:09:13 -07:00
Iavor Diatchki
ed8fb2ae46 Handle the case where evaluation of something crashes. Also add a new error for prims. 2019-04-25 15:08:23 -07:00
Iavor Diatchki
6190fcd752 Primitive type declarations. 2019-04-25 13:56:01 -07:00
Iavor Diatchki
d377eac45d Initial---incomplete---implementation of abstract types. 2019-04-24 17:10:47 -07:00
Aaron Tomb
980827280d Remove GHC 8.2 freeze file 2019-04-24 15:25:22 -07:00
Aaron Tomb
92afdb5a26 Update freeze file for GHC 8.4 2019-04-24 15:24:31 -07:00
Aaron Tomb
711551b5f1 Remove Cabal version constraints from freeze files 2019-04-24 15:19:15 -07:00
Aaron Tomb
bfe57c3c90 Update some Cabal freeze files 2019-04-17 12:40:31 -07:00
Aaron Tomb
58a57d2927 Working Debian-based Docker build script 2019-04-17 12:27:50 -07:00
Aaron Tomb
f1f7ca311c Update Docker build to use Debian as a base
This makes it easier to do Haskell builds and incorporate external
tools, even though it results in a slightly bigger image.
2019-04-16 15:16:24 -07:00
Aaron Tomb
6a268930c8 Parameterize time command for make test 2019-04-16 15:16:13 -07:00
Iavor Diatchki
706e8e2b7f Arguments after are for cryptol. 2019-03-29 10:26:34 -07:00
Iavor Diatchki
08c537122a Update nQueens example to not print the found solution. 2019-03-25 16:20:17 -07:00
Iavor Diatchki
f8187eda30 Add an options to disable printing of examples.
See #584
2019-03-25 16:14:36 -07:00
Iavor Diatchki
782ab875dc Order parameters and print type in front of the type ones.
We also filter them, although I don't think that's neccessary,
as I am not sure that we have a way to have two parameterized modules
in scope at the same time...

Fixes #586
2019-03-25 15:59:25 -07:00
Iavor Diatchki
83fb997326 Show module parameters when browsing. See #586 2019-03-25 15:34:38 -07:00
Iavor S. Diatchki
d5be2eab0e
Merge pull request #583 from david-christiansen/feature/vectorscmd
Command to dump generated tests
2019-03-19 14:37:37 -07:00
David Thrane Christiansen
209686bb60 More friendly handling of errors writing files from :dumptests 2019-03-19 13:36:43 -07:00
David Thrane Christiansen
508327058b Improve line wrapping of help text for :dumptests 2019-03-19 13:35:38 -07:00
David Thrane Christiansen
39ef53653d Show summaries of command arguments in :help text 2019-03-19 13:26:38 -07:00
David Thrane Christiansen
98b743c920 Compute size parameter in accord with other test code
This fixes a discrepancy between dumped test output and the test runner.
2019-03-19 13:26:01 -07:00
David Thrane Christiansen
8a9565595b Render each test on a single line 2019-03-19 13:26:01 -07:00
David Thrane Christiansen
e064233acd Preliminary support for dumping tests
Fix misspelling in help text
2019-03-19 13:25:55 -07:00
Brian Huffman
fc6e6be518 Tighten lower interval bounds for /^ operator.
The result of `x /^ y` can never be 0 unless `x` is 0.
2019-03-18 18:05:41 -07:00
Brian Huffman
7cb16586d4 Add regression test for #581. 2019-03-18 15:29:36 -07:00
Brian Huffman
5e8d8d6f80 Implement /^ and %^ for intervals. Fixes #581. 2019-03-18 15:29:04 -07:00