Iavor Diatchki
895f69f1c3
Fix parser error
2019-02-12 14:56:03 -08:00
Iavor Diatchki
40642ff43e
Merge branch 'master' into rec-upd
2019-02-12 14:48:14 -08:00
Iavor Diatchki
fd67463b2b
Add a hacky way to get local executable path
2019-02-12 14:38:17 -08:00
Brian Huffman
244848326c
Special case for svFromInteger
at bit width 0. Fixes #563 .
...
This change ensures that `fromInteger x : [0]` is concrete,
even if `x` is symbolic.
2019-02-11 10:57:29 -08:00
Brian Huffman
b1edb9e36e
No more rebindable syntax. Fixes #568 .
...
When syntactic sugar for constants "negate", "complement" or "splitAt"
is used, the names of those primitives are now resolved during the
type checking phase. This makes them consistent with the handling of
other desugared primitives like "fromThen", etc.
2019-02-08 09:56:37 -08:00
Aaron Tomb
10e87616a2
Update frozen versions of crackNum
2019-02-01 08:51:16 -08:00
Aaron Tomb
016395f403
Update frozen versions of crackNum
2019-02-01 08:24:32 -08:00
Aaron Tomb
8ed77c130d
Update SBV version in Cabal freeze files
2019-02-01 08:16:44 -08:00
Aaron Tomb
a336d76f7f
Merge pull request #561 from LeventErkok/master
...
Make Cryptol compile with SBV 8.0
2019-01-31 13:46:20 -08:00
Aaron Tomb
72e96f9e60
Merge branch 'master' into master
2019-01-31 13:46:11 -08:00
David Thrane Christiansen
1dfc09e533
Export evalSel from Cryptol.Eval
...
This is needed to do eta-expansion of values when using Cryptol as a
library.
2019-01-29 18:05:02 -08:00
Iavor Diatchki
7d75eb2a64
Checkpoint (incomplete)
2019-01-27 23:54:45 -08:00
Iavor Diatchki
d38eab4b2c
Fix test.
2019-01-25 10:20:40 -08:00
Iavor Diatchki
4312787724
Fixes #565
2019-01-24 17:00:16 -08:00
Iavor Diatchki
72a57bfff9
Fix script to use generic runner
2019-01-24 16:44:15 -08:00
Aaron Tomb
2294d81db0
Temporarily use SBV < 8 until we fix the code
2019-01-22 08:52:58 -08:00
Levent Erkok
8d09c79198
Make Cryptol compile with SBV 8.0
...
SBV 8.0 is now on hackage, with several backwards compatibility breaking changes. You'll need this patch to compile cryptol against it.
2019-01-14 16:49:19 -08:00
Iavor Diatchki
5bad18d3d7
Fix broken library: constants must start with an identifier! :)
2019-01-09 11:31:25 -08:00
Iavor Diatchki
f0e9dcf471
Just a different example.
...
This used to work with Z3 4.7.1 but does not with 4.8.4
2019-01-09 11:26:53 -08:00
Iavor Diatchki
454dd58fbd
Name some of the big numbers.
2019-01-09 11:26:14 -08:00
Iavor Diatchki
4dae9dadcd
Add some comments explaining the hackery
2019-01-08 17:18:45 -08:00
Iavor Diatchki
47d118ecf5
A TEMPORARY hack to force rebuilding GitRev.hs
so we get the correct hashes.
2019-01-08 17:14:53 -08:00
Iavor Diatchki
58eb799ec9
Indicate in the logo, if the repo has been modified.
2019-01-08 17:14:05 -08:00
Iavor Diatchki
60c1baebfd
Indent goals to be shown a bit further, to line up with assumptions.
2019-01-08 16:42:34 -08:00
Iavor Diatchki
d8b1a7a601
Improve some of the error messages.
2019-01-03 11:28:59 -08:00
Iavor Diatchki
d331d16128
Add a command to run the locally built Cryptol
2019-01-03 11:10:29 -08:00
Iavor Diatchki
efe0b7ce7a
Add some bullets and rephrase error a bit.
2019-01-02 17:16:48 -08:00
Iavor Diatchki
8caf3f7438
Remove unused error message
2019-01-02 17:16:09 -08:00
Aaron Tomb
f5318d3379
Bump Travis GHC and cabal-install versions
2018-12-13 08:54:28 -08:00
Aaron Tomb
bf3aa4dc01
Adapt Travis to new scripts
2018-12-13 08:39:04 -08:00
Iavor Diatchki
2bd9d3aecf
A Bash script to automate common cabal (v2) tasks
2018-12-12 16:59:00 -08:00
Iavor Diatchki
d377f38c9d
Use the factored-out test-runner.
2018-12-11 16:30:02 -08:00
Iavor Diatchki
349bb6b355
Ignore all .ghc.envi* stuff
2018-12-11 16:16:39 -08:00
Brian Huffman
9b7597c4fd
Update changed test output.
2018-12-11 15:52:19 -08:00
Brian Huffman
f96e1e49fb
Add special case to speed up type checking of decimal literals.
...
This yields a huge (almost 100x) speedup to the
typechecker/BigSequence benchmark.
2018-11-16 11:02:30 -08:00
Brian Huffman
3584a97e8b
Factor out new function listParamSubst
.
2018-11-15 16:47:35 -08:00
Iavor Diatchki
2e4adccccb
Just a note
2018-11-05 15:11:27 -08:00
Brian Huffman
2994ef9143
Symbolic +
and -
on Z n
reduce mod n
when arguments are concrete.
...
Fixes #554 .
2018-11-05 11:24:08 -08:00
Brian Huffman
ac13b5e4bd
Symbolic *
on type Z n
reduces mod n
when arguments are concrete.
...
This helps with #554 .
2018-11-05 10:26:36 -08:00
Aaron Tomb
231fe95a40
Add note in manual about satNum
and Integer
2018-11-01 08:25:23 -07:00
Aaron Tomb
dede87609e
Merge pull request #552 from LeventErkok/master
...
Fix satNum
2018-10-31 14:00:03 -07:00
Levent Erkok
b801e6677e
Fix satNum
...
Since SBV 7.0; allSat is no longer lazy. So, Cryptol's current
implementation is buggy:
Cryptol> :set satNum=2
Cryptol> :sat \x -> x >(3:Integer)
.. Runs forever ..
This pull request fixes the issue:
Cryptol> :set satNum=2
Cryptol> :sat \x -> x>(3:Integer)
(\x -> x > (3 : Integer)) 4 = True
(\x -> x > (3 : Integer)) 5 = True
(Total Elapsed Time: 0.000s, using Z3)
Note that if you set `satNum` to be `all` and if there are indeed an
infinite number of satisfying models, SBV (and thus Cryptol) will still
loop forever. There's really no good way to solve that problem,
unfortunately.
2018-10-28 14:16:52 -07:00
Brian Huffman
20b9b1c193
Rename prelude function width
to length
, and generalize its type.
...
Fixes #550 .
2018-10-10 16:21:38 -07:00
Iavor Diatchki
a8eab11b31
Changes to avoid irrefutable patterns.
...
This is to make things build with GHC 8.6, which requires a MonadFail
instance.
Pretty much all of these should end up being `panic`, so perhaps we should
rewrite more of them to call `panic` (instead of using lazy patterns)
2018-10-08 13:50:25 -07:00
Brian Huffman
515642328a
Make :browse handle shadowing of names from dynamic environment.
...
Fixes #538 .
2018-09-17 11:04:45 -07:00
Brian Huffman
634c5a03e7
Suppress REPL instantiation messages when warnDefaulting = off.
...
Fixes #543 .
2018-09-17 09:46:00 -07:00
Iavor Diatchki
ad766b3aa7
Reformulate the property, so that Z3 can still find models.
...
With the other formulation, Z3 became really bad at finding any kind
of model. Basically, it would always answer `unsat` or `unknown`.
This is undesirable, because we use models when instantiating things
at the command line. In those cases, however, we probably don't
need the rule at all... Perhaps, we should provide a way to disable
the axioms when we are looking for models?
2018-09-15 11:04:37 +03:00
Iavor Diatchki
a8d5963bfa
Add another property of width.
...
Fixes #548
2018-09-14 22:50:30 +03:00
Iavor Diatchki
4e843a3435
More consistent statement of axioms for cryWidthUnknown
2018-09-14 10:21:08 +03:00
Aaron Tomb
3caa3a8e82
Use 32-bit GMP size limit on unknown architectures
...
There doesn't seem to be a general-purpose way to determine architecture
word sizes from CPP as invoked by GHC, so we now fall back on the 32-bit
GMP size limit for unknown architectures. This is always safe, and can
be amended to allow larger words on other architectures as needed.
Closes #542 .
2018-09-12 11:28:24 -07:00