Commit Graph

2261 Commits

Author SHA1 Message Date
Aaron Tomb
8304eb74de Better compilation fixes for GHC < 8.8
Now it actually runs!
2019-10-23 10:23:44 -07:00
Aaron Tomb
63faa84e90 Use --allow-newer on AppVeyor with GHC 8.8 2019-10-23 09:14:15 -07:00
Aaron Tomb
92dccaf530 Fix AppVeyor configuration 2019-10-22 16:48:46 -07:00
Aaron Tomb
abd3ba639e Update CI configuration to use GHC 8.{4,6,8} 2019-10-22 16:44:01 -07:00
Aaron Tomb
f275f082c2 Make build still work with GHC < 8.8 2019-10-22 16:40:02 -07:00
Aaron Tomb
2e875fc24b Use SBV versions that work with GHC 8.8 2019-10-22 16:12:05 -07:00
Brian Huffman
d163e61c63 Use appropriate markup for haddock code snippets.
Fixes #648.
2019-10-21 15:24:01 -07:00
Brian Huffman
0a68d4e3a1 Haddock comment for instance Eq Type. Fixes #645. 2019-10-18 10:50:44 -07:00
Aaron Tomb
89ccdc0228 Fix build with GHC 8.8.1
This commit consists entirely of moving `fail` implementations to
`MonadFail` instance definitions.
2019-10-17 09:34:44 -07:00
Aaron Tomb
ce0365fb80 Bump master Cryptol version to 2.8.1 2019-09-17 10:08:42 -07:00
Aaron Tomb
1cb884ce11
Merge pull request #644 from GaloisInc/at-rel28-prep
Update CHANGES.md and Travis config for 2.8.0
2019-09-04 08:30:22 -07:00
Aaron Tomb
ae6de61d28 Add changes for Cryptol 2.8.0 to CHANGES.md 2019-09-03 10:16:15 -07:00
Aaron Tomb
d16f70b956 Disable macOS builds on Travis for now
They're not really reproducible, given the use of Homebrew. Dependency
versions update suddenly, and always at the most inconvenient times.
2019-09-03 09:40:35 -07:00
brianhuffman
8581f8e0b2
Merge pull request #642 from GaloisInc/issue615
Make :dumptests check whether type is testable before starting.
2019-08-30 07:37:30 -07:00
Brian Huffman
64423cbcdc Make :dumptests check whether type is testable before starting.
Instead of panicking, :dumptests will now print the message
"The expression is not of a testable type" when used with an
inappropriately-typed expression. Also, Integer return values
are now supported.

Fixes #615.
2019-08-29 12:32:44 -07:00
Aaron Tomb
dbfb329d2b
Merge pull request #641 from GaloisInc/at-rel28-prep
Bump dependency versions in prep for 2.8.0 release

This includes the version of Z3 used in the Docker image
2019-08-28 13:50:46 -07:00
Aaron Tomb
7d62081632 Bump dependency versions in prep for 2.8.0 release
This includes the version of Z3 used in the Docker image
2019-08-28 13:24:58 -07:00
Brian Huffman
9c55ec56c6 Export commandList from module Cryptol.REPL.Command. 2019-08-28 11:22:29 -07:00
Rajan Walia
d26a80441f factoring out fold in freevars 2019-08-08 11:07:05 -07:00
Rajan Walia
af1f590df7 adding more exports for code generation 2019-08-05 16:29:07 -07:00
Rajan Walia
90120932a7 fix for freevars of sequential where 2019-08-05 16:28:33 -07:00
Brian Huffman
12805bef0e Avoid calling wordLit with bitsizes greater than maxBitIntWidth.
Fixes #636.
2019-07-24 16:50:40 -07:00
Brian Huffman
2e72a7387c Replace fromIntegral with fromInteger or toInteger where possible.
See #637.
2019-07-24 13:13:11 -07:00
Brian Huffman
484f9fc631 Fix typos in comments. 2019-07-24 13:10:34 -07:00
Iavor Diatchki
ce26749142 Flush after storing, so that we can see the content. 2019-07-05 14:52:13 -07:00
Iavor Diatchki
8fe9f5efa9 Add support for working with in-memory sources.
Currently we only use this for the Prelude, which is baked into Cryptol.
Previously we used to save it in a temporary file, which would show
up in error messages, leading to bad user experience and unreliable
test outputs.

