name:                instance-map
version:             0.1.0.0
synopsis:            Template haskell utilities for helping with deserialization etc. of existential types
description:         instance-map provides Template Haskell functions that help go from serialized values with value-level type witnesses (i.e. TypeRep values) to existential types containing type-level evidence of membership in a type class. It is useful for dealing with serialized values when only membership in a certain class (and not the monomorphic type) is known at the site of deserialization.

homepage:            https://github.com/RichardWarfield/instance-map#readme
license:             BSD3
license-file:        LICENSE
author:              Richard Warfield
maintainer:          richard@litx.io
copyright:           2018 Richard Warfield
category:            Dependent Types
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10

library
  hs-source-dirs:      src
  exposed-modules:     Type.InstanceMap Type.InstanceMap.TH
  build-depends:       base >= 4.7 && < 5
                     , containers 
                     , mtl
                     , template-haskell
  default-language:    Haskell2010

source-repository head
  type:     git
  location: https://github.com/RichardWarfield/instance-map


test-suite instance-map-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  build-depends:       base
                     , instance-map
                     , bytestring
                     , containers 
                     , mtl
                     , template-haskell
                     , hspec
                     , binary
                     , aeson
  ghc-options:         -j3 -rtsopts  -dynamic
  default-language:    Haskell2010