homepage: ''
changelog-type: markdown
hash: f1008771eb7f258d37a30b932faef8df8463779a9accffcac0024d86b326e533
test-bench-deps: {}
maintainer: william.hallahan@yale.edu
synopsis: G2Q allows constraint programming, via writing Haskell predicates.
changelog: |
  # Revision history for g2q

  ## 0.1.0.0  -- YYYY-mm-dd

  * First version. Released on an unsuspecting world.
basic-deps:
  base: ! '>=4.10 && <4.11'
  g2: ! '>=0.1.0.1 && <0.1.1.0'
all-versions:
- 0.1.0.0
author: William Hallahan, Anton Xue
latest: 0.1.0.0
description-type: markdown
description: "## G2Q\n---\n#### About\nG2Q allows constraint programming, via writing
  Haskell predicates.\nA quasiquoter, g2, is provided which can take concrete arguments
  at runtime, and solve for unknown symbolic arguments.\n\nFor example, to find inputs
  from a list xs which sum to a given number n, you can write:\n```  \nsumToN :: Int
  -> [Int] -> IO (Maybe [Int])\nsumToN = [g2| \\(n :: Int) (xs :: [Int]) ->\n              ?(ys
  :: [Int])\n            |  sum ys == n\n            && all (\\e -> e `elem` xs) ys\n
  \           && length ys >= 1 |]\n```"
license-name: BSD-3-Clause

Update from Hackage at 2019-06-30T03:20:25Z
Update from Hackage at 2019-06-30T03:20:25Z
