Copyright | (c) Justus Sagemüller 2017 |
---|---|
License | GPL v3 |
Maintainer | (@) jsagemue $ uni-koeln.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
This module contains a collection of symbols that should be sufficient for usage in most algebra applications. It avoids polluting the namespace with single-letter variables (which are often used as local variables, leading to shadowing issues), by replacing also the Latin letters with less common Unicode symbols. If you're not concerned with this and prefer symbols that can directly be entered on any Western keyboard, use the CAS.Dumb.Symbols.ASCII module instead.
- module CAS.Dumb.Symbols
- type Symbol = SymbolD Unicode_MathLatin_RomanGreek__BopomofoGaps
- type Expression c = Expression' Void (Infix c) (Encapsulation c) c
- type Pattern c = Expression' GapId (Infix c) (Encapsulation c) c
- 𝑎 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑏 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑐 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑑 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑒 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑓 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑔 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ℎ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑖 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑗 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑘 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑙 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑚 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑛 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑜 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑝 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑞 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑟 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑠 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑡 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑢 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑣 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑤 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑥 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑦 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝑧 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐚 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐛 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐜 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐝 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐞 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐟 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐠 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐡 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐢 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐣 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐤 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐥 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐦 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐧 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐨 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐩 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐪 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐫 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐬 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐭 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐮 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐯 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐰 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐱 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐲 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- 𝐳 :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- α :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- β :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- γ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- δ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ε :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ζ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- η :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- θ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ϑ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ι :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- κ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- λ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- μ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ν :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ξ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ο :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- π :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ρ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ϱ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- σ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ς :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- τ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- υ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ϕ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- φ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- χ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ψ :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ω :: forall γ s¹ s² ζ. Expression' γ s² s¹ ζ
- ㄅ :: CAS' GapId s² s¹ s⁰
- ㄆ :: CAS' GapId s² s¹ s⁰
- ㄇ :: CAS' GapId s² s¹ s⁰
- ㄈ :: CAS' GapId s² s¹ s⁰
- ㄉ :: CAS' GapId s² s¹ s⁰
- ㄊ :: CAS' GapId s² s¹ s⁰
- ㄋ :: CAS' GapId s² s¹ s⁰
- ㄌ :: CAS' GapId s² s¹ s⁰
- ㄍ :: CAS' GapId s² s¹ s⁰
- ㄎ :: CAS' GapId s² s¹ s⁰
- ㄏ :: CAS' GapId s² s¹ s⁰
- ㄐ :: CAS' GapId s² s¹ s⁰
- ㄑ :: CAS' GapId s² s¹ s⁰
- ㄒ :: CAS' GapId s² s¹ s⁰
- ㄓ :: CAS' GapId s² s¹ s⁰
- ㄔ :: CAS' GapId s² s¹ s⁰
- ㄕ :: CAS' GapId s² s¹ s⁰
- ㄖ :: CAS' GapId s² s¹ s⁰
- ㄗ :: CAS' GapId s² s¹ s⁰
- ㄘ :: CAS' GapId s² s¹ s⁰
- ㄙ :: CAS' GapId s² s¹ s⁰
- ㄚ :: CAS' GapId s² s¹ s⁰
- ㄛ :: CAS' GapId s² s¹ s⁰
- ㄜ :: CAS' GapId s² s¹ s⁰
- ㄝ :: CAS' GapId s² s¹ s⁰
- ㄞ :: CAS' GapId s² s¹ s⁰
- ㄟ :: CAS' GapId s² s¹ s⁰
- ㄠ :: CAS' GapId s² s¹ s⁰
- ㄡ :: CAS' GapId s² s¹ s⁰
- ㄢ :: CAS' GapId s² s¹ s⁰
- ㄣ :: CAS' GapId s² s¹ s⁰
- ㄤ :: CAS' GapId s² s¹ s⁰
- ㄥ :: CAS' GapId s² s¹ s⁰
- ㄦ :: CAS' GapId s² s¹ s⁰
- ㄧ :: CAS' GapId s² s¹ s⁰
- ㄨ :: CAS' GapId s² s¹ s⁰
- ㄩ :: CAS' GapId s² s¹ s⁰
- ㄪ :: CAS' GapId s² s¹ s⁰
- ㄫ :: CAS' GapId s² s¹ s⁰
- ㄬ :: CAS' GapId s² s¹ s⁰
- type Expression' γ s² s¹ c = CAS' γ s² s¹ (Symbol c)
Documentation
module CAS.Dumb.Symbols
type Expression c = Expression' Void (Infix c) (Encapsulation c) c Source #
type Pattern c = Expression' GapId (Infix c) (Encapsulation c) c Source #
“Constant variable” symbols
Lowercase letters
Unicode mathematical italic letters. Italic is the default way maths symbols appear in e.g. LaTeX-rendered documents, thus it makes sense to use them here.
𝑎 :: 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 #
Bold
𝐚 :: 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 #
Greek
α :: 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 #
Uppercase letters
These are only available in GHC>8.2. The ability to use uppercase letters as variables hinges on a hack using GHC's still recent pattern synonyms feature.
You can use the CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek.Qualified
module if this causes you any trouble; there, all symbols are prefixed with
sym
and therefore the uppercase ones are still normal lowercase names
in the Haskell code.
Pattern-matching variable symbols
Using a non-European alphabet such as Bopomofo for Gap
s (which are always only
temporary placeholders that, unlike Symbol
s, should never appear in any program
output) has the advantage of keeping the namespace clean and avoiding ambiguities.
Most of these symbols can easily be entered as
Vim digraphs,
namely by combining a (latin) letter with the number 4. For instance, ctrl-k e 4
generates the symbol ㄜ U+311C BOPOMOFO LETTER E
.
Auxiliary
type Expression' γ s² s¹ c = CAS' γ s² s¹ (Symbol c) Source #