Copyright | (c) Justus Sagemüller 2017 |
---|---|
License | GPL v3 |
Maintainer | (@) jsag $ hvl.no |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- data CAS' γ s² s¹ s⁰
- chainableInfixL :: (s² -> Bool) -> s² -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰
- chainableInfixR :: (s² -> Bool) -> s² -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰
- chainableInfix :: (s² -> Bool) -> s² -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰
- associativeOperator :: Eq s² => s² -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰
- type CAS = CAS' Void
- data Equality' γ s² s¹ s⁰
- = (:=) {
- originalExpression :: !(CAS' γ s² s¹ s⁰)
- transformationOptions :: [Equality' γ s² s¹ s⁰]
- | (:=:) {
- originalExpression :: !(CAS' γ s² s¹ s⁰)
- transformedExpression :: !(CAS' γ s² s¹ s⁰)
- = (:=) {
- type Equality = Equality' Void
- type GapId = Int
- type Expattern s² s¹ s⁰ = CAS' GapId s² s¹ s⁰
- type Eqspattern s² s¹ s⁰ = Equality' GapId s² s¹ s⁰
- matchPattern :: forall s⁰ s¹ s². (Eq s⁰, Eq s¹, Eq s²) => Expattern s² s¹ s⁰ -> CAS s² s¹ s⁰ -> Maybe (Map GapId (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²) => 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⁰
- fillGaps :: Map GapId (CAS s² s¹ s⁰) -> Expattern s² s¹ s⁰ -> Maybe (CAS s² s¹ s⁰)
- exploreEquality :: (Eq s⁰, Eq s¹, Eq s²) => [Expattern s² s¹ s⁰] -> CAS s² s¹ s⁰ -> Equality s² s¹ s⁰
- showStructure :: CAS' γ s² s¹ s⁰ -> String
- type Unwieldiness = Double
- class Unwieldy e where
- unwieldiness :: e -> Unwieldiness
- bigFirstPreference :: Unwieldiness
Documentation
Symbol !s⁰ | |
Function !s¹ (CAS' γ s² s¹ s⁰) | |
Operator !s² (CAS' γ s² s¹ s⁰) (CAS' γ s² s¹ s⁰) | |
OperatorChain (CAS' γ s² s¹ s⁰) [(s², CAS' γ s² s¹ s⁰)] | |
Gap !γ |
Instances
associativeOperator :: Eq s² => s² -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ Source #
data Equality' γ s² s¹ s⁰ Source #
(:=) infixr 4 | |
| |
(:=:) infixr 4 | |
|
type Eqspattern s² s¹ s⁰ = Equality' GapId s² s¹ s⁰ Source #
matchPattern :: forall s⁰ s¹ s². (Eq s⁰, Eq s¹, Eq s²) => Expattern s² s¹ s⁰ -> CAS s² s¹ s⁰ -> Maybe (Map GapId (CAS s² s¹ s⁰)) 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²) => 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 #
exploreEquality :: (Eq s⁰, Eq s¹, Eq s²) => [Expattern s² s¹ s⁰] -> CAS s² s¹ s⁰ -> Equality s² s¹ s⁰ Source #
showStructure :: CAS' γ s² s¹ s⁰ -> String Source #
type Unwieldiness = Double Source #
class Unwieldy e where Source #
unwieldiness :: e -> Unwieldiness Source #
Instances
Unwieldy c => Unwieldy (Symbol c) Source # | |
Defined in CAS.Dumb.Symbols.ASCII unwieldiness :: Symbol c -> Unwieldiness Source # | |
Unwieldy c => Unwieldy (Symbol c) Source # | |
Defined in CAS.Dumb.Symbols.Unicode.MathLatin_RomanGreek__BopomofoGaps unwieldiness :: Symbol c -> Unwieldiness Source # | |
(Unwieldy s², Unwieldy s¹, Unwieldy s⁰) => Unwieldy (CAS s² s¹ s⁰) Source # | |
Defined in CAS.Dumb.Tree unwieldiness :: CAS s² s¹ s⁰ -> Unwieldiness Source # |
bigFirstPreference :: Unwieldiness Source #
How much it is preferred to start an operator-chain with the most complex subexpression (e.g. with the highest-order monomial).