-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Generate Haskell code from a type. Bridge from Djinn to GHC API.
--   
--   Djinn uses an theorem prover for intuitionistic propositional logic to
--   generate a Haskell expression when given a type. This is the bridge
--   from djinn-lib to GHC API.
@package djinn-ghc
@version 0.0.2.3

module Djinn.GHC

-- | Bindings which are in scope at a specific point.
type Environment = [(Name, Type)]

-- | Obtain a maximum number of solutions.
newtype MaxSolutions
Max :: Int -> MaxSolutions

-- | Obtain the list of expressions which could fill something with the
--   given type. The first flag specifies whether to return one or more
--   solutions to the problem.
djinn :: GhcMonad m => Bool -> Maybe ModuleInfo -> Environment -> Type -> MaxSolutions -> Int -> m [String]
