GithubHelp home page GithubHelp logo

Comments (11)

christetreault avatar christetreault commented on July 17, 2024

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.

ranjitjhala avatar ranjitjhala commented on July 17, 2024

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
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.


Reply to this email directly or view it on GitHub
#93 (comment)
.

Ranjit.

from liquid-fixpoint.

christetreault avatar christetreault commented on July 17, 2024

Yes, and if I run out of stuff to do there is always the book.

from liquid-fixpoint.

ranjitjhala avatar ranjitjhala commented on July 17, 2024

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.

christetreault avatar christetreault commented on July 17, 2024

I'm seeing no change in behavior. Is this the fix?

d7d7244

from liquid-fixpoint.

ranjitjhala avatar ranjitjhala commented on July 17, 2024

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.

christetreault avatar christetreault commented on July 17, 2024

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.

christetreault avatar christetreault commented on July 17, 2024

...and still no dice. I am getting this trace output though:

Trace: [flattened] : []

from liquid-fixpoint.

christetreault avatar christetreault commented on July 17, 2024

I just verified that all files that were previously failing are still failing

from liquid-fixpoint.

christetreault avatar christetreault commented on July 17, 2024

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.

christetreault avatar christetreault commented on July 17, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.