| Copyright | (C) 2018 chessai |
|---|---|
| License | MIT (see the file LICENSE) |
| Maintainer | chessai <chessai1996@gmail.com> |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell98 |
Data.Semiring.Generic
Contents
Description
This module provides generic deriving tools for semirings and rings for product-like structures.
Synopsis
- class GSemiring f where
- gzero :: (Generic a, GSemiring (Rep a)) => a
- gone :: (Generic a, GSemiring (Rep a)) => a
- gplus :: (Generic a, GSemiring (Rep a)) => a -> a -> a
- gtimes :: (Generic a, GSemiring (Rep a)) => a -> a -> a
- class GRing f where
- gnegate' :: f a -> f a
- gnegate :: (Generic a, GRing (Rep a)) => a -> a
Documentation
Orphan instances
| (Ring a, Ring b) => Ring (a, b) # | |
| (Semiring a, Semiring b) => Semiring (a, b) # | |
| (Ring a, Ring b, Ring c) => Ring (a, b, c) # | |
| (Semiring a, Semiring b, Semiring c) => Semiring (a, b, c) # | |
| (Ring a, Ring b, Ring c, Ring d) => Ring (a, b, c, d) # | |
| (Semiring a, Semiring b, Semiring c, Semiring d) => Semiring (a, b, c, d) # | |
| (Ring a, Ring b, Ring c, Ring d, Ring e) => Ring (a, b, c, d, e) # | |
| (Semiring a, Semiring b, Semiring c, Semiring d, Semiring e) => Semiring (a, b, c, d, e) # | |
| (Ring a, Ring b, Ring c, Ring d, Ring e, Ring f) => Ring (a, b, c, d, e, f) # | |
| (Semiring a, Semiring b, Semiring c, Semiring d, Semiring e, Semiring f) => Semiring (a, b, c, d, e, f) # | |
| (Ring a, Ring b, Ring c, Ring d, Ring e, Ring f, Ring g) => Ring (a, b, c, d, e, f, g) # | |
| (Semiring a, Semiring b, Semiring c, Semiring d, Semiring e, Semiring f, Semiring g) => Semiring (a, b, c, d, e, f, g) # | |