A typeclass and set of functions for working with newtypes

Version on this page:0.6.2@rev:2
LTS Haskell 22.25:0.6.2@rev:4
Stackage Nightly 2024-06-15:0.6.2@rev:4
Latest on Hackage:0.6.2@rev:4

See all snapshots newtype-generics appears in

BSD-3-Clause licensed by Darius Jahandarie, Conor McBride, João Cristóvão, Simon Jakobi
Maintained by Simon Jakobi
This version can be pinned in stack with:newtype-generics-0.6.2@sha256:81cbf377241a186ac210bb60417ac3a23ea576257b01ec7be7051790b225daeb,2053

Module documentation for 0.6.2

Depends on 1 package(full list with versions):
Used by 4 packages in nightly-2023-12-26(full list with versions):

Per Conor McBride, the Newtype typeclass represents the packing and unpacking of a newtype, and allows you to operate under that newtype with functions such as ala. Generics support was added in version 0.4, making this package a full replacement for the original newtype package, and a better alternative to newtype-th.


Changelog for newtype-generics

[0.6.2] – 2022-05-19

  • Remove dependency on transformers.

0.6.1 – 2021-11-02

  • Support GHC-9.2

0.6 – 2021-02-04

  • Remove the deprecated Control.Newtype module.
  • Support GHC-9.0

0.5.4 – 2019-09-10

  • Add Newtype instance for Data.Monoid.Ap.
  • Support GHC-8.8.

0.5.3 – 2018-03-23

  • All code was moved to a new Control.Newtype.Generics module.
  • Control.Newtype re-exports Control.Newtype.Generics, but is deprecated and will be removed in the next major release. – 2018-03-16

  • Adjust bounds for base and transformers – 2018-02-16

  • Reupload due to README encoding issue

0.5.2 – 2018-02-16


  • under2
  • over2


  • Various documentation improvements



  • Add more instances from base


  • Compatibility with GHC 8.2.1



  • Relax types of underF and overF to allow different input & output functors