HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Package1.6.13Generics

uniplate

Help writing simple, concise and fast generic operations.

Modules

18 modules
  • Data.Generics.Biplate12DEPRECATED: Use Data.Generics.Uniplate.Operations instead. Requires multi-parameter type classes, so is no longer Haskell 98. These opera…
  • Data.Generics.Compos7Compos compatibility layer. This module serves as a drop-in
  • Data.Generics.PlateData0DEPRECATED: Use Data.Generics.Uniplate.Data instead. This module exports Biplate instances for everything with Data defined.
  • Data.Generics.PlateDirect7DEPRECATED: Use Data.Generics.Uniplate.Direct instead. This module supplies a method for writing Biplate instances more easily.
  • Data.Generics.PlateTypeable42DEPRECATED: Use Data.Generics.Uniplate.Typeable instead. This module supplies a method for writing Biplate instances more easily. To take…
  • Data.Generics.SYB12SYB compatibility layer. This module serves as a drop-in
  • Data.Generics.Str7This module provides the Str data type, which is used by the
  • Data.Generics.Uniplate13DEPRECATED Use Data.Generics.Uniplate.Operations instead. This is the main Uniplate module, which defines all the essential operations
  • Data.Generics.Uniplate.Data3This module defines Uniplate / Biplate instances for every type with a
  • Data.Generics.Uniplate.Data.Instances15In some cases, Data instances for abstract types are incorrect,
  • Data.Generics.Uniplate.DataOnly22This module functions identically to Data.Generics.Uniplate.Data, but instead of
  • Data.Generics.Uniplate.Direct8This module supplies a method for writing Uniplate and Biplate instances.
  • Data.Generics.Uniplate.Operations19Definitions of Uniplate and Biplate classes, along with all the standard operations. Import this module directly only if you are defining…
  • Data.Generics.Uniplate.Typeable42RECOMMENDATION: Use Data.Generics.Uniplate.Data instead - it usually performs
  • Data.Generics.Uniplate.Zipper10A zipper is a structure for walking a value and manipulating it in constant time. This module was inspired by the paper:
  • Data.Generics.UniplateOn12DEPRECATED: Use Data.Generics.Uniplate.Operations instead. This module retained Haskell 98 compatability, but users who are happy with
  • Data.Generics.UniplateStr14DEPRECATED: Use Data.Generics.Uniplate.Operations instead. This is the main Uniplate module, which defines all the essential operations
  • Data.Generics.UniplateStrOn12DEPRECATED: Use Data.Generics.Uniplate.Operations instead. This module retained Haskell 98 compatability, but users who are happy with

Description

Uniplate is library for writing simple and concise generic operations. Uniplate has similar goals to the original Scrap Your Boilerplate work, but is substantially simpler and faster.

To get started with Uniplate you should import one of the three following modules:

Data.Generics.Uniplate.Data - to quickly start writing generic functions. Most users should start by importing this module. Data.Generics.Uniplate.Direct - a replacement for Data.Generics.Uniplate.Data with substantially higher performance (around 5 times), but requires writing instance declarations. Data.Generics.Uniplate.Operations - definitions of all the operations defined by Uniplate. Both the above two modules re-export this module.

In addition, some users may want to make use of the following modules:

Data.Generics.Uniplate.Zipper - a zipper built on top of Uniplate instances. Data.Generics.SYB - users transitioning from the Scrap Your Boilerplate library. Data.Generics.Compos - users transitioning from the Compos library. Data.Generics.Uniplate.DataOnly - users making use of both Data and Direct to avoid getting instance conflicts.

Depends on

6 packages

Used by in this set · 3