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
.