-- Initial proxy-kindness.cabal generated by cabal init. For further -- documentation, see http://haskell.org/cabal/users-guide/ name: proxy-kindness version: 0.1 synopsis: A library for kind-polymorphic manipulation and inspection of Proxy values description: It can be useful (especially with @PolyKinds@) to get the \"bare\" type (e.g. @Either@) of some parameterized type (e.g. @Either Char Int@). This library provides closed classes that can strip and reapply type arguments, as well as useful utility functions. Here are some examples: . Force @Left 1@ to be of type @Either Float a@ using a partially-applied 'Proxy'. . >>> let t = (Left 1) `asApplied` (Proxy :: Proxy (Either Float)) >>> :t t t :: Either Float a . Do the same, but illustrating type application with @ap@ . >>> let t0 = (Left 1) `asApplied` ((Proxy :: Proxy Either) `ap` (Proxy :: Proxy Float)) >>> :t t0 t0 :: Either Float a . Force polymorphic @undefined@ to some polymorphic @Either@ type, the base type of @t@ defined above. . >>> let u = undefined `asApplied` (unappliedOf t) >>> :t u u :: Either a a1 homepage: https://github.com/jberryman/proxy-kindness license: BSD3 license-file: LICENSE author: Brandon Simmons maintainer: brandon.m.simmons@gmail.com category: Data build-type: Simple cabal-version: >=1.10 source-repository head type: git location: https://github.com/jberryman/proxy-kindness.git branch: master library exposed-modules: Data.Proxy.Kindness -- other-modules: other-extensions: PolyKinds, FunctionalDependencies, FlexibleInstances, FlexibleContexts, OverlappingInstances, UndecidableInstances, ScopedTypeVariables, TypeFamilies build-depends: base >=4.6 && <4.7 , tagged -- hs-source-dirs: default-language: Haskell2010