cabal-version: 3.0
name: parametric-functor
version: 0.1.0.0
synopsis: A known-parametric Functor typeclass
description:
As Oleg Grenrus [argued](http://oleg.fi/gists/posts/2019-07-31-fmap-coerce-coerce.html) in 2019,
'Functor's should be parametric, and in particular should:
- Satisfy @fmap coerce@ = @coerce@
- Have a @∀ a b. Coercible a b ⇒ Coercible (f a) (f b)@ super-constraint
Until this change gets adopted in @base@, this package can be used for a variant of 'Functor'
which satisfies these requirements.
bug-reports: https://github.com/shlevy/parametric-functor/issues
homepage: https://github.com/shlevy/parametric-functor
license: Apache-2.0
license-file: LICENSE
author: Shea Levy
maintainer: shea@shealevy.com
copyright:
Copyright 2024 Shea Levy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
category: Data
build-type: Simple
extra-doc-files: CHANGELOG.md
tested-with: GHC == { 9.8.1 }
source-repository head
type: git
location: https://github.com/shlevy/parametric-functor
library
exposed-modules: Data.Functor.Parametric
build-depends: base >= 4.12 && < 5
hs-source-dirs: src
default-language: Haskell98