Ryan Scott
2c00714a2b
Use correct link for GitHub Actions README badge
2021-04-22 16:39:37 -07:00
Iavor Diatchki
b2a8a23798
Remove constraints on cabal install, as we made the most progress with that...
2021-04-22 15:13:52 -07:00
Iavor Diatchki
a7daa1e9c0
Overwrite test-runner
if it was already there
2021-04-22 14:18:28 -07:00
Iavor Diatchki
c16583230a
Print test-runner version, and always build it.
2021-04-22 14:04:15 -07:00
Lisanna Dettwyler
ec614b26cd
Fix test-lib step
2021-04-22 12:35:17 -07:00
Iavor Diatchki
a25fde4473
Correct how to specify constraint
2021-04-22 10:40:33 -07:00
Iavor Diatchki
b572b086b0
Require version 0.3 of test-lib
2021-04-22 09:08:19 -07:00
Iavor Diatchki
4e0da53ff3
Change freeze files to use test-lib 0.3
2021-04-21 17:20:37 -07:00
Iavor Diatchki
0c65f5e82b
Change CI to use test-lib-0.3
and add a windows test for modsys/T18
2021-04-21 15:33:29 -07:00
Iavor Diatchki
aa7cce1668
Require version 0.3 of test-runner and a windows specific result for the test
2021-04-21 14:38:37 -07:00
Iavor Diatchki
1c175f5c85
Fix test (accounts for chanes in the standard library)
2021-04-20 14:53:21 -07:00
Iavor Diatchki
6818969db6
Fixes #1169
2021-04-20 14:47:32 -07:00
Iavor Diatchki
3df9273041
Add a pretty printing instance for naming environments
...
This is useful for debugging
2021-04-20 14:47:32 -07:00
robdockins
cd0748cc74
Merge pull request #1161 from felixonmars/patch-2
...
Allow sbv 8.14
2021-04-20 10:22:19 -07:00
Andrew Kent
dbf9d63750
Merge pull request #1164 from GaloisInc/rpc/chore/remove-dead-code
...
chore: remove dead rpc code for change directory
2021-04-19 14:03:52 -07:00
robdockins
51e5d91bc1
Merge pull request #1165 from GaloisInc/expose-utils
...
Expose `modPathSplit` and `defaultSolverConfig` for downstream use
2021-04-19 10:11:58 -07:00
Rob Dockins
a279e78d53
Expose modPathSplit
and defaultSolverConfig
for downstream use.
2021-04-16 12:12:38 -07:00
Andrew Kent
47f1428279
chore: remove dead rpc code for change directory
2021-04-15 16:11:04 -07:00
Andrew Kent
34749601e6
Merge pull request #1159 from GaloisInc/rpc/feat/check
...
feat(rpc): check, AES example/test
2021-04-14 14:53:12 -07:00
robdockins
76d1dc9df7
Merge pull request #1136 from GaloisInc/word-eval-refactor
...
Word eval refactor
2021-04-14 08:39:23 -07:00
Rob Dockins
3f66dbf713
Rework memoMap
to squash space leaks.
...
The main benefit of this reorganization is that it
notices when a memoized `SeqMap` has been forced
at all of its locations. This allows us to
discard the underlying computation, which will
never need to be consulted again. This, in turn,
allows the garbage collector to reclaim the associated
memory and help prevent certain classes of space leaks.
2021-04-13 16:14:57 -07:00
Rob Dockins
29c5bc9224
Fixes that help a small amount with space leaks
2021-04-13 15:35:57 -07:00
Felix Yan
6d17c2e97b
Allow sbv 8.14
...
Tested to build fine here.
2021-04-14 03:33:21 +08:00
Rob Dockins
aac42f4991
Fix test suite
2021-04-13 10:27:17 -07:00
Rob Dockins
69ad34b231
Add test case for issue640
...
I think we've finally cracked the nut on this strictness bug.
Fixes #640
2021-04-13 10:27:17 -07:00
Rob Dockins
31ab387c19
Update the test for issue 211 to restore the old test behavior.
...
Also, test for looping computations in addition to `error` computations.
This doesn't let us cheat by eta-expanding the error, as we were
doing before.
2021-04-13 10:27:17 -07:00
Rob Dockins
838a252770
Make the "large bit size" a bit more reasonable.
2021-04-13 10:27:17 -07:00
Rob Dockins
d4c3402496
Make joinWords
lazier in its arguments
2021-04-13 10:27:17 -07:00
Rob Dockins
5d96829dcd
Increase the strictness in the SuiteB SHA padding function.
...
With the lazier join operator, this squashes a space leak in examples that
do a lot of hashing.
2021-04-13 10:27:17 -07:00
Rob Dockins
77f6718766
Make joinWordVal
lazier in its arguments.
2021-04-13 10:27:17 -07:00
Rob Dockins
f7d66df8e2
Keep a thunk for packed words alongside bitmap representations.
...
This lets us share work, and lets us optimistically treat the word
as packed if we know it has already been forced. It also lets
us delay unpacking decisions.
2021-04-13 10:27:17 -07:00
Rob Dockins
6853ba0330
Don't reexport the SeqMap API
2021-04-13 10:27:17 -07:00
Rob Dockins
5f4b979d0b
Tweak the way delayWordValue
works.
...
This should eliminte the possiblity of building up chains
of thunked word values.
2021-04-13 10:27:17 -07:00
Rob Dockins
149428c0d8
Remove the splitWordVal
operation.
...
Replace it with `takeWordVal` and `dropWordVal` instead.
2021-04-13 10:27:17 -07:00
Rob Dockins
cc8822f736
Update reference implementation and documentation
2021-04-13 10:27:17 -07:00
Rob Dockins
b812cd5036
Temporary fix to the test for issue211.
...
We should either decide that the semantics of `#` requires it to be
strict in its arguments, or we should fix the definition.
2021-04-13 10:27:17 -07:00
Rob Dockins
e65bf8cd0c
Change largeBitsVal
into bitmapWordVal
.
...
Update it's type to prepare for upcoming changes
2021-04-13 10:27:17 -07:00
Rob Dockins
55a48ba34e
Stop eta-expanding the error
combinator.
...
This breaks the test for issue211, but we were cheating
on it anyway.
2021-04-13 10:27:17 -07:00
Rob Dockins
6d53e912e0
Fix another width accounting bug
2021-04-13 10:27:17 -07:00
Rob Dockins
62bcabac12
Fix a bug with width accounting
2021-04-13 10:27:17 -07:00
Rob Dockins
9823884083
typo
2021-04-13 10:27:17 -07:00
Rob Dockins
afd4cd6234
Try harder to see if thunks have already been forced.
2021-04-13 10:27:17 -07:00
Rob Dockins
f88b67d838
Make word updates more uniform between SBV and What4.
...
Push word updating logic into the WordValue module, which
finally allows us to delete the abstraction leaking `viewWordOrBits`
family of helpers.
2021-04-13 10:27:17 -07:00
Rob Dockins
7c3f1ac67b
Implement signed right shift uniformly
2021-04-13 10:27:17 -07:00
Rob Dockins
9d4183975e
Push word shifts into the Backend class and define shifts uniformly.
2021-04-13 10:27:17 -07:00
Rob Dockins
e7df405732
Fix import in cryptol-remote-api
2021-04-13 10:27:17 -07:00
Rob Dockins
07f4ba9d67
Make indexPrim
lazier in its sequence argument.
2021-04-13 10:27:17 -07:00
Rob Dockins
d291318bdf
Rework shifting in the concrete simulator to use the same code paths
...
as the symbolic simulators.
2021-04-13 10:27:17 -07:00
Rob Dockins
8ca536d387
Reduce the amount of sequence memoization that occurs in shifts.
...
Memoization now only occurs in the barrel shifter when a symbolic
bit is encountered, instead of at every shift.
2021-04-13 10:27:17 -07:00
Rob Dockins
ebc83275ad
Consolidate some code related to indexing and shifting.
...
Introduce the concept of "index segments", which allows us to
delay deciding if index values should be treated as packed
or unpacked until they are consumed in an indexing operation.
2021-04-13 10:27:17 -07:00