A typeclass and set of functions for working with newtypes

Version on this page:0.6.1
LTS Haskell 22.12:0.6.2@rev:2
Stackage Nightly 2023-12-26:0.6.2@rev:2
Latest on Hackage:0.6.2@rev:2

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.1@sha256:9c3ee37721c24bcb62a96eee99da4bb1b8c49728059c3da2f21a381dc205dfbc,2023

Module documentation for 0.6.1

Depends on 2 packages(full list with versions):
Used by 2 packages in lts-18.28(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.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