Copyright | (c) Justus Sagemüller 2017 |
---|---|
License | GPL v3 |
Maintainer | (@) jsagemue $ uni-koeln.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
- (&~:) :: (Eq s⁰, Eq s¹, Eq s²) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> CAS s² s¹ s⁰
- (&~?) :: (Eq s⁰, Eq s¹, Eq s²) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> [CAS s² s¹ s⁰]
- (&~!) :: (Eq s⁰, Eq s¹, Eq s², Show (CAS s² s¹ s⁰), Show (CAS' GapId s² s¹ s⁰)) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> CAS s² s¹ s⁰
- (&~~!) :: (Eq l, Eq (Encapsulation l), SymbolClass σ, SCConstraint σ l, Show (AlgebraExpr σ l), Show (AlgebraPattern σ l)) => AlgebraExpr σ l -> [AlgebraPattern σ l] -> AlgebraExpr σ l
- (&~~:) :: (Eq l, Eq (Encapsulation l), SymbolClass σ, SCConstraint σ l, Show (AlgebraExpr σ l), Show (AlgebraPattern σ l)) => AlgebraExpr σ l -> [AlgebraPattern σ l] -> AlgebraExpr σ l
- continueExpr :: (Eq l, Monoid l) => (AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l) -> (AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l) -> AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l
- data Equality' γ s² s¹ s⁰ = (:=:) !(CAS' γ s² s¹ s⁰) !(CAS' γ s² s¹ s⁰)
- (%$>) :: forall σ c c' γ s² s¹. (SymbolClass σ, SCConstraint σ c) => (c -> c') -> CAS' γ s² s¹ (SymbolD σ c) -> CAS' γ s² s¹ (SymbolD σ c')
- module CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps
- type CAS = CAS' Void
- data CAS' γ s² s¹ s⁰
- data SymbolD σ c
- = NatSymbol !Integer
- | PrimitiveSymbol Char
- | StringSymbol c
- data Infix s
- data Encapsulation s
- showStructure :: CAS' γ s² s¹ s⁰ -> String
- throwStructure :: CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰
Symbolic manipulation
(&~:) :: (Eq s⁰, Eq s¹, Eq s²) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> CAS s² s¹ s⁰ infixl 1 Source #
(&~?) :: (Eq s⁰, Eq s¹, Eq s²) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> [CAS s² s¹ s⁰] infixl 1 Source #
(&~!) :: (Eq s⁰, Eq s¹, Eq s², Show (CAS s² s¹ s⁰), Show (CAS' GapId s² s¹ s⁰)) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> CAS s² s¹ s⁰ infixl 1 Source #
(&~~!) :: (Eq l, Eq (Encapsulation l), SymbolClass σ, SCConstraint σ l, Show (AlgebraExpr σ l), Show (AlgebraPattern σ l)) => AlgebraExpr σ l -> [AlgebraPattern σ l] -> AlgebraExpr σ l infixl 1 Source #
Apply a sequence of pattern-transformations and yield the result concatenated to the original via the corresponding chain-operator. Because only the rightmost expression in a chain is processed, this can be iterated, giving a chain of intermediate results.
If one of the patterns does not match, this manipulator will raise an error.
(&~~:) :: (Eq l, Eq (Encapsulation l), SymbolClass σ, SCConstraint σ l, Show (AlgebraExpr σ l), Show (AlgebraPattern σ l)) => AlgebraExpr σ l -> [AlgebraPattern σ l] -> AlgebraExpr σ l infixl 1 Source #
Apply a sequence of pattern-transformations, each in every spot possible, and yield the result concatenated to the original via the corresponding chain-operator. Because only the rightmost expression in a chain is processed, this can be iterated, giving a chain of intermediate results.
:: (Eq l, Monoid l) | |
=> (AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l) | Combinator to use for chaining the new expression to the old ones |
-> (AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l) | Transformation to apply to the rightmost expression in the previous chain |
-> AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l | Transformation which appends the result. |
Constructing equality axioms
Variable-symbols
(%$>) :: forall σ c c' γ s² s¹. (SymbolClass σ, SCConstraint σ c) => (c -> c') -> CAS' γ s² s¹ (SymbolD σ c) -> CAS' γ s² s¹ (SymbolD σ c') infixl 4 Source #
Transform the symbols of an expression, in their underlying representation.
(map succ%$> 𝑎+𝑝) * 𝑥 ≡ (𝑏+𝑞) * 𝑥
Types
UnicodeSymbols c => Show (Pattern c) | |
UnicodeSymbols c => Show (Expression c) | |
(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) | |
(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) | |
Functor (CAS' γ s² s¹) Source # | |
(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) | |
ASCIISymbols c => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) | |
(Eq γ, Eq s², Eq s¹, Eq s⁰) => Eq (CAS' γ s² s¹ s⁰) Source # | |
(ASCIISymbols c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) | |
Generic (CAS' γ s² s¹ s⁰) Source # | |
(Hashable γ, Hashable s⁰, Hashable s¹, Hashable s²) => Hashable (CAS' γ s² s¹ s⁰) Source # | |
type Rep (CAS' γ s² s¹ s⁰) Source # | |
NatSymbol !Integer | |
PrimitiveSymbol Char | |
StringSymbol c |
UnicodeSymbols c => Show (Pattern c) | |
UnicodeSymbols c => Show (Expression c) | |
(SymbolClass σ, SCConstraint σ c, Eq c) => Eq (SymbolD σ c) Source # | |
(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # | |
(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # | |
(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # | |
ASCIISymbols c => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) | |
(ASCIISymbols c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) | |
Eq s => Eq (Infix s) Source # | |
UnicodeSymbols c => Show (Pattern c) | |
UnicodeSymbols c => Show (Expression c) | |
(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # | |
(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # | |
(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # | |
ASCIISymbols c => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) | |
(ASCIISymbols c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) | |
data Encapsulation s Source #
Eq (Encapsulation String) Source # | |
UnicodeSymbols c => Show (Pattern c) | |
UnicodeSymbols c => Show (Expression c) | |
(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # | |
(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # | |
(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # | |
ASCIISymbols c => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) | |
(ASCIISymbols c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) | |
Debugging
showStructure :: CAS' γ s² s¹ s⁰ -> String Source #
throwStructure :: CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ Source #