name:                instance-control
version:             0.1.2.0
synopsis:            Controls how the compiler searches for instances using type families.
description:         GHC has no capability to perform graph searches on instance definition. Because of that,
                     transitive rules for type classes cannot be defined. This package solves the issue with
                     type functions performing a search on the graph where nodes are types and edges are
                     rules from a given rule database. After constructing the type-level representation of the
                     wanted path, the system constructs the needed functions from the value-level representation
                     of the database.
homepage:            https://github.com/lazac/instance-control
license:             BSD3
license-file:        LICENSE
author:              Boldizsar Nemeth
maintainer:          nboldi@caesar.elte.hu
category:            Control
build-type:          Simple
cabal-version:       >=1.10
source-repository head
  type:                git
  location:            http://github.com/nboldi/instance-control

library
  exposed-modules:     Control.Instances.Morph
  other-modules:       Control.Instances.TypeLevelPrelude
                     , Control.Instances.ShortestPath
  other-extensions:    TypeFamilies, DataKinds, TypeOperators, MultiParamTypeClasses, FlexibleInstances, PolyKinds, UndecidableInstances, AllowAmbiguousTypes, RankNTypes, ScopedTypeVariables, FlexibleContexts, OverlappingInstances
  build-depends:       base >=4.9 && <5.0
                     , mtl >=2.2 && <2.3
                     , transformers >=0.4 && <0.6
  default-language:    Haskell2010