Commit Graph

147 Commits

Author SHA1 Message Date
Brian Huffman
e59c9abfbb Remove [x..] and [x,y..] syntax from documentation. 2019-02-28 10:38:38 -08:00
Brian Huffman
24fb6c9511 Remove unused primitive fromThen. 2019-02-27 16:57:00 -08:00
Iavor Diatchki
6a8c6c3134 Update Syntax.md and re-sync it with Syntax.tex
Note that Syntax.tex should be generated automatically
2019-02-18 17:20:01 -08:00
Aaron Tomb
231fe95a40 Add note in manual about satNum and Integer 2018-11-01 08:25:23 -07:00
Aaron Tomb
b111e78a30 Minor fixes to Programming in Cryptol 2018-07-27 16:09:50 -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
34e6a18efe Fix Cryptol output in exercise solution in the book. 2018-07-27 13:18:03 -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
Aaron Tomb
7027b599a7 Update some copyright notices 2018-07-26 09:08:32 -07:00
Brian Huffman
4d84989b60 Edits to AES chapter of the book. 2018-07-25 15:12:13 -07:00
Brian Huffman
951eacc8ff Fix some index entry names in the book. 2018-07-24 13:03:32 -07:00
Aaron Tomb
35452a6a9e Add example of using the === operator 2018-07-23 13:19:13 -07:00
Brian Huffman
863c165c66 Update syntax appendix of Cryptol book. 2018-07-20 18:13:15 -07:00
Brian Huffman
1eaabf87aa Miscellaneous edits to the book. 2018-07-20 15:48:46 -07:00
Brian Huffman
891b7fe914 Update exercises in chapter 1 of the book. 2018-07-20 15:48:10 -07:00
Brian Huffman
317893a564 Updates to "High-assurance programming" chapter of the book. 2018-07-20 12:20:59 -07:00
Brian Huffman
73a8c19b58 Update cryptol primitives appendix in the book. 2018-07-20 09:48:31 -07:00
Brian Huffman
eef8924dfe Update operator names in Cryptol book index. 2018-07-20 09:00:29 -07:00
Brian Huffman
6201415c66 Remove index entries and text about non-existent :i, :p commands. 2018-07-20 08:28:35 -07:00
Brian Huffman
dd2c4b6507 Introduce command for more uniform exercise references in the book. 2018-07-19 18:25:55 -07:00
Brian Huffman
af6b830162 Use autoref command and lowercase section refs consistently in the book. 2018-07-19 18:00:17 -07:00
Brian Huffman
10f43b4279 Switch Cryptol book exercises to use split instead of groupBy. 2018-07-19 16:46:48 -07:00
Brian Huffman
8892759a93 More edits to Cryptol book, rewrite type synonym section. 2018-07-17 10:52:21 -07:00
Brian Huffman
0d074ce231 Many updates to Programming Cryptol book (work in progress). 2018-07-16 09:48:39 -07:00
Brian Huffman
5f795d4644 Restrict output number base to 2, 8, 10 and 16.
The output bases now match the possible input bases for
numeric literals.

