Comments (11)
Some additional background:
At first, I didn't check for this case. I assumed that the system would consider mempty
as a failure, and was just returning the result. However if you mconcat []
you get mempty
, and the system considers this to be Sat.
This only fails 1 of the regression tests so I added this check to solvePar
case fis of
[] -> solveExt c fi
[onePart] -> solveExt c onePart
_ -> --stuff
which would use the serial solver in this case. However, it has now occured to me that this is shortsighted, and that this is just hiding a bug in the system. Now solvePar
throws an exception on the empty list case, and it is clear that this issue is much more pervasive than I initially thought.
from liquid-fixpoint.
Interesting. Will take a look at this ASAP. In the meantime I'm guessing
you can make progress on the other benchmarks?
On Wed, Aug 5, 2015 at 11:20 PM, Chris Tetreault [email protected]
wrote:
Some additional background:
At first, I didn't check for this case. I assumed that the system would
consider mempty as a failure, and was just returning the result. However
if you mconcat [] you get mempty, and the system considers this to be Sat.This only fails 1 of the regression tests so I added this check to
solveParcase fis of
[] -> solveExt c fi
[onePart] -> solveExt c onePart
_ -> --stuffwhich would use the serial solver in this case. However, it has now
occured to me that this is shortsighted, and that this is just hiding a bug
in the system. Now solvePar throws an exception on the empty list case,
and it is clear that this issue is much more pervasive than I initially
thought.—
Reply to this email directly or view it on GitHub
#93 (comment)
.
Ranjit.
from liquid-fixpoint.
Yes, and if I run out of stuff to do there is always the book.
from liquid-fixpoint.
I just pushed a fix for this issue (to the cores branch). Can you take a
look?
(We were getting empty lists when the input FInfo had ZERO constraints...)
Interestingly, like many others, a bug that would have been caught if we
were using LH on itself :)
On Fri, Aug 7, 2015 at 12:33 AM, Chris Tetreault [email protected]
wrote:
Yes, and if I run out of stuff to do there is always the book.
—
Reply to this email directly or view it on GitHub
#93 (comment)
.
Ranjit.
from liquid-fixpoint.
I'm seeing no change in behavior. Is this the fix?
from liquid-fixpoint.
Sorry, looks like I forgot to push. (But now I did.)
This is the fix, can you see if it works?
https://github.com/ucsd-progsys/liquid-fixpoint/blob/cores/src/Language/Fixpoint/Partition.hs#L53
Also, how are you running the tests?
from liquid-fixpoint.
I've been using make test
, however when I do I get this error when the test goes to actually run:
cabal exec ./dist/build/test/test -- --smtsolver z3 --hide-successes --rerun-update -p 'Unit/' -j1 +RTS -N1 -RTS
cabal: The program './dist/build/test/test' is required but it could not be
found.
Makefile:65: recipe for target 'test' failed
make: *** [test] Error 1
I strongly suspect that this is because of my slightly wonky cabal setup, so I haven't reported it as a bug. As a workaround, I do this:
$ cabal exec bash
$ ./dist/build/test/test --smtsolver z3 --hide-successes --rerun-update -p 'Unit/' -j1 +RTS -N1 -RTS
for testing the single-threaded implementation or:
$ cabal exec bash
$ ./dist/build/test/test --smtsolver z3 --hide-successes --rerun-update -p 'Unit/' -j1 +RTS -N4 -RTS --liquid-opts --cores=4
for multithreaded. I kind of like it this way because it makes it easy to tweak the arguments (things like showing success)
from liquid-fixpoint.
...and still no dice. I am getting this trace output though:
Trace: [flattened] : []
from liquid-fixpoint.
I just verified that all files that were previously failing are still failing
from liquid-fixpoint.
It looks like your fix works if you don't specify a number of partitions. I'll go ahead and see if I can't apply your fix to partitonByConstraints'
from liquid-fixpoint.
OK I've updated partition' to apply the fix to both the Nothing
case and the Just n
case. I've also cleaned up the code a bit, and deleted a bunch of superfluous stuff.
I re-ran the tests, and now the only failing tests are the five from issue #88.
At this point, I believe that this issue can be closed.
from liquid-fixpoint.
Related Issues (20)
- SortChecl: lookup in Empty Env HOT 3
- Simplify test fails with divide by zero
- One of tested-with? HOT 3
- Error installing with cabal HOT 1
- Disable expansion of reflected functions with unevaluated guards HOT 1
- Stan static analysis using `.hie` files. HOT 1
- `z3-4.10.*` versions don't work for liquid-fixpoint HOT 7
- Simplify test fails with divide by zero (again).
- Produce an intelligible error message when the z3 version is not the expected one HOT 1
- Add upper bound <0.2 to liquid-fixpoint-0.8.10.7
- Improve adding theories
- Mark erroneous version as deprecated. HOT 7
- Z3 version parser fails on git hash output
- Investigate test failure in "computes a fixpoint"
- Missing suffix in var when printing solution with --save HOT 1
- Scrape fails to find qualifier
- Remove GHC-specific bits from liquid-fixpoint
- Move from `haskell/actions` to `haskell-actions`
- Allow to write predicates without question marks HOT 6
- Avoid divide-by-zero in the PLE Interpreter HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from liquid-fixpoint.