Iavor Diatchki
72009435c2
Fix script, to deal with multiple versions of Cryptol
2018-08-15 20:26:56 +03:00
Iavor Diatchki
b7b1baa25b
Fix test, to account for changes to eval context checking
2018-08-15 20:26:25 +03:00
Iavor Diatchki
5a9a3b4ff1
Change the check for valid evaluation context, and add missing checks.
...
Parameterized modules are not part of the evaluation context at all,
so now we check that we don't depend on *any* values from them.
Also, now we check both expressions and the schema, and also do
the check when proving not just evaluating.
Hopefully this fixes issue #545
2018-08-15 19:53:23 +03:00
Iavor Diatchki
3b6b183999
Make it more obvious when we've loaded a parameterized module.
2018-08-15 18:16:14 +03:00
Brian Huffman
77db0bd32f
Add documentation and comments for Subst module.
2018-08-10 11:54:19 -07:00
Brian Huffman
c047273565
Reimplement type substitutions using IntMap instead of Map.
...
This speeds up the test suite by about 10%, and makes the example
file from issue #544 typecheck about 7x faster.
2018-08-08 10:54:54 -07:00
Brian Huffman
f2c1946633
Factor out new function tCon
in SimpType
module.
2018-08-08 10:10:14 -07:00
Brian Huffman
607a55c76a
Fix warnings about unused import and declarations.
2018-08-02 17:31:52 -07:00
Aaron Tomb
45ee929b2d
Bump Cabal version to 2.6.1 now that 2.6.0 is out
2018-08-01 14:39:56 -07:00
Aaron Tomb
cfeef862e1
Disable warnings about fixity of &&, ||
...
Fixes #241 .
2018-08-01 14:38:44 -07:00
Aaron Tomb
6b926b1b3c
Update Cabal file copyright
2018-08-01 09:05:39 -07:00
Aaron Tomb
70fa2033d5
Update Cabal file for Hackage acceptance
2018-08-01 09:01:30 -07:00
Brian Huffman
9b97c74b48
Polishing of :help output.
...
:help with primitive types now uses vertical whitespace to match
the :help output for other types.
Help text for REPL commands can now contain linebreaks.
For quoted Cryptol syntax in docstrings, consistently use singlequotes
(') instead of backquotes (`). Backquotes are sometimes used within
the quoted code, so it's probably best to avoid using them for quotes.
Consistently capitalize and put a period at the end of docstrings.
2018-07-31 11:33:50 -07:00
Brian Huffman
2e1dbad005
Improve tab completion for :set command. Fixes #154 .
...
Tab now completes option names after `:help :set`.
Tab also completes `:help` with names of primitive types
and type classes (cf. #504 ).
2018-07-30 18:11:14 -07:00
Aaron Tomb
ba140fb70a
Update Programming in Cryptol PDF
2018-07-30 16:36:04 -07:00
Aaron Tomb
4ab7399ef9
Bump frozen SBV versions to 7.10
2018-07-30 16:26:25 -07:00
Aaron Tomb
e42500e706
Update version to 2.6.0 in preparation for release
...
After the release, let's update the version to 2.6.1 immediately.
2018-07-30 13:24:33 -07:00
Aaron Tomb
b111e78a30
Minor fixes to Programming in Cryptol
2018-07-27 16:09:50 -07:00
Brian Huffman
9e7ae9f9ce
Reintroduce demote
as a copy of number
for backward compatibility.
2018-07-27 14:01:18 -07:00
Brian Huffman
f609b36225
Rename primitive demote
to the more self-explanatory name number
.
...
The name "demote" is only meaningful to those who already know what
the Cryptol primitive does. Also, due to recent changes in the error
and warning messages, the name "demote" is showing up much more often
in REPL output. For example:
Defaulting type argument 'rep' of 'demote' to [2]
Showing a specific instance of polymorphic result:
* Using 'Integer' for type argument 'rep' of 'Cryptol::demote'
These messages will hopefully be made less confusing to non-experts
if the name "demote" is replaced with "number".
2018-07-27 13:52:57 -07:00
Brian Huffman
78fa2d58aa
Fix typo in comment.
2018-07-27 13:44:31 -07:00
Brian Huffman
34e6a18efe
Fix Cryptol output in exercise solution in the book.
2018-07-27 13:18:03 -07:00
Brian Huffman
35ccec83ce
Fix some typos in comments/docs.
2018-07-27 13:17:45 -07:00
Aaron Tomb
1bd0b813e0
Add a table of type-level operators to the book
2018-07-27 10:23:55 -07:00
Aaron Tomb
afd9df342b
Better wording for multi-way conditional appendix
2018-07-27 10:23:29 -07:00
Iavor Diatchki
30b281dbff
Fix build on older GHCs
2018-07-27 09:09:45 +03:00
Iavor Diatchki
4a9de75e8c
Merge branch 'master' of github.com:GaloisInc/cryptol
2018-07-26 22:06:47 +03:00
Iavor Diatchki
027037d6ee
Fix test
2018-07-26 22:06:31 +03:00
Iavor Diatchki
6d789a1d64
Preserve prefix - and ~ until the renamer.
...
This allows to print back expressions in a form that looks more like what
the user typed. Fixes #541
2018-07-26 22:04:45 +03:00
Aaron Tomb
7027b599a7
Update some copyright notices
2018-07-26 09:08:32 -07:00
Iavor Diatchki
fb4080a22e
Merge branch 'master' of github.com:GaloisInc/cryptol
2018-07-26 09:28:06 +03:00
Iavor Diatchki
96539178d4
Display help for built-in types in REPL.
...
Fixes #504
2018-07-26 09:27:11 +03:00
Iavor Diatchki
19c71fa4aa
Move all built-in types to the same place; add precedence and documentaiton
2018-07-26 09:06:37 +03:00
Brian Huffman
4d84989b60
Edits to AES chapter of the book.
2018-07-25 15:12:13 -07:00
Brian Huffman
2f53f364b5
Add stderrLogger
to go with stdoutLogger
.
2018-07-25 10:10:52 -07:00
Iavor Diatchki
f4e7100e59
Merge branch 'master' of github.com:GaloisInc/cryptol
2018-07-25 13:27:14 +03:00
Iavor Diatchki
5a720e6695
Use proveModuleTopLevel
instead simplifyAllConstraints.
...
The difference is that the one does defaulting as well. Fixes #540
2018-07-25 13:27:01 +03:00
Brian Huffman
165674710b
Fix typo in comment.
2018-07-24 15:42:16 -07:00
Brian Huffman
1af977873e
Make :browse <interactive>
work with tab-completion, no warnings.
2018-07-24 15:29:58 -07:00
Brian Huffman
951eacc8ff
Fix some index entry names in the book.
2018-07-24 13:03:32 -07:00
Iavor Diatchki
e55436eaa7
Keep track of user vs. system names.
...
This makes it possible to hide system names from the users,
as they are not really meaningful. Fixes #535
2018-07-24 18:19:17 +03:00
Iavor Diatchki
125a2a4d32
After defaulting, nub
the resulting fin
constraints.
...
Fixes #531
2018-07-24 16:52:15 +03:00
Iavor Diatchki
d1b5439b4c
Remove defSu
, this is already part of totSu
, as we've extended it
2018-07-24 16:51:28 +03:00
Iavor Diatchki
83ece9e3fb
Fixes #532
2018-07-24 16:00:55 +03:00
Iavor Diatchki
9f94dd0eba
Merge branch 'master' of github.com:GaloisInc/cryptol
2018-07-24 15:29:27 +03:00
Iavor Diatchki
b6d6ead7f1
Fixes related to generalization in recursive groups, where some bindings are monomorphic.
...
This is tricky stuff, hopefully this better. Fixes #534
2018-07-24 15:29:06 +03:00
Brian Huffman
3cee1b037e
Memoize wordValLogicOp
on BitsVal
arguments.
...
This fixes the exponential runtime for the example in #537 .
2018-07-23 14:44:48 -07:00
Aaron Tomb
35452a6a9e
Add example of using the ===
operator
2018-07-23 13:19:13 -07:00
Iavor Diatchki
9a9e9c977c
A bit of refactoring.
...
This should help us hide top-level generated names that are
not of interest to the user.
2018-07-23 03:34:04 -07:00
Iavor Diatchki
bd0d3ccf35
Remove unused code, add explicit exports
2018-07-23 03:32:31 -07:00