module CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps (
module CAS.Dumb.Symbols
, Symbol, Expression, Pattern
, ๐,๐,๐,๐,๐,๐,๐,โ,๐,๐,๐,๐,๐,๐,๐,๐,๐,๐,๐ ,๐ก,๐ข,๐ฃ,๐ค,๐ฅ,๐ฆ,๐ง
, ๐,๐,๐,๐,๐,๐,๐ ,๐ก,๐ข,๐ฃ,๐ค,๐ฅ,๐ฆ,๐ง,๐จ,๐ฉ,๐ช,๐ซ,๐ฌ,๐ญ,๐ฎ,๐ฏ,๐ฐ,๐ฑ,๐ฒ,๐ณ
, ฮฑ,ฮฒ,ฮณ,ฮด,ฮต,ฮถ,ฮท,ฮธ,ฯ,ฮน,ฮบ,ฮป,ฮผ,ฮฝ,ฮพ,ฮฟ,ฯ,ฯ,ฯฑ,ฯ,ฯ,ฯ,ฯ
,ฯ,ฯ,ฯ,ฯ,ฯ
#if __GLASGOW_HASKELL__ > 802
, pattern ๐ด, pattern ๐ต, pattern ๐ถ, pattern ๐ท, pattern ๐ธ, pattern ๐น, pattern ๐บ, pattern ๐ป, pattern ๐ผ, pattern ๐ฝ, pattern ๐พ, pattern ๐ฟ, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐
, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐
, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐
, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐
, pattern โ, pattern โ, pattern โ, pattern โ, pattern โ, pattern โค
, pattern ๐ธ, pattern ๐น, pattern ๐ป, pattern ๐ผ, pattern ๐ฝ, pattern ๐พ, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐
, pattern ๐, pattern โฌ, pattern ๐, pattern ๐, pattern โฐ, pattern โฑ, pattern ๐ข, pattern โ, pattern โ, pattern ๐ฅ, pattern ๐ฆ, pattern โ, pattern โณ, pattern ๐ฉ, pattern ๐ช, pattern ๐ซ, pattern ๐ฌ, pattern โ, pattern ๐ฎ, pattern ๐ฏ, pattern ๐ฐ, pattern ๐ฑ, pattern ๐ฒ, pattern ๐ณ, pattern ๐ด, pattern ๐ต
, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐ , pattern ๐ก, pattern ๐ข, pattern ๐ฃ, pattern ๐ค, pattern ๐ฅ, pattern ๐ฆ, pattern ๐ง, pattern ๐จ, pattern ๐ฉ
, pattern ๐, pattern ๐
, pattern โญ, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern โ, pattern โ, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern โ, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐, pattern ๐
, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ , pattern ฮฃ, pattern ฮฅ, pattern ฮฆ, pattern ฮจ, pattern ฮฉ
, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮ, pattern ฮก, pattern ฮค, pattern ฮง
#endif
, ใ
,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ ,ใก,ใข,ใฃ,ใค,ใฅ,ใฆ,ใง,ใจ,ใฉ,ใช,ใซ,ใฌ
, Expression'
) where
import CAS.Dumb.Tree
import CAS.Dumb.Symbols hiding ((&~~!), (&~~:), continueExpr)
import CAS.Dumb.Symbols.PatternGenerator
import Data.Void
import Control.Arrow
data Unicode_MathLatin_RomanGreek__BopomofoGaps
instance SymbolClass Unicode_MathLatin_RomanGreek__BopomofoGaps where
type SCConstraint Unicode_MathLatin_RomanGreek__BopomofoGaps = UnicodeSymbols
fromCharSymbol _ = fromUnicodeSymbol
type Symbol = SymbolD Unicode_MathLatin_RomanGreek__BopomofoGaps
type Expression' ฮณ sยฒ sยน c = CAS' ฮณ sยฒ sยน (Symbol c)
type Expression c = Expression' Void (Infix c) (Encapsulation c) c
type Pattern c = Expression' GapId (Infix c) (Encapsulation c) c
makeSymbols ''Expression' "๐๐๐๐๐๐๐โ๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง"
makeSymbols ''Expression' ['๐'..'๐ณ']
makeSymbols ''Expression' "ฮฑฮฒฮณฮดฮตฮถฮทฮธฯฮนฮบฮปฮผฮฝฮพฮฟฯฯฯฑฯฯฯฯ
ฯฯฯฯฯ"
#if __GLASGOW_HASKELL__ > 802
makeSymbols ''Expression' ['๐ด'..'๐']
makeSymbols ''Expression' ['๐'..'๐']
makeSymbols ''Expression' "๐ธ๐นโ๐ป๐ผ๐ฝ๐พโ๐๐๐๐๐โ๐โโ๐๐๐๐๐๐๐โค"
makeSymbols ''Expression' "๐โฌ๐๐โฐโฑ๐ขโโ๐ฅ๐ฆโโณ๐ฉ๐ช๐ซ๐ฌโ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต"
makeSymbols ''Expression' ['๐'..'๐ฉ']
makeSymbols ''Expression' "๐๐
โญ๐๐๐๐โโ๐๐๐๐๐๐๐๐โ๐๐๐๐๐๐๐"
makeSymbols ''Expression' $ ['ฮ'..'ฮก']++['ฮฃ'..'ฮฉ']
#endif
ใ
,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ
,ใ ,ใก,ใข,ใฃ,ใค,ใฅ,ใฆ,ใง,ใจ,ใฉ,ใช,ใซ,ใฌ:: CAS' GapId sยฒ sยน sโฐ
[ใ
,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ,ใ
,ใ ,ใก,ใข,ใฃ,ใค,ใฅ,ใฆ,ใง,ใจ,ใฉ,ใช,ใซ,ใฌ]
= Gap . fromEnum <$> ['ใ
'..'ใฌ']
instance UnicodeSymbols c => Show (Expression c) where
showsPrec = showsPrecUnicodeSymbol
instance โ c . UnicodeSymbols c => Show (Pattern c) where
showsPrec p = showsPrecUnicodeSymbol p . purgeGaps
where purgeGaps (Symbol s) = Symbol s
purgeGaps (Function f e) = Function f $ purgeGaps e
purgeGaps (Operator o x y) = Operator o (purgeGaps x) (purgeGaps y)
purgeGaps (OperatorChain x ys) = OperatorChain (purgeGaps x) (second purgeGaps<$>ys)
purgeGaps (Gap gid) = Symbol (PrimitiveSymbol (toEnum gid)) :: Expression c