Commit Graph

155 Commits

Author SHA1 Message Date
Brian Huffman
8892759a93 More edits to Cryptol book, rewrite type synonym section. 2018-07-17 10:52:21 -07:00
Aaron Tomb
2cae92944b Update PDF of Programming in Cryptol 2018-07-16 15:02:08 -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
220afb51d7 Update CryptolPrims.md for prims with changed types and new instances. 2018-06-25 10:33:37 -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
43bee098ea Regenerate Semantics.pdf. 2018-03-22 13:42:03 -07:00
Brian Huffman
fccf55f30f Remove obsolete cvs-era $Header$ keywords. 2018-03-22 13:33:12 -07:00
Iavor S. Diatchki
2faa44e17b Add some documentation for the module system. 2017-10-26 16:34:08 -07:00
Iavor S. Diatchki
7dc7be45bb Merge remote-tracking branch 'origin/master' into abstract-types
# Conflicts:
#	src/Cryptol/REPL/Monad.hs
2017-10-13 10:45:35 -07:00
Brian Huffman
109255e28f Update generated pdfs. 2017-10-05 15:14:49 -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
Iavor Diatchki
2ef0a67d9b Merge branch 'master' into abstract-types 2017-10-03 13:35:57 -07:00
Rob Dockins
d32f3324c9 Update syntax reference with new fixity information for (||) and (&&) 2017-10-02 18:17:38 -07:00
Iavor S. Diatchki
d1abac0cec Update design; handle numeric type parameters in type checking SMT 2017-09-21 14:57:53 -07:00
Iavor Diatchki
c3882a79b5 Named instantiations 2017-09-19 14:47:40 -07:00
Iavor Diatchki
9d0092cfd9 Typos and language fixes 2017-09-19 10:32:08 -07:00
Iavor Diatchki
dd46e174e0 Another iteration of the design. 2017-09-19 10:25:17 -07:00
Iavor Diatchki
4bbf2fbb5a Some notes no how the design might work. 2017-09-18 15:04:08 -07:00
Robert Dockins
8333b81c16 Update CryptolPrims documentation 2017-08-16 18:26:40 -07:00
Robert Dockins
9550d1b8dd Update syntax documentation 2017-08-16 18:22:49 -07:00
Brian Huffman
1e453436b2 Fix grammatical errors in manuals 2017-08-02 19:46:26 -07:00
Brian Huffman
13fef57cca Updated with latest changes to Eval/Reference.lhs (5d9d8ba7) 2017-06-05 09:52:03 -07:00
Aaron Tomb
aeff31d0c0 Add rendered semantics document to repository 2017-03-31 08:28:04 -07:00
Brian Huffman
ecfcb6ad25 Add rules for Semantics.pdf to docs/Makefile 2017-03-28 14:19:24 -07:00
Aaron Tomb
d498212684 Update Programming Cryptol PDF 2017-03-21 13:25:00 -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
28d4f1d3fe Modify 'updates' and 'updatesEnd' to take the indices and values
as separate vector arguments, rather than as a single vector
argument of pairs.
2016-08-16 14:36:46 -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
58a605e8ff update examples and documentation 2016-01-19 18:19:35 -08:00
Adam C. Foltzer
4d3fc9a413 Update copyright dates and add missing headers 2016-01-19 18:19:35 -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
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
Dylan McNamee
aa1565bac4 documentation fixes (tuples, spelling, other wibble) 2015-05-05 08:38:43 -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
7d650526cd Update book pdf with changes from a15fb75 2015-01-21 15:49:25 -08: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
86b2a80db4 Add basic support for :exhaust
Fixes #94. We should look into the :exhaust optimization later if necessary
2014-09-10 11:16:07 -04: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
ebbc048ffb Added mention of type alias use/restrictions. 2014-08-12 16:24:46 -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
200df77725 Missing space. 2014-04-25 09:57:44 +02:00
Joseph Kiniry
728f9cc00e Two new todos. 2014-04-25 09:57:38 +02:00
Adam C. Foltzer
8c97b35bb2 updated docs 2014-04-24 10:55:52 -07:00
Dylan McNamee
8fbb351063 final tweaks to the book 2014-04-24 10:53:00 -07:00