Brian Huffman
7e876be060
Remove additions to local fork of SBV that are no longer necessary
2014-07-23 10:10:54 -07:00
Brian Huffman
6bb2cd796d
Unify Value datatypes for interpreter and symbolic simulator
...
Some Value constructors and destructors are now polymorphic as well.
2014-07-22 17:35:06 -07:00
Brian Huffman
ca53f226e5
Factor out separate type "BV" for words in evaluator's Value datatype
...
Instead of constructor VWord Integer Integer, we use VWord BV,
where data BV = BV !Integer !Integer.
2014-07-22 16:26:33 -07:00
Brian Huffman
c8abc76fd1
Remove unused length tag from interpreter tuple values
2014-07-22 15:43:29 -07:00
Brian Huffman
6a99eb99dd
Modify symbolic Value type to match the interpreter's Value type
...
This is a step towards unifying the two modules.
2014-07-22 15:32:26 -07:00
Brian Huffman
907e4b55a9
Fix typo in comment
2014-07-22 15:16:00 -07:00
Brian Huffman
c5a14e388d
Rewrite symbolic simulator in pure functional style
...
We now take advantage of new features of SBV 3.1, including
the "sBranch" mechanism for evaluating reachability of conditional
branches.
2014-07-22 13:44:17 -07:00
Brian Huffman
c2859d579b
Update output for regression test 226
2014-07-21 16:18:47 -07:00
Brian Huffman
c8b3b8c134
Update output for regression test 086.
...
(cf. revision 0ee396d434
)
2014-07-21 16:13:56 -07:00
Brian Huffman
ffebd5c330
Update output for regression test number 290
2014-07-21 16:02:38 -07:00
Brian Huffman
ec0395e9d0
Update regression test number 289, which now runs successfully.
...
This test works as of revision db08bfafa9
.
Versions of SBV prior to 3.1 did not distinguish the boolean type from
the size-1 bitvector type; this example uses literals like "0b0" and
"0b1", so it triggered the SBV bug, which manifested as a type error from
the external SMT solver.
2014-07-21 16:01:43 -07:00
Brian Huffman
db08bfafa9
Merge changes from SBV release version 3.1
2014-07-21 15:23:34 -07:00
Brian Huffman
11d5c884b7
prove/sat commands avoid generating SBV bitvector variables of zero width
2014-07-21 14:59:33 -07:00
Brian Huffman
010d930638
Optimize symbolic "extract" to produce literal value if result has width 0
2014-07-21 11:28:40 -07:00
Brian Huffman
733c7932c5
Fix compiler warnings
2014-07-21 10:38:21 -07:00
Brian Huffman
ca14cff93a
Pretty-print hex literals in parser AST using lowercase "abcdef".
...
This makes the Cryptol.Parser.AST pretty printer consistent with the
one for values in Cryptol.Eval.Value.
2014-07-15 16:43:20 -07:00
Brian Huffman
4f28f4bfed
Update regression tests for :prove and :sat output
...
As of ee8685e4f2
, :sat and :prove now
parse and then pretty print the given predicate with appropriate
parenthesization.
2014-07-15 16:26:37 -07:00
Brian Huffman
ee8685e4f2
REPL handles printing of :sat/prove results; parenthesize predicates as appropriate
2014-07-15 15:35:37 -07:00
Brian Huffman
f0ab651157
:sat and :prove print counterexamples in the user-configured number base
2014-07-15 14:32:14 -07:00
Brian Huffman
62cdfd453f
Cryptol REPL prints a hint if the user omits "=" on a ":set" command.
...
Old behavior:
Cryptol> :set base 16
base 16 = 10
New behavior:
Cryptol> :set base 16
Unknown user option: `base 16`
Did you mean: `:set base = 16`?
2014-05-27 15:46:42 -07:00
Brian Huffman
0ee396d434
Pretty printer for Cryptol.Parser.AST.Expr parenthesizes infix operators.
...
(The printer for Cryptol.TypeCheck.AST.Expr already does this.)
Previously:
Cryptol> :t (+)
+ : {a} (Arith a) => a -> a -> a
Now:
Cryptol> :t (+)
(+) : {a} (Arith a) => a -> a -> a
2014-05-15 14:41:22 -07:00
Brian Huffman
682c130b11
Add "fin" constraint on index size for (@), (!) and (!!), like (@@) has.
...
Prior to this changeset, any of the following three expressions
[1,2,3] @ (zero : [inf])
[1,2,3] ! (zero : [inf])
[1,2,3] !! [zero : [inf]]
would produce the following error:
Location: [Eval] fromVWord
Message: not a word
[False, False, False, False, False, ...]
2014-05-13 13:38:55 -07:00
Brian Huffman
b304eb2ef0
New module Cryptol.TypeCheck.TypeOf has functions to compute Type of an Expr
2014-05-09 16:27:07 -07:00
Brian Huffman
a6077dd59a
Add more destructor functions for TypeCheck.AST.Type
2014-05-09 16:26:31 -07:00
Trevor Elliott
28043c395c
Only print Loading
when the module is going to be loaded
...
Looks like we were re-loading everything afterall! This closes #10
2014-05-06 14:32:17 -07:00
Trevor Elliott
25f17d0202
Some bug fixes related to fenced code in markdown
...
``` as cryptol wasn't supported, and fenced code blocks that weren't
understood were having their internals processed as markdown
2014-05-06 14:29:51 -07:00
Trevor Elliott
f1f1991ce0
No plans to allow indented code fence blocks
...
Support for the indented blocks isn't consistent, so it seems easier to just
avoid trying to support this feature.
2014-05-06 10:59:29 -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
Dylan McNamee
3188a212b5
Fixing a type constraint solver bug submitted by Jaak Randmets,
...
verified by Iavor. Regression tests passed.
2014-04-28 10:17:11 -07:00
Dylan McNamee
3e0ce32888
document that four failing tests is expected (for now)
2014-04-27 11:29:52 -07:00
Dylan McNamee
3e22966c1c
spelling in README
2014-04-27 11:26:37 -07:00
Dylan McNamee
62acc96f97
Fixing makefile to be compatible with David Lazar's speck fix
2014-04-24 18:07:47 -07:00
Dylan McNamee
203b2c8596
Merge branch 'master' of https://github.com/davidlazar/cryptol into davidlazar-master
2014-04-24 18:01:46 -07:00
Adam C. Foltzer
2f229e0c9c
reinsert book authors into acknowledgments
2014-04-24 14:47:55 -07:00
David Lazar
fe67268088
Simplify type constraints.
2014-04-24 17:33:43 -04:00
David Lazar
bda2596f30
Minor whitespace tweak.
2014-04-24 17:28:25 -04:00
David Lazar
e1c2ddec55
Fix formatting in speck.cry.
2014-04-24 17:27:34 -04:00
David Lazar
46c93d1a33
spec.cry should be speck.cry.
2014-04-24 17:19:20 -04:00
Dylan McNamee
bd578915ea
incorporating "thanks" in main README
2014-04-24 10:59:06 -07: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
Adam C. Foltzer
934e0aae53
change system description parameter in makefile
2014-04-23 19:36:41 -07:00
Adam C. Foltzer
4a2da5686a
temporarily check docs into the repo
...
Getting the right TeX Live and pandoc environments on the build slaves
is turning out to be a Big Headache. For now, build docs locally and
keep the repo copies up to date.
2014-04-23 19:16:57 -07:00
Adam C. Foltzer
417193b8a8
change glob for markdown docs
2014-04-23 18:54:45 -07:00
Adam C. Foltzer
72cd17c11b
change name of book pdf
2014-04-23 18:52:26 -07:00
Adam C. Foltzer
af3e5ecb39
make package id configurable via env var
2014-04-23 18:52:26 -07:00
Dylan McNamee
288178dea2
markdown -> .md, Acks section, adding spec to contrib
2014-04-23 13:15:18 -07:00
Dylan McNamee
bba0c10cf7
keccak is version 1, and proving too tricky to convert for now.
...
Moving simon and spec to contrib, to "seed the pool" of contributed
examples.
2014-04-22 17:26:11 -07:00
Dylan McNamee
b7cad1c5b0
fixing issue290 - it was a bug in the brain of the reporter.
...
imports need to be qualified to support this behavior.
2014-04-22 17:03:24 -07:00
Dylan McNamee
72d690bd9f
a little "how to run this" added to funstuff
2014-04-22 10:44:02 -07:00