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
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
Iavor Diatchki
7135284f80
Basics of sort of module instantiation
2017-09-29 16:27:13 -07:00
Iavor Diatchki
60523d5986
Delete old solver stuff.
...
The main user visible effect of this might be that sometime things on
the Cryptol command line are instantiated in a slightly different way:
we get `inf` sometimes when we got a finite example before.
We could work around this if it is an issue, but I am not sure which
behavior is more reasonable.
2017-09-26 14:02:52 -07:00
Aaron Tomb
c05281d390
Fix spurious failures due to lazy I/O
...
Regression test check31 was failing somewhat unpredictably due to the
use of lazy I/O when loading the Z3 prelude for the type checker. Using
the `strict` package seems to fix it.
2017-09-13 15:31:43 -07:00
Eric Mertens
28bc4f81de
Work around happy bug by adding type signature on ipat
2017-09-11 10:36:59 -07:00
Eric Mertens
bf571569fa
Add upper bound on happy
...
A bug introduced in happy-1.19.6 causes incorrect type signatures
to be generated in the parser source file which lead to type
checker errors
2017-09-11 10:20:22 -07:00
Iavor S. Diatchki
ca2136fab9
Merge pull request #440 from sliverdragon37/master
...
Adds the :ast and :extract-coq commands for printing out a parseable AST
2017-08-15 10:25:08 -07:00
Eric Mullen
05b8f0f3c1
more polished
2017-08-14 15:45:37 -07:00
Aaron Tomb
010540c4b4
Comment out cryptol-server from Cabal file
2017-07-24 15:26:49 -07:00