, but I think I'm perhaps just making a mistake and someone might be able to point me in the right direction.
I have some library file, toyprogram/Library.hs, that I do not want to verify:
module Library (foo) where
foo a = a
I have a spec for Library,
toyprogram/Library.spec, that has a time-bomb refinement (so we'll know if it's used):
module Library where
foo :: a:{v:t | false} -> t
And I have a client file, toyprogram/Client.hs, that I would like to verify using LiquidHaskell:
module Client where
import Library
bar = foo 1
If I run
liquid --idirs=toyprogram/ toyprogram/Client.hs
what I would expect to happen is that LiquidHaskell report UNSAFE, since I expect that LiquidHaskell will use the flawed Library.spec to refine foo.
However, that command is reporting SAFE for me. LiquidHaskell is reporting SAFE even if Library.spec has syntax errors. It seems like Library.spec is being ignored. How can I point LiquidHaskell towards my spec files?