homepage: https://github.com/RyanGlScott/proxied
changelog-type: markdown
hash: 44843ee85a61a232b1ffbfbdaa47539fb5eb386e8a2ba523509562a1c323c66a
test-bench-deps: {}
maintainer: Ryan Scott <ryan.gl.scott@gmail.com>
synopsis: Make functions consume Proxy instead of undefined
changelog: ! '## 0.1

  * Initial commit

'
basic-deps:
  base: ! '>=4.3 && <5'
  generic-deriving: ! '>=1 && <2'
  tagged: ! '>=0.4.4 && <1'
all-versions:
- '0.1'
author: Ryan Scott
latest: '0.1'
description-type: markdown
description: ! "# `proxied`\n[![Hackage](https://img.shields.io/hackage/v/proxied.svg)][Hackage:
  proxied]\n[![Hackage Dependencies](https://img.shields.io/hackage-deps/v/proxied.svg)](http://packdeps.haskellers.com/reverse/proxied)\n[![Haskell
  Programming Language](https://img.shields.io/badge/language-Haskell-blue.svg)][Haskell.org]\n[![BSD3
  License](http://img.shields.io/badge/license-BSD3-brightgreen.svg)][tl;dr Legal:
  BSD3]\n[![Build](https://img.shields.io/travis/RyanGlScott/proxied.svg)](https://travis-ci.org/RyanGlScott/proxied)\n\n[Hackage:
  proxied]:\n  http://hackage.haskell.org/package/proxied\n  \"proxied package on
  Hackage\"\n[Haskell.org]:\n  http://www.haskell.org\n  \"The Haskell Programming
  Language\"\n[tl;dr Legal: BSD3]:\n  https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29\n
  \ \"BSD 3-Clause License (Revised)\"\n\n`proxied` is a simple library that exports
  a function to convert constant functions to ones that take a `proxy` value. This
  is useful for retrofiting typeclasses that have functions that return a constant
  value for any value of a particular type (but still need to consume some value,
  since one of the parameterized types must appear in a typeclass function). Often,
  these functions are given `undefined` as an argument, which might be considered
  poor design.\n\n `Proxy`, however, does not carry any of the error-throwing risks
  of `undefined`, so it is much more preferable to take `Proxy` as an argument to
  a constant function instead of `undefined`. Unfortunately, `Proxy` was included
  in `base` until GHC 7.8, so many of `base`'s typeclasses still contain constant
  functions that aren't amenable to passing `Proxy`. `proxied` addresses this issue
  by providing variants of those typeclass functions that take an explicit `proxy`
  value.\n"
license-name: BSD3

Update from Hackage at 2016-02-18T04:21:04+0000
Update from Hackage at 2016-02-18T04:21:04+0000