Fixes #179.
2018-07-12 09:57:41 -07:00
Brian Huffman
7c1de9c133 Add short section to Cryptol book about type Integer.
Fixes #468.
2018-05-24 13:04:10 -07:00
Aaron Tomb
99f3fdbf37 Merge Cryptol/Extras.cry with Cryptol.cry
Closes #427.
2018-05-23 15:55:05 -07:00
Brian Huffman
ddfe615a14 Document :exhaust command in the cryptol book. Fixes #466. 2018-05-22 15:17:15 -07:00
Brian Huffman
6fdc1ff326 Write about type constraint synonyms in Programming Cryptol.
Fixes #452.
2018-03-22 16:06:55 -07:00
Brian Huffman
fccf55f30f Remove obsolete cvs-era $Header$ keywords. 2018-03-22 13:33:12 -07:00
Brian Huffman
e84dcc5126 Document logical connectives (==>, /\, \/) in Programming Cryptol book. 2017-10-05 14:17:51 -07:00
Brian Huffman
fd9e003cd3 More documentation for REPL commands :browse and :help. 2017-10-05 13:51:50 -07:00
Brian Huffman
59a34a4624 Update table of Cryptol primitives with new type constraints. 2017-10-05 11:29:21 -07:00
Brian Huffman
11067f8220 Document new type classes Zero, Logic, and SignedCmp. Fixes #451. 2017-10-05 11:15:49 -07:00
Brian Huffman
361be3827e Fix incorrect spacing after abbreviation "vs." 2017-10-05 11:08:34 -07:00
Brian Huffman
6d484c854d Fix inaccurate statements about Cmp class. 2017-10-05 10:38:37 -07:00
Brian Huffman
1909e9ca51 In Programming Cryptol table of contents, make entire lines clickable links. 2017-10-05 10:24:23 -07:00
Brian Huffman
ffe113669e Document the REPL let-definition feature. Fixes #359. 2017-10-05 10:23:34 -07:00
Brian Huffman
7b0b8836c0 Fix outdated reference to inf a constraint in docs. 2017-10-05 10:20:57 -07:00
Brian Huffman
0478ec434c Uniformly place footnotes after punctuation. 2017-10-05 09:25:44 -07:00
Brian Huffman
1e453436b2 Fix grammatical errors in manuals 2017-08-02 19:46:26 -07:00
Aaron Tomb
77db35ffda Document success and error exit codes. 2017-03-21 09:08:48 -07:00
Aaron Tomb
c025f874db Document the prover-stats option. 2017-03-21 09:06:18 -07:00
Robert Dockins
cd9ffed00b Update examples to use (/\) instead of (&&) where appropriate,
and to squash other warnings related to the upcomming precedence change.
2016-08-22 18:14:44 -07:00
Robert Dockins
f6f1d84770 Update the Cryptol documentation with the new 'update' primitives 2016-08-12 16:18:11 -07:00
Brian Huffman
a8eccb9db7 Fix some incorrect syntax in Programming Cryptol appendix 2016-08-04 14:36:33 -07:00
Brian Huffman
e868e78601 Update precedence table to match Cryptol prelude 2016-08-04 14:33:41 -07:00
Brian Huffman
c537b5a1cd Small fixes for "Programming Cryptol" appendices 2016-08-04 10:54:11 -07:00
Brian Huffman
5bca2a5560 Fix lots of wrong types for primitives in appendix B 2016-08-03 16:18:31 -07:00
Brian Huffman
ed1dd212ab More small fixes in Programming Cryptol 2016-08-03 16:04:10 -07:00
Brian Huffman
4cc76e6c8b Small fixes for crash-course chapter of Programming Cryptol
Changes include spelling, grammar, punctuation,
typesetting, and code formatting. A few factual errors
have been fixed, and some Cryptol REPL output has been
updated as well.
2016-08-03 09:54:52 -07:00
Robert Dockins
c60be15873 Add 'trace' and 'traceVal' to the primitive operations lists in the documentation. 2016-07-13 14:21:29 -07:00
Brian Huffman
c2e0cc5839 Remove unused AES functions. Fixes #352. 2016-07-07 14:40:08 -07:00
Adam C. Foltzer
054a3e2248 instantiate Scytale diameter
Fixes #349
2016-07-05 14:42:59 -07:00
Adam C. Foltzer
2c428804bc remove splitBy and update documentation
Closes #291
2016-07-05 09:58:49 -07:00
Dylan McNamee
ab279f01d5 incorporating typos and other improvements to docs 2016-04-27 11:52:09 -07:00
Dylan McNamee
b92cdcccda file cleanup 2016-04-21 13:54:52 -07:00
Dylan McNamee
04e22d8dd6 command appendix 2016-04-21 13:53:02 -07:00
Dylan McNamee
623b847094 merging changes to docs 2016-04-19 11:41:55 -07:00
Joseph Kiniry
0ba8d97c8a Removed extra 's'. 2016-04-18 15:16:39 -07:00
Joseph Kiniry
849fecead8 Merge branch 'master' of github.com:GaloisInc/cryptol 2016-04-18 15:15:58 -07:00
Joseph Kiniry
d43fcc9ebe Whitespace tweak. 2016-04-18 15:15:56 -07:00
Thomas M. DuBuisson
bd593e4ebe
Add hierarchy to the module documentation. 2016-02-25 16:34:30 -08:00
Dylan McNamee
86c3d0ffe2 Module documentation 2016-02-25 15:14:00 -08:00
Brian Huffman
1322156d28 Remove trailing whitespace 2016-02-19 10:08:20 -08:00
Adam C. Foltzer
4d3fc9a413 Update copyright dates and add missing headers 2016-01-19 18:19:35 -08:00
Joseph Kiniry
357905934b Merge branch 'master' of github.com:GaloisInc/cryptol 2016-01-03 23:46:52 -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
4c441898d9 remove a merge error from docs Makefile 2015-10-05 15:33:04 -07:00
Adam C. Foltzer
baddfcaab8 Merge branch 'heads/hotfixes/v2.2.5' 2015-10-01 10:56:30 -07:00
Adam C. Foltzer
7d81568555 remove iteSolver option for compat with sbv 5+ 2015-09-30 14:24:21 -07:00
Jenkins Builder
75539f9244 add \protect to fix error on Windows docs 2015-09-16 13:12:37 -07:00
Adam C. Foltzer
2ca0e6f732 switch back to non-latexmk for book (Windows)
Windows didn't like the latexmk solution from
5eb5f00d0a.
2015-09-16 11:37:00 -07:00
Adam C. Foltzer
5eb5f00d0a change how the book is built 2015-09-15 13:38:06 -07:00
Dylan McNamee
c27c91af3a fixed negative stepped sequence example (issue #234) in ProgrammingCryptol 2015-06-05 12:02:16 -07:00
Joseph Kiniry
6af66f2dba Merge branch 'master' of github.com:GaloisInc/cryptol 2015-05-04 15:19:39 -07:00
Adam C. Foltzer
0536d0f15a update copyright years 2015-03-24 11:19:52 -07:00
Adam C. Foltzer
a15fb75856 update book with allSat 2015-01-18 17:03:43 -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
Dylan McNamee
fb93e5f4b3 fixes for tickets 22, 20, 107, 102, in preparation for merging 26 2014-09-23 13:32:09 -07:00
Dylan McNamee
9319e0c19c tweaking notice, adding regression test for GitHub issue #110 2014-09-19 13:09:44 -07:00
Rob Dickerson
8250adfdbe Changing some split examples in crash course to use splitBy instead. 2014-09-18 02:59:11 -05:00
Dylan McNamee
0e29d1d369 issue 108 from Sean, and a minor tweak to the AES chapter's formatting. 2014-09-17 12:28:30 -07:00
Dylan McNamee
75852a2596 Merge branch 'master' of https://github.com/GaloisInc/cryptol 2014-09-10 14:27:26 -07:00
Dylan McNamee
81adb95a37 tweaks to documentation and Salsa20 fix from Sean 2014-09-10 14:27:08 -07:00
Adam C. Foltzer
15e6fec34d update documentation for #82 2014-09-09 11:59:39 -04:00
Dylan McNamee
3ebc8bffcd Incorporating Sean Weaver's fixes to programming cryptol - ticket #80 2014-09-02 10:26:35 -07:00
Joseph Kiniry
39a472e43f Merge branch 'master' of github.com:GaloisInc/cryptol 2014-08-12 16:24:53 -07:00
Joseph Kiniry
6fc11569ea Corrected typo. 2014-08-12 16:24:28 -07:00
Dylan McNamee
87042d4604 fixing lone bad reference in doc, added syntax chapter, replaced Salsa spec
PDF with pointer to it, fixed table in section 1.2.2
2014-04-30 11:37:15 -07:00
Joseph Kiniry
e54f73717d Merge branch 'master' of github.com:GaloisInc/cryptol 2014-04-25 09:58:10 +02:00
Joseph Kiniry
728f9cc00e Two new todos. 2014-04-25 09:57:38 +02:00
Dylan McNamee
8fbb351063 final tweaks to the book 2014-04-24 10:53:00 -07:00
Dylan McNamee
288178dea2 markdown -> .md, Acks section, adding spec to contrib 2014-04-23 13:15:18 -07:00
Adam C. Foltzer
ba0a0e8576 Initial import from internal repo 2014-04-17 15:34:25 -07:00