dumb-cas-0.2.1.1: A computer “algebra” system that knows nothing about algebra, at the core.
Copyright(c) Justus Sagemüller 2017
LicenseGPL v3
Maintainer(@) jsag $ hvl.no
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

CAS.Dumb

Description

 
Synopsis

Symbolic manipulation

(&~:) :: (Eq s⁰, Eq s¹, Eq s²) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> CAS s² s¹ s⁰ infixl 1 Source #

expr &~: pat :=: rep replaces every occurence of pat within expr with rep.

For example, 𝑎·𝑏𝑐·𝑑 &~: · :=: ㄘ·ㄅ yields 𝑏·𝑎 − 𝑑·𝑐.

(&~?) :: (Eq s⁰, Eq s¹, Eq s²) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> [CAS s² s¹ s⁰] infixl 1 Source #

expr &~? pat :=: rep gives every possible way pat can be replaced exactly once within expr.

For example, 𝑎·𝑏𝑐·𝑑 &~? · :=: ㄘ·ㄅ yields [𝑏·𝑎 − 𝑐·𝑑, 𝑎·𝑏 − 𝑑·𝑐].

(&~!) :: (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 #

expr &~! pat :=: rep replaces pat exactly once in expr. If this is not possible, an error is raised. If multiple occurences match, the leftmost is preferred.

(&~~!) :: (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.

continueExpr Source #

Arguments

:: (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

data Equality' γ s² s¹ s⁰ Source #

Constructors

(:=:) !(CAS' γ s² s¹ s⁰) !(CAS' γ s² s¹ s⁰) infixr 4 

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%$> 𝑎+𝑝) * 𝑥  ≡  (𝑏+𝑞) * 𝑥

Note that this can not be used with number literals.

class UnicodeSymbols c where Source #

Instances

Instances details
UnicodeSymbols String Source # 
Instance details

Defined in CAS.Dumb.Symbols

data ContextFixity Source #

Instances

Instances details
Eq ContextFixity Source # 
Instance details

Defined in CAS.Dumb.Symbols

type RenderingCombinator σ c r Source #

Arguments

 = Bool

Should the result be parenthesised?

-> Maybe r

Left context

-> SymbolD σ c

Central expressionfunctioninfix to render

-> Maybe r

Right context

-> r

Rendering result

class ASCIISymbols c where Source #

Instances

Instances details
ASCIISymbols String Source # 
Instance details

Defined in CAS.Dumb.Symbols

type AlgebraExpr' γ σ l = CAS' γ (Infix l) (Encapsulation l) (SymbolD σ l) Source #

type AlgebraExpr σ l = CAS (Infix l) (Encapsulation l) (SymbolD σ l) Source #

type family SpecialEncapsulation s Source #

Instances

Instances details
type SpecialEncapsulation String Source # 
Instance details

Defined in CAS.Dumb.Symbols

pattern StringSymbol :: c -> SymbolD σ c Source #

pattern NatSymbol :: !Integer -> SymbolD σ c Source #

pattern PrimitiveSymbol :: Char -> SymbolD σ c Source #

don'tParenthesise :: Monoid s¹ => CAS' γ (Infix s²) (Encapsulation s¹) s⁰ -> CAS' γ (Infix s²) (Encapsulation s¹) s⁰ Source #

symbolInfix Source #

Arguments

:: s²

The operator we want to describe

-> CAS' γ s² s¹ s⁰ 
-> CAS' γ s² s¹ s⁰ 
-> CAS' γ s² s¹ s⁰ 

symbolFunction :: Monoid s¹ => s¹ -> CAS' γ (Infix s²) (Encapsulation s¹) s⁰ -> CAS' γ (Infix s²) (Encapsulation s¹) s⁰ Source #

normaliseSymbols :: forall σ c γ s² s¹. (SymbolClass σ, SCConstraint σ c) => CAS' γ s² s¹ (SymbolD σ c) -> CAS' γ s² s¹ (SymbolD σ c) Source #

type Expression' γ s² s¹ c = CAS' γ s² s¹ (Symbol c) Source #

𝑎 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑏 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑐 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑑 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑒 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑓 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑔 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

:: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑖 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑗 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑘 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑙 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑚 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑛 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑜 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑝 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑞 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑟 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑠 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑡 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑢 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑣 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑤 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑥 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑦 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝑧 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐚 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐛 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐜 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐝 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐞 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐟 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐠 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐡 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐢 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐣 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐤 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐥 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐦 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐧 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐨 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐩 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐪 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐫 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐬 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐭 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐮 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐯 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐰 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐱 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐲 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝐳 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

α :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

β :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

γ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

δ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ε :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ζ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

η :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

θ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ϑ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ι :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

κ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

λ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

μ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ν :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ξ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ο :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

π :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ρ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ϱ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

σ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ς :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

τ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

υ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ϕ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

φ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

χ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ψ :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

ω :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔞 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔟 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔠 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔡 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔢 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔣 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔤 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔥 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔦 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔧 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔨 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔩 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔪 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔫 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔬 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔭 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔮 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔯 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔰 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔱 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔲 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔳 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔴 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔵 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔶 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

𝔷 :: forall {γ} {s¹} {s²} {ζ}. Expression' γ s² s¹ ζ Source #

pattern 𝑍 :: Expression' γ s² s¹ ζ Source #

pattern 𝑌 :: Expression' γ s² s¹ ζ Source #

pattern 𝑋 :: Expression' γ s² s¹ ζ Source #

pattern 𝑊 :: Expression' γ s² s¹ ζ Source #

pattern 𝑉 :: Expression' γ s² s¹ ζ Source #

pattern 𝑈 :: Expression' γ s² s¹ ζ Source #

pattern 𝑇 :: Expression' γ s² s¹ ζ Source #

pattern 𝑆 :: Expression' γ s² s¹ ζ Source #

pattern 𝑅 :: Expression' γ s² s¹ ζ Source #

pattern 𝑄 :: Expression' γ s² s¹ ζ Source #

pattern 𝑃 :: Expression' γ s² s¹ ζ Source #

pattern 𝑂 :: Expression' γ s² s¹ ζ Source #

pattern 𝑁 :: Expression' γ s² s¹ ζ Source #

pattern 𝑀 :: Expression' γ s² s¹ ζ Source #

pattern 𝐿 :: Expression' γ s² s¹ ζ Source #

pattern 𝐾 :: Expression' γ s² s¹ ζ Source #

pattern 𝐽 :: Expression' γ s² s¹ ζ Source #

pattern 𝐼 :: Expression' γ s² s¹ ζ Source #

pattern 𝐻 :: Expression' γ s² s¹ ζ Source #

pattern 𝐺 :: Expression' γ s² s¹ ζ Source #

pattern 𝐹 :: Expression' γ s² s¹ ζ Source #

pattern 𝐸 :: Expression' γ s² s¹ ζ Source #

pattern 𝐷 :: Expression' γ s² s¹ ζ Source #

pattern 𝐶 :: Expression' γ s² s¹ ζ Source #

pattern 𝐵 :: Expression' γ s² s¹ ζ Source #

pattern 𝐴 :: Expression' γ s² s¹ ζ Source #

pattern 𝐙 :: Expression' γ s² s¹ ζ Source #

pattern 𝐘 :: Expression' γ s² s¹ ζ Source #

pattern 𝐗 :: Expression' γ s² s¹ ζ Source #

pattern 𝐖 :: Expression' γ s² s¹ ζ Source #

pattern 𝐕 :: Expression' γ s² s¹ ζ Source #

pattern 𝐔 :: Expression' γ s² s¹ ζ Source #

pattern 𝐓 :: Expression' γ s² s¹ ζ Source #

pattern 𝐒 :: Expression' γ s² s¹ ζ Source #

pattern 𝐑 :: Expression' γ s² s¹ ζ Source #

pattern 𝐐 :: Expression' γ s² s¹ ζ Source #

pattern 𝐏 :: Expression' γ s² s¹ ζ Source #

pattern 𝐎 :: Expression' γ s² s¹ ζ Source #

pattern 𝐍 :: Expression' γ s² s¹ ζ Source #

pattern 𝐌 :: Expression' γ s² s¹ ζ Source #

pattern 𝐋 :: Expression' γ s² s¹ ζ Source #

pattern 𝐊 :: Expression' γ s² s¹ ζ Source #

pattern 𝐉 :: Expression' γ s² s¹ ζ Source #

pattern 𝐈 :: Expression' γ s² s¹ ζ Source #

pattern 𝐇 :: Expression' γ s² s¹ ζ Source #

pattern 𝐆 :: Expression' γ s² s¹ ζ Source #

pattern 𝐅 :: Expression' γ s² s¹ ζ Source #

pattern 𝐄 :: Expression' γ s² s¹ ζ Source #

pattern 𝐃 :: Expression' γ s² s¹ ζ Source #

pattern 𝐂 :: Expression' γ s² s¹ ζ Source #

pattern 𝐁 :: Expression' γ s² s¹ ζ Source #

pattern 𝐀 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝕐 :: Expression' γ s² s¹ ζ Source #

pattern 𝕏 :: Expression' γ s² s¹ ζ Source #

pattern 𝕎 :: Expression' γ s² s¹ ζ Source #

pattern 𝕍 :: Expression' γ s² s¹ ζ Source #

pattern 𝕌 :: Expression' γ s² s¹ ζ Source #

pattern 𝕋 :: Expression' γ s² s¹ ζ Source #

pattern 𝕊 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝕆 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝕄 :: Expression' γ s² s¹ ζ Source #

pattern 𝕃 :: Expression' γ s² s¹ ζ Source #

pattern 𝕂 :: Expression' γ s² s¹ ζ Source #

pattern 𝕁 :: Expression' γ s² s¹ ζ Source #

pattern 𝕀 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝔾 :: Expression' γ s² s¹ ζ Source #

pattern 𝔽 :: Expression' γ s² s¹ ζ Source #

pattern 𝔼 :: Expression' γ s² s¹ ζ Source #

pattern 𝔻 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝔹 :: Expression' γ s² s¹ ζ Source #

pattern 𝔸 :: Expression' γ s² s¹ ζ Source #

pattern 𝒵 :: Expression' γ s² s¹ ζ Source #

pattern 𝒴 :: Expression' γ s² s¹ ζ Source #

pattern 𝒳 :: Expression' γ s² s¹ ζ Source #

pattern 𝒲 :: Expression' γ s² s¹ ζ Source #

pattern 𝒱 :: Expression' γ s² s¹ ζ Source #

pattern 𝒰 :: Expression' γ s² s¹ ζ Source #

pattern 𝒯 :: Expression' γ s² s¹ ζ Source #

pattern 𝒮 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝒬 :: Expression' γ s² s¹ ζ Source #

pattern 𝒫 :: Expression' γ s² s¹ ζ Source #

pattern 𝒪 :: Expression' γ s² s¹ ζ Source #

pattern 𝒩 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝒦 :: Expression' γ s² s¹ ζ Source #

pattern 𝒥 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝒢 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝒟 :: Expression' γ s² s¹ ζ Source #

pattern 𝒞 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝒜 :: Expression' γ s² s¹ ζ Source #

pattern 𝓩 :: Expression' γ s² s¹ ζ Source #

pattern 𝓨 :: Expression' γ s² s¹ ζ Source #

pattern 𝓧 :: Expression' γ s² s¹ ζ Source #

pattern 𝓦 :: Expression' γ s² s¹ ζ Source #

pattern 𝓥 :: Expression' γ s² s¹ ζ Source #

pattern 𝓤 :: Expression' γ s² s¹ ζ Source #

pattern 𝓣 :: Expression' γ s² s¹ ζ Source #

pattern 𝓢 :: Expression' γ s² s¹ ζ Source #

pattern 𝓡 :: Expression' γ s² s¹ ζ Source #

pattern 𝓠 :: Expression' γ s² s¹ ζ Source #

pattern 𝓟 :: Expression' γ s² s¹ ζ Source #

pattern 𝓞 :: Expression' γ s² s¹ ζ Source #

pattern 𝓝 :: Expression' γ s² s¹ ζ Source #

pattern 𝓜 :: Expression' γ s² s¹ ζ Source #

pattern 𝓛 :: Expression' γ s² s¹ ζ Source #

pattern 𝓚 :: Expression' γ s² s¹ ζ Source #

pattern 𝓙 :: Expression' γ s² s¹ ζ Source #

pattern 𝓘 :: Expression' γ s² s¹ ζ Source #

pattern 𝓗 :: Expression' γ s² s¹ ζ Source #

pattern 𝓖 :: Expression' γ s² s¹ ζ Source #

pattern 𝓕 :: Expression' γ s² s¹ ζ Source #

pattern 𝓔 :: Expression' γ s² s¹ ζ Source #

pattern 𝓓 :: Expression' γ s² s¹ ζ Source #

pattern 𝓒 :: Expression' γ s² s¹ ζ Source #

pattern 𝓑 :: Expression' γ s² s¹ ζ Source #

pattern 𝓐 :: Expression' γ s² s¹ ζ Source #

pattern 𝔜 :: Expression' γ s² s¹ ζ Source #

pattern 𝔛 :: Expression' γ s² s¹ ζ Source #

pattern 𝔚 :: Expression' γ s² s¹ ζ Source #

pattern 𝔙 :: Expression' γ s² s¹ ζ Source #

pattern 𝔘 :: Expression' γ s² s¹ ζ Source #

pattern 𝔗 :: Expression' γ s² s¹ ζ Source #

pattern 𝔖 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝔔 :: Expression' γ s² s¹ ζ Source #

pattern 𝔓 :: Expression' γ s² s¹ ζ Source #

pattern 𝔒 :: Expression' γ s² s¹ ζ Source #

pattern 𝔑 :: Expression' γ s² s¹ ζ Source #

pattern 𝔐 :: Expression' γ s² s¹ ζ Source #

pattern 𝔏 :: Expression' γ s² s¹ ζ Source #

pattern 𝔎 :: Expression' γ s² s¹ ζ Source #

pattern 𝔍 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝔊 :: Expression' γ s² s¹ ζ Source #

pattern 𝔉 :: Expression' γ s² s¹ ζ Source #

pattern 𝔈 :: Expression' γ s² s¹ ζ Source #

pattern 𝔇 :: Expression' γ s² s¹ ζ Source #

pattern :: Expression' γ s² s¹ ζ Source #

pattern 𝔅 :: Expression' γ s² s¹ ζ Source #

pattern 𝔄 :: Expression' γ s² s¹ ζ Source #

pattern Ω :: Expression' γ s² s¹ ζ Source #

pattern Ψ :: Expression' γ s² s¹ ζ Source #

pattern Χ :: Expression' γ s² s¹ ζ Source #

pattern Φ :: Expression' γ s² s¹ ζ Source #

pattern Υ :: Expression' γ s² s¹ ζ Source #

pattern Τ :: Expression' γ s² s¹ ζ Source #

pattern Σ :: Expression' γ s² s¹ ζ Source #

pattern Ρ :: Expression' γ s² s¹ ζ Source #

pattern Π :: Expression' γ s² s¹ ζ Source #

pattern Ο :: Expression' γ s² s¹ ζ Source #

pattern Ξ :: Expression' γ s² s¹ ζ Source #

pattern Ν :: Expression' γ s² s¹ ζ Source #

pattern Μ :: Expression' γ s² s¹ ζ Source #

pattern Λ :: Expression' γ s² s¹ ζ Source #

pattern Κ :: Expression' γ s² s¹ ζ Source #

pattern Ι :: Expression' γ s² s¹ ζ Source #

pattern Θ :: Expression' γ s² s¹ ζ Source #

pattern Η :: Expression' γ s² s¹ ζ Source #

pattern Ζ :: Expression' γ s² s¹ ζ Source #

pattern Ε :: Expression' γ s² s¹ ζ Source #

pattern Δ :: Expression' γ s² s¹ ζ Source #

pattern Γ :: Expression' γ s² s¹ ζ Source #

pattern Β :: Expression' γ s² s¹ ζ Source #

pattern Α :: Expression' γ s² s¹ ζ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

:: CAS' GapId s² s¹ s⁰ Source #

Types

data CAS' γ s² s¹ s⁰ Source #

Instances

Instances details
(UnicodeSymbols c, RenderableEncapsulations c) => Show (Expression c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps

(UnicodeSymbols c, RenderableEncapsulations c) => Show (Pattern c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps

Methods

showsPrec :: Int -> Pattern c -> ShowS #

show :: Pattern c -> String #

showList :: [Pattern c] -> ShowS #

Functor (CAS' γ s² s¹) Source # 
Instance details

Defined in CAS.Dumb.Tree

Methods

fmap :: (a -> b) -> CAS' γ s² s¹ a -> CAS' γ s² s¹ b #

(<$) :: a -> CAS' γ s² s¹ b -> CAS' γ s² s¹ a #

(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(ASCIISymbols c, RenderableEncapsulations c) => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) Source # 
Instance details

Defined in CAS.Dumb.Symbols.ASCII

Methods

showsPrec :: Int -> CAS (Infix c) (Encapsulation c) (Symbol c) -> ShowS #

show :: CAS (Infix c) (Encapsulation c) (Symbol c) -> String #

showList :: [CAS (Infix c) (Encapsulation c) (Symbol c)] -> ShowS #

(Unwieldy s², Unwieldy s¹, Unwieldy s⁰) => Unwieldy (CAS s² s¹ s⁰) Source # 
Instance details

Defined in CAS.Dumb.Tree

Methods

unwieldiness :: CAS s² s¹ s⁰ -> Unwieldiness Source #

Generic (CAS' γ s² s¹ s⁰) Source # 
Instance details

Defined in CAS.Dumb.Tree

Associated Types

type Rep (CAS' γ s² s¹ s⁰) :: Type -> Type #

Methods

from :: CAS' γ s² s¹ s⁰ -> Rep (CAS' γ s² s¹ s⁰) x #

to :: Rep (CAS' γ s² s¹ s⁰) x -> CAS' γ s² s¹ s⁰ #

(ASCIISymbols c, RenderableEncapsulations c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) Source # 
Instance details

Defined in CAS.Dumb.Symbols.ASCII

(Eq s⁰, Eq s¹, Eq s², Eq γ) => Eq (CAS' γ s² s¹ s⁰) Source # 
Instance details

Defined in CAS.Dumb.Tree

Methods

(==) :: CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ -> Bool #

(/=) :: CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ -> Bool #

(Hashable γ, Hashable s⁰, Hashable s¹, Hashable s²) => Hashable (CAS' γ s² s¹ s⁰) Source # 
Instance details

Defined in CAS.Dumb.Tree

Methods

hashWithSalt :: Int -> CAS' γ s² s¹ s⁰ -> Int #

hash :: CAS' γ s² s¹ s⁰ -> Int #

type Rep (CAS' γ s² s¹ s⁰) Source # 
Instance details

Defined in CAS.Dumb.Tree

data SymbolD σ c Source #

Instances

Instances details
(UnicodeSymbols c, RenderableEncapsulations c) => Show (Expression c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps

(UnicodeSymbols c, RenderableEncapsulations c) => Show (Pattern c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps

Methods

showsPrec :: Int -> Pattern c -> ShowS #

show :: Pattern c -> String #

showList :: [Pattern c] -> ShowS #

Unwieldy c => Unwieldy (Symbol c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.ASCII

Unwieldy c => Unwieldy (Symbol c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps

(SymbolClass σ, SCConstraint σ c, Eq c) => Eq (SymbolD σ c) Source # 
Instance details

Defined in CAS.Dumb.Symbols

Methods

(==) :: SymbolD σ c -> SymbolD σ c -> Bool #

(/=) :: SymbolD σ c -> SymbolD σ c -> Bool #

(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(ASCIISymbols c, RenderableEncapsulations c) => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) Source # 
Instance details

Defined in CAS.Dumb.Symbols.ASCII

Methods

showsPrec :: Int -> CAS (Infix c) (Encapsulation c) (Symbol c) -> ShowS #

show :: CAS (Infix c) (Encapsulation c) (Symbol c) -> String #

showList :: [CAS (Infix c) (Encapsulation c) (Symbol c)] -> ShowS #

(ASCIISymbols c, RenderableEncapsulations c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) Source # 
Instance details

Defined in CAS.Dumb.Symbols.ASCII

data Infix s Source #

Instances

Instances details
(UnicodeSymbols c, RenderableEncapsulations c) => Show (Expression c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps

(UnicodeSymbols c, RenderableEncapsulations c) => Show (Pattern c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps

Methods

showsPrec :: Int -> Pattern c -> ShowS #

show :: Pattern c -> String #

showList :: [Pattern c] -> ShowS #

Eq s => Eq (Infix s) Source # 
Instance details

Defined in CAS.Dumb.Symbols

Methods

(==) :: Infix s -> Infix s -> Bool #

(/=) :: Infix s -> Infix s -> Bool #

(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(ASCIISymbols c, RenderableEncapsulations c) => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) Source # 
Instance details

Defined in CAS.Dumb.Symbols.ASCII

Methods

showsPrec :: Int -> CAS (Infix c) (Encapsulation c) (Symbol c) -> ShowS #

show :: CAS (Infix c) (Encapsulation c) (Symbol c) -> String #

showList :: [CAS (Infix c) (Encapsulation c) (Symbol c)] -> ShowS #

(ASCIISymbols c, RenderableEncapsulations c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) Source # 
Instance details

Defined in CAS.Dumb.Symbols.ASCII

data Encapsulation s Source #

Instances

Instances details
(UnicodeSymbols c, RenderableEncapsulations c) => Show (Expression c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps

(UnicodeSymbols c, RenderableEncapsulations c) => Show (Pattern c) Source # 
Instance details

Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps

Methods

showsPrec :: Int -> Pattern c -> ShowS #

show :: Pattern c -> String #

showList :: [Pattern c] -> ShowS #

Eq (Encapsulation String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # 
Instance details

Defined in CAS.Dumb.Symbols

(ASCIISymbols c, RenderableEncapsulations c) => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) Source # 
Instance details

Defined in CAS.Dumb.Symbols.ASCII

Methods

showsPrec :: Int -> CAS (Infix c) (Encapsulation c) (Symbol c) -> ShowS #

show :: CAS (Infix c) (Encapsulation c) (Symbol c) -> String #

showList :: [CAS (Infix c) (Encapsulation c) (Symbol c)] -> ShowS #

(ASCIISymbols c, RenderableEncapsulations c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) Source # 
Instance details

Defined in CAS.Dumb.Symbols.ASCII

Debugging

showStructure :: CAS' γ s² s¹ s⁰ -> String Source #

throwStructure :: CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ Source #