Kevin Quick
393451681b
Updates for haskeline 0.8 and use of exceptions package.
2020-05-06 14:16:53 -07:00
Rob Dockins
922350ff7a
Put together enough of the framework required to run :sat
and :prove
...
queries via What4. We still need to support configuring the solver to use,
multisat queries, and portfolio solving.
2020-04-27 14:19:44 -07:00
Rob Dockins
44a2b8e236
Very basic scaffolding for using what4 as a symbolic backend
2020-04-27 14:19:44 -07:00
Rob Dockins
1e1f7af812
Fix the haskeline package upper bound
2020-04-23 17:37:53 -07:00
robdockins
87ad864185
Merge pull request #684 from GaloisInc/eval-refactor
...
Evaluator refactor
2020-04-02 09:42:04 -07:00
Rob Dockins
bdfd4e6bc0
Add INLINE and SPECIALIZE pragmas to generate better code for the
...
concrete evaluator.
2020-03-30 13:01:06 -07:00
Rob Dockins
058847f138
Break the symbolic query description datatypes into a separate
...
module, moving SBV specific code into `Cryptol.Symbolic.SBV`
2020-03-26 09:23:00 -07:00
Rob Dockins
71b2f8ce70
Rename the BitWord
class into Backend
, and split into a separate
...
module. Push primitive type if/then/else operations into the `Backend`
class, and promote `iteValue` and `mergeValue` to operations
on generic values.
2020-03-13 12:04:27 -07:00
Rob Dockins
be45b4ea29
Move definitions specific to the concrete evaluator in to separate
...
modules. The module structure needs to be a bit more cut up than
I would like to avoid module import cycles.
2020-03-11 10:26:22 -07:00
Rob Dockins
bdb8f49143
Refactor Cryptol.Symbolic.Prims
and Cryptol.Symbolic.Value
into
...
a single new module `Crypol.Eval.SBV`.
2020-03-09 14:32:07 -07:00
Rob Dockins
0341fd0480
Split out the primitive definitions used by multiple evalautors
...
into a `Generic` module. Refactor the `EvalPrims` class away,
pusing the `iteValue` operation into `BitWord` and demoting
the `evalPrim` operation into an ordinary (non-typeclass)
operation.
2020-03-09 14:09:19 -07:00
Rob Dockins
fbbaed8c83
Rename module Cryptol.Prims.Eval
into Cryptol.Eval.Concrete
.
...
This fits better into the current module structure, and is a lot
less confusing.
2020-03-09 11:29:08 -07:00
Kevin Quick
fcff91714b
Bump base-compat upper bound.
2020-02-29 22:12:39 -08:00
Rob Dockins
918040f682
Add cabal bounds to the haskeline
package. Apparently
...
version 0.8 contains some breaking changes.
2020-01-06 11:34:47 -08:00
Brian Huffman
330d4dd2d9
Refactor Fixity module so Cryptol.Utils.PP can import it.
...
Also make some other parts of the code less dependent on the
internal representation of the Fixity datatype.
2019-12-16 18:05:30 -08:00
Aaron Tomb
ce0365fb80
Bump master Cryptol version to 2.8.1
2019-09-17 10:08:42 -07:00
Iavor Diatchki
72068cb961
Move type-level primitives to the Prelude.
...
For the time being, there is still some information about them that
is duplicated in Cryptol.TypeCheck.TCon, but we at least the parsed syntax
does not depend on the typechecked syntax.
2019-07-02 17:34:36 -07:00
Aaron Tomb
2ce982ab49
Update copyright dates
2019-04-30 09:13:37 -07:00
Aaron Tomb
6276cc6afb
Add CHANGES.md file
2019-04-30 09:13:37 -07:00
Aaron Tomb
4db158eafb
Bump Cryptol version to 2.7.1 (next release)
2019-04-26 09:14:54 -07:00
Levent Erkok
cbdf7c696a
Make cryptol compile with SBV 8.1
2019-03-09 13:26:41 -08:00
Eric Mertens
5786fcf190
Track file content fingerprints alongside loaded modules
2019-02-28 09:40:21 -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
Kevin Quick
0616c72017
Raise base-compat upper constraint to < 0.11.
2018-08-24 16:45:28 -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
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
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
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
Brian Huffman
d5c9a030da
Split new modules Fixity and Selector from Cryptol.Parser.AST.
2018-06-11 14:28:49 -07:00
Aaron Tomb
99f3fdbf37
Merge Cryptol/Extras.cry with Cryptol.cry
...
Closes #427 .
2018-05-23 15:55:05 -07:00
Iavor Diatchki
a0c15874e2
Factor out panic
code into its own little package.
2018-05-22 14:27:03 -07:00
Brian Huffman
62dfa1d58f
Use sbv version 7.7. Fixes #486 .
...
Also add regression test for #486 .
2018-04-30 09:54:26 -07:00
Aaron Tomb
126c384ff6
Avoid most recent version of base-compat
...
The latest version causes build failures. Ultimately, we should be able
to fix the code to work with newer base-compat versions on various GHC
verions, but this gets builds to work for now.
2018-04-18 10:07:08 -07:00
Brian Huffman
2e4fa35209
Remove unused package dependencies.
2018-03-21 11:15:46 -07:00
Aaron Tomb
7f27ed592d
Remove unnecessary dependency on old-time
2018-03-12 12:53:27 -07:00
Max Orhai
1c2996610d
Use blaze for HTML generation
2018-03-05 17:07:19 -08:00
Iavor Diatchki
989e5734ef
Move defaulting code to a separate module.
2017-12-22 16:01:19 -08:00
Iavor Diatchki
9c06f07223
Move errors to their own module.
2017-12-21 13:59:53 -08:00
Iavor Diatchki
2d3e146766
Allow evaluation in parameterized module, as long as parameters are not used.
2017-10-27 14:59:32 -07:00
Iavor Diatchki
5c51d32a4e
Fix up html syntax highlighting.
2017-10-25 11:12:37 -07:00
Iavor Diatchki
07c5e1fcb8
Bump language standard to 2010. We're beyond '98 anyway...
2017-10-24 11:59:34 -07:00
Iavor S. Diatchki
095a7718d9
Add a pass to rewrite a param. module, into a non-param module
...
All definitions are parameterized by all parameters.
2017-10-19 13:45:40 -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
Iavor S. Diatchki
933e2cd2ee
Merge branch 'abstract-types' of github.com:GaloisInc/cryptol into abstract-types
...
# Conflicts:
# src/Cryptol/ModuleSystem/InstantiateModule.hs
2017-10-05 12:45:11 -07:00
Brian Huffman
a9de74ed5d
Implement module-name completion and validation for :browse.
...
Fixes #396 .
2017-10-04 19:17:42 -07:00
Iavor Diatchki
5208739653
Don't print directly to stdout. Fixes #166
2017-10-04 15:50:31 -07:00
Iavor Diatchki
2ef0a67d9b
Merge branch 'master' into abstract-types
2017-10-03 13:35:57 -07:00
Rob Dockins
f02a3c783b
Bump simple-smt version bounds to pull in a bug fix.
...
Fixes #457
2017-10-03 10:20:15 -07:00
Iavor Diatchki
498b99cda3
Split out exports specs; add some parsing for functor instances.
2017-10-02 15:01:45 -07:00