Also improves the shadowing errors.

Fixes #569
2019-07-05 14:09:04 -07:00
Iavor S. Diatchki
cc5c10b4c4
Merge pull request #630 from GaloisInc/prelude_prims
Prelude Prims
2019-07-05 09:57:58 -07:00
Iavor Diatchki
ca4968ff3d Fix test. The error message changed, but is still valid.
We should really have only one way to say this,
I made a ticket: #633
2019-07-05 09:37:45 -07:00
Iavor Diatchki
4b5d569e09 Fix tests---some variables got renumbered.
We really should fix this up so we don't print the numbers unless
there really is an ambiguity.
2019-07-05 09:34:20 -07:00
Iavor Diatchki
91b69e85cd Remove debugging output. 2019-07-05 09:31:44 -07:00
Iavor Diatchki
7c708faa47 Show additional type constraints in help message. 2019-07-05 09:16:53 -07:00
Iavor Diatchki
a0b4b14f86 Make constraints on type constructors/functions explicit.
This is mostly working, but I still need to update the help on the REPL
to show the constraints.
2019-07-03 17:03:31 -07:00
Iavor Diatchki
971897d9ca Use 'Prop' instead of '@' to write the kind of a constraint.
This is more consistent with how we've been printing kinds for a while,
so no need to change the notation.
2019-07-03 10:21:04 -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
Iavor Diatchki
1cfadef5ea Add a forgotten test 2019-07-01 10:26:39 -07:00
brianhuffman
c5dec7443a
Merge pull request #628 from GaloisInc/issue625
Issue625
2019-06-28 11:31:28 -07:00
Brian Huffman
8b0e236eec Support element type ascriptions on list enumerations: [a,b..c:t].
Cf. issue #625.
2019-06-27 14:31:06 -07:00
Brian Huffman
e03446dbc8 Adjust whitespace. 2019-06-27 14:25:08 -07:00
Brian Huffman
1e11ff6b8b Add type constraint synonyms (<) and (>).
Fixes #400.
2019-06-26 20:44:13 -07:00
brianhuffman
c071ff9fa4
Merge pull request #627 from GaloisInc/infix-type
Infix type synonyms
2019-06-26 20:06:54 -07:00
Brian Huffman
14d25e8f9a Fix pretty printing for infix type/constraint synonyms. 2019-06-26 18:19:12 -07:00
Brian Huffman
10da255fd1 Re-implement infix type constraint (<=) as a constraint synonym.
Also removed special-case hack for (<=) in the renamer.

Also adapted test case output to account for the new prelude declaration.
2019-06-26 18:04:16 -07:00
Brian Huffman
17c47c4ac0 Update type pretty-printer to handle infix type synonyms. 2019-06-26 17:54:40 -07:00
Brian Huffman
fb86b1538c Renamer looks up type operator fixities in the NamingEnv.
Primitive infix type operators are looked up in a hard-coded
table; everything else is looked up in the NamingEnv.
2019-06-26 17:36:46 -07:00
Brian Huffman
eadaf4473e Add parser rules for infix type/constraint synonyms. 2019-06-26 17:35:19 -07:00
Brian Huffman
b54e4835ac Make kind checker accept TInfix constructors from the renamer. 2019-06-26 17:29:55 -07:00
Brian Huffman
da1c509ffd Propagate fixities from type declarations into the NamingEnv. 2019-06-26 16:54:40 -07:00
Brian Huffman
019d2af088 NoPat pass annotates type/constraint synonyms with fixities. 2019-06-26 15:20:00 -07:00
Brian Huffman
c0914c96df Add fixity field to TySyn and PropSyn datatypes. 2019-06-26 15:13:37 -07:00
Brian Huffman
0f6e627b52 Fix typos in haddock comments. 2019-06-26 13:29:07 -07:00