Commit Graph

1510 Commits

Author SHA1 Message Date
Iavor S. Diatchki
65ebbb5956 Extend core linter with support for parameterized modules. 2017-10-26 14:20:29 -07:00
Iavor S. Diatchki
26240742a4 Pretty print when panicing, makes it easier to see 2017-10-26 11:50:48 -07:00
Iavor S. Diatchki
8627945ade Fix up transformation 2017-10-26 11:50:36 -07:00
Iavor Diatchki
1f86f4c3b3 Some examples. 2017-10-25 17:00:23 -07:00
Iavor Diatchki
b87f387d38 Add param in the correct place, but there's still something wrong. 2017-10-25 17:00:11 -07:00
Iavor Diatchki
3f4cc570cf Use a record for all module parameters at the value level. Also improve PP 2017-10-25 16:39:29 -07:00
Iavor Diatchki
5c51d32a4e Fix up html syntax highlighting. 2017-10-25 11:12:37 -07:00
Iavor Diatchki
c666731495 Print help for type parameters. 2017-10-24 16:12:12 -07:00
Iavor Diatchki
6056eaad4b Use proper types for module parameters; allows for stroing metadata
For example, documentaiton.
2017-10-24 15:43:32 -07:00
Iavor Diatchki
dbaf7b21bf Merge remote-tracking branch 'origin/master' into abstract-types 2017-10-24 14:05:16 -07:00
Iavor Diatchki
9ecc8f720d Add some tests. 2017-10-24 14:04:41 -07:00
Iavor Diatchki
2f53602749 We need to instantiate constraints, not parameterize them! 2017-10-24 14:04:30 -07:00
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