Skip to content

Demo of Liquid Haskell integration for Cabal and stack (see spinda/liquidhaskell-cabal)

License

Notifications You must be signed in to change notification settings

ucsd-progsys/liquidhaskell-cabal-demo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

liquidhaskell-cabal-demo

Demo of Liquid Haskell integration for Cabal and Stack.

Hackage Hackage-Deps

What's This?

This is a sample project set up with liquidhaskell-cabal. It includes:

  • A .cabal file configured for liquidhaskell-cabal, including custom LiquidHaskell flags for each component of the package.
  • A Setup.hs file file set up to hook liquidhaskell-cabal into the build process.
  • A stack.yaml file demonstrating the small tweaks needed to use

Pre-Flight Setup

To use LiquidHaskell at all, you'll need to have the LiquidHaskell binary installed and available in your $PATH, via one of:

stack install liquidhaskell # if you're using Stack
cabal install liquidhaskell # if you're using Cabal directly

(Please make sure you have a version >= 0.6.0.0 installed.)

If you're using Cabal <1.24, you'll need to install the liquidhaskell-cabal package manually before trying to build this project, to make it available to the Setup.hs file.

cabal install liquidhaskell-cabal-0.1.1.0

Stack and Cabal >=1.24 can automatically handle Setup.hs dependencies.

Test Drive

Once everything is set up, this sample project can be built with one of:

stack build # if you're using Stack
cabal build # if you're using Cabal directly

This will do a normal build without LiquidHaskell active. To build and verify with LiquidHaskell, run one of:

stack build --flag liquidhaskell-cabal-demo:liquidhaskell # if you're using Stack
cabal configure -fliquidhaskell && cabal build            # if you're using Cabal directly

About

Demo of Liquid Haskell integration for Cabal and stack (see spinda/liquidhaskell-cabal)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Haskell 94.5%
  • C 4.3%
  • C++ 1.2%