| Copyright | (c) Justus Sagemüller 2017 | 
|---|---|
| License | LGPL v3 | 
| Maintainer | (@) justussa $ kth.se | 
| Stability | experimental | 
| Portability | portable | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell2010 | 
Data.Semigroup.Numbered
Description
Synopsis
- class SemigroupNo (n :: Nat) g where
 - type SemigroupX = SemigroupNo 0
 - type SemigroupY = SemigroupNo 1
 - type SemigroupZ = SemigroupNo 2
 - (|||) :: SemigroupX g => g -> g -> g
 - (===) :: SemigroupY g => g -> g -> g
 - (│) :: SemigroupX g => g -> g -> g
 - (──) :: SemigroupY g => g -> g -> g
 - (■) :: SemigroupZ g => g -> g -> g
 - (┃) :: SemigroupX g => g -> g -> g
 - (━━) :: SemigroupY g => g -> g -> g
 - (██) :: SemigroupZ g => g -> g -> g
 
Documentation
class SemigroupNo (n :: Nat) g where Source #
Methods
sappendN :: proxy n -> g -> g -> g Source #
sconcatN :: proxy n -> NonEmpty g -> g Source #
stimesN :: (Integral b, HasCallStack) => proxy n -> b -> g -> g Source #
Instances
| SemigroupNo n Void Source # | |
| SemigroupNo n () Source # | |
| SemigroupNo n g => SemigroupNo n (Maybe g) Source # | |
| SemigroupNo 0 [Void] Source # | |
| SemigroupNo 0 [Rational] Source # | |
| SemigroupNo 0 [Maybe a] Source # | |
| SemigroupNo 0 [Integer] Source # | |
| SemigroupNo 0 [()] Source # | |
| SemigroupNo 0 [Char] Source # | |
| SemigroupNo 0 [Double] Source # | |
| SemigroupNo 0 [Float] Source # | |
| SemigroupNo 0 [Int] Source # | |
| SemigroupNo 0 [a] => SemigroupNo 0 [[a]] Source # | |
| SemigroupNo 1 [[Void]] Source # | |
| SemigroupNo 1 [[Rational]] Source # | |
| SemigroupNo 1 [[Maybe a]] Source # | |
| SemigroupNo 1 [[Integer]] Source # | |
| SemigroupNo 1 [[()]] Source # | |
| SemigroupNo 1 [[Char]] Source # | |
| SemigroupNo 1 [[Double]] Source # | |
| SemigroupNo 1 [[Float]] Source # | |
| SemigroupNo 1 [[Int]] Source # | |
| SemigroupNo 1 [[a]] => SemigroupNo 1 [[[a]]] Source # | |
| SemigroupNo n (Proxy x) Source # | |
| SemigroupNo n g => SemigroupNo n (a -> g) Source # | |
The common directions
type SemigroupX = SemigroupNo 0 Source #
type SemigroupY = SemigroupNo 1 Source #
type SemigroupZ = SemigroupNo 2 Source #
Infix ops (diagrams/hmatrix style)
(|||) :: SemigroupX g => g -> g -> g infixl 6 Source #
Horizontal concatenation. Fixity as in diagrams.
(===) :: SemigroupY g => g -> g -> g infixl 6 Source #
Vertical concatenation. Fixity as in diagrams.
Infix ops (ASCII-art style)
(│) :: SemigroupX g => g -> g -> g infixr 6 Source #
Horizontal concatenation. Fixity as of the standard semigroup.
U+2502 / Vim digraph vv.
(──) :: SemigroupY g => g -> g -> g infixr 5 Source #
Vertical concatenation. U+2500 / Vim digraph hh.
(■) :: SemigroupZ g => g -> g -> g infixr 4 Source #
z-concatenation. U+25A0 / Vim digraph fS.
(┃) :: SemigroupX g => g -> g -> g infixr 3 Source #
Horizontal concatenation. U+2503 / Vim digraph VV.
(━━) :: SemigroupY g => g -> g -> g infixr 2 Source #
Vertical concatenation. U+2501 / Vim digraph HH.
(██) :: SemigroupZ g => g -> g -> g infixr 1 Source #
z-concatenation. U+254B / Vim digraph FB.