How To Install ghc-generic-deriving on Fedora 36

In this tutorial we learn how to install ghc-generic-deriving in Fedora 36. ghc-generic-deriving is Generic programming library for generalised deriving

Introduction

In this tutorial we learn how to install ghc-generic-deriving on Fedora 36.

What is ghc-generic-deriving

This package provides functionality for generalising the deriving mechanism in Haskell to arbitrary classes. It was first described in the paper * /A generic deriving mechanism for Haskell/. Jose Pedro Magalhaes, Atze Dijkstra, Johan Jeuring, and Andres Loeh. Haskell'10. The current implementation integrates with the new GHC Generics. See <http Template Haskell code is provided for supporting older GHCs. This library is organized as follows * “Generics.Deriving.Base” defines the core functionality for GHC generics, including the ‘Generic(1)’ classes and representation data types. On modern versions of GHC, this simply re-exports “GHC.Generics” from ‘base’. On older versions of GHC, this module backports parts of “GHC.Generics” that were not included at the time, including ‘Generic(1)’ instances. * “Generics.Deriving.TH” implements Template Haskell functionality for deriving instances of ‘Generic(1)’. * Educational code “GHC.Generics”-based defaults, this library offers a number of modules which define examples of type classes along with default implementations for the classes’ methods. Currently, the following modules are provided “Generics.Deriving.Copoint”, “Generics.Deriving.ConNames”, “Generics.Deriving.Enum”, “Generics.Deriving.Eq”, “Generics.Deriving.Foldable”, “Generics.Deriving.Functor”, “Generics.Deriving.Monoid”, “Generics.Deriving.Semigroup”, “Generics.Deriving.Show”, “Generics.Deriving.Traversable”, and “Generics.Deriving.Uniplate”. It is worth emphasizing that these modules are primarly intended for educational purposes. Many of the classes in these modules resemble other commonly used classes—for example, ‘GShow’ from “Generics.Deriving.Show” resembles ‘Show’ from ‘base’—but in general, the classes that ‘generic-deriving’ defines are not drop-in replacements. Moreover, the generic defaults that ‘generic-deriving’ provide often make simplifying assumptions that may violate expectations of how these classes might work elsewhere. For example, the generic default for ‘GShow’ does not behave exactly like ‘deriving Show’ would. If you are seeking “GHC.Generics”-based defaults for type classes in ‘base’, consider using the ‘’ library. * “Generics.Deriving.Default” provides newtypes that allow leveraging the generic defaults in this library using the ‘DerivingVia’ GHC language extension. * “Generics.Deriving” re-exports “Generics.Deriving.Base”, “Generics.Deriving.Default”, and a selection of educational modules.

We can use yum or dnf to install ghc-generic-deriving on Fedora 36. In this tutorial we discuss both methods but you only need to choose one of method to install ghc-generic-deriving.

Install ghc-generic-deriving on Fedora 36 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

After updating yum database, We can install ghc-generic-deriving using dnf by running the following command:

sudo dnf -y install ghc-generic-deriving

Install ghc-generic-deriving on Fedora 36 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

After updating yum database, We can install ghc-generic-deriving using yum by running the following command:

sudo yum -y install ghc-generic-deriving

How To Uninstall ghc-generic-deriving on Fedora 36

To uninstall only the ghc-generic-deriving package we can use the following command:

sudo dnf remove ghc-generic-deriving

ghc-generic-deriving Package Contents on Fedora 36

/usr/lib/.build-id
/usr/lib/.build-id/d1
/usr/lib/.build-id/d1/8466d089d1468645e9991bb8fc095fa98daa83
/usr/lib64/libHSgeneric-deriving-1.14-JNjweV1BbPJ74AopR0TcGQ-ghc8.10.5.so
/usr/share/licenses/ghc-generic-deriving
/usr/share/licenses/ghc-generic-deriving/LICENSE

References

Summary

In this tutorial we learn how to install ghc-generic-deriving on Fedora 36 using yum and [dnf]((/fedora/36/dnf/).