Copyright | (c) Justus Sagemüller 2017 |
---|---|
License | GPL v3 |
Maintainer | (@) jsagemue $ uni-koeln.de |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
- 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
- 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 !γ |
(UnicodeSymbols c, RenderableEncapsulations c) => Show (Pattern c) # | |
(UnicodeSymbols c, RenderableEncapsulations 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, RenderableEncapsulations c) => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) # | |
(Unwieldy s², Unwieldy s¹, Unwieldy s⁰) => Unwieldy (CAS s² s¹ s⁰) Source # | |
(Eq γ, Eq s², Eq s¹, Eq s⁰) => Eq (CAS' γ s² s¹ s⁰) Source # | |
(ASCIISymbols c, RenderableEncapsulations 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 # | |
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 #
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).