numbered-semigroups-0.1.0.0: A sequence of semigroups, for composing stuff in multiple spatial directions.

Copyright(c) Justus Sagemüller 2017
LicenseLGPL v3
Maintainer(@) jsagemue $ uni-koeln.de
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.Semigroup.Numbered

Contents

Description

 

Synopsis

Documentation

class SemigroupNo n g where Source

Minimal complete definition

Nothing

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

The common directions

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.