Commit Graph

1598 Commits

Author SHA1 Message Date
Iavor Diatchki
e2d74066d8 Only load by module name, if we have a special module name.
Otherwise, scripts tend to fail to reload, as they have no module name,
which defaults to `Main`, but the file name is called something else.
2017-10-24 13:46:48 -07:00
Iavor Diatchki
fd0e6258fc More fixes to rewriting code. 2017-10-24 13:41:37 -07:00
Iavor Diatchki
2de8eff416 Fix up translation, to change the type of name to Parameter 2017-10-24 11:59:59 -07:00
Iavor Diatchki
07c5e1fcb8 Bump language standard to 2010. We're beyond '98 anyway... 2017-10-24 11:59:34 -07:00
Iavor Diatchki
c2ca8f30a7 Fix displaying of parameters. 2017-10-24 11:44:44 -07:00
Iavor Diatchki
8472cfb0db Fix editing and reloading for generated modules. 2017-10-24 11:16:13 -07:00
Iavor Diatchki
4c9d25bf39 Fix up browsing for module with added params. 2017-10-24 11:09:57 -07:00
Iavor Diatchki
ca6b34f621 Refactor module system things; better loading of `A modules. 2017-10-23 15:12:12 -07:00
Iavor Diatchki
98e8a4b308 Fix the benchmarking code. 2017-10-23 10:14:17 -07:00
Iavor Diatchki
05e3a84cd1 Plug in adding parameters to each definition. XXX: fix repl :m :load 2017-10-20 16:33:02 -07:00
Iavor Diatchki
d52c5f5938 Merge remote-tracking branch 'origin/master' into abstract-types
# Conflicts:
#	src/Cryptol/Parser/ParserUtils.hs
2017-10-20 14:07:47 -07:00
Iavor Diatchki
1e17bd03cf Make parser use strict text (XXX: does this affect performance +ve or -ve)
Also makes module names into their own newtype
2017-10-20 12:00:00 -07:00
Brian Huffman
8db89ab3ee Add test case for issue #474. 2017-10-20 11:09:51 -07:00
Brian Huffman
e3ea9335c8 Put correct VWord width tag on result of symbolic index operation.
Fixes #474.

Previously, applying (@) at type `[a][b] -> [i] -> [b]` would tag the
result value as having width `a` instead of width `b`. This is now fixed.
2017-10-20 11:09:32 -07:00
Iavor S. Diatchki
300383772f Just a clarification 2017-10-19 15:17:39 -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 Diatchki
b8780ab68f Add some tests. 2017-10-18 14:33:41 -07:00
Iavor Diatchki
c3d8b4b3f8 Allow focusing of parameterized modules; disable evaluation in such contexts. 2017-10-18 14:33:12 -07:00
Iavor Diatchki
432638a77a Allow a value parameter to be defined by another value parameter. 2017-10-18 13:36:37 -07:00
Iavor Diatchki
1cbbba7c32 More functionality 2017-10-17 16:26:05 -07:00
Iavor Diatchki
dda54aa016 More progress 2017-10-16 15:54:42 -07:00
Iavor Diatchki
acacd0b53d Merge remote-tracking branch 'origin/master' into abstract-types
# Conflicts:
#	src/Cryptol/TypeCheck/Monad.hs
2017-10-16 14:25:08 -07:00
Iavor Diatchki
942173b7f9 Add comments and fixes #473 2017-10-16 14:09:52 -07:00
Iavor Diatchki
a85ff3a54b Add comments 2017-10-16 14:05:46 -07:00
Iavor Diatchki
6ba8849216 Just reformat 2017-10-16 14:05:31 -07:00
Iavor Diatchki
043334f8f9 Name is cryptol nowadays 2017-10-16 14:05:17 -07:00
Iavor Diatchki
ec456b9447 Fix typo 2017-10-16 14:05:01 -07:00
Iavor S. Diatchki
15f236d42b More loading of instances (incomplete) 2017-10-13 15:27:42 -07:00
Iavor S. Diatchki
2b21610796 Better integration of module parameters with module system and REPL 2017-10-13 11:35:46 -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
3f2ac1171c Comments 2017-10-13 10:40:24 -07:00
Iavor Diatchki
51808bbf23 More comments 2017-10-06 16:24:10 -07:00
Iavor Diatchki
f71b951108 Some documentation. 2017-10-06 15:57:45 -07:00
Aaron Tomb
ef09fde6e5 Fix Travis for real now 2017-10-06 14:44:11 -07:00
Aaron Tomb
3134acbb7d Better section names for Travis 2017-10-06 14:35:58 -07:00
Aaron Tomb
1cb7d4dcaa Use cabal new-build on AppVeyor 2017-10-06 14:19:01 -07:00
Aaron Tomb
39766c1b2e Use cabal new-build on Travis 2017-10-06 14:17:35 -07:00
Iavor Diatchki
b5ef48dcd7 Fix-up the benchmarking code. 2017-10-06 11:55:48 -07:00
Iavor S. Diatchki
13ac2d9f05 wibble 2017-10-05 15:52:50 -07:00
Brian Huffman
109255e28f Update generated pdfs. 2017-10-05 15:14:49 -07:00
Brian Huffman
fd0fc99418 Update some Integer-related stuff in the reference interpreter. 2017-10-05 15:13:37 -07:00
Iavor S. Diatchki
4e65ad03f9 Almost complete module instantiation 2017-10-05 15:10:25 -07:00
Brian Huffman
e84dcc5126 Document logical connectives (==>, /\, \/) in Programming Cryptol book. 2017-10-05 14:17:51 -07:00
Brian Huffman
fd9e003cd3 More documentation for REPL commands :browse and :help. 2017-10-05 13:51:50 -07:00
Iavor S. Diatchki
f64f051842 Now wild cards in the types of module parameters 2017-10-05 13:49:25 -07:00
Iavor S. Diatchki
f7adf8f4ba Validate schemas properly 2017-10-05 13:46:24 -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
59a34a4624 Update table of Cryptol primitives with new type constraints. 2017-10-05 11:29:21 -07:00
Brian Huffman
11067f8220 Document new type classes Zero, Logic, and SignedCmp. Fixes #451. 2017-10-05 11:15:49 -07:00
Brian Huffman
361be3827e Fix incorrect spacing after abbreviation "vs." 2017-10-05 11:08:34 -07:00