Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- class Semiring a where
- class Semiring a => StarSemiring a where
- class StarSemiring a => KleeneAlgebra a
- data StarSemiringExpr a
- = Var a
- | Or (StarSemiringExpr a) (StarSemiringExpr a)
- | Seq (StarSemiringExpr a) (StarSemiringExpr a)
- | Star (StarSemiringExpr a)
- | None
- | Empty
- newtype RE a = RE (StarSemiringExpr a)
- re :: a -> RE a
- data Tropical a
- data ShortestPath a b = ShortestPath (Tropical a) b
- extract :: ShortestPath a b -> b
- newtype Language a = Language [[a]]
- letter :: a -> Language a
- someWord :: Language a -> Maybe [a]
- evalRE :: KleeneAlgebra a => (l -> a) -> RE l -> a
- data Compact a
- evalSSE :: StarSemiring a => (l -> a) -> StarSemiringExpr l -> a
- todo :: a
Documentation
class Semiring a => StarSemiring a where Source #
(Eq a, Fractional a) => StarSemiring (Compact a) Source # | |
StarSemiring (Language a) Source # | |
(Ord a, Num a) => StarSemiring (Tropical a) Source # | |
StarSemiring (RE a) Source # | |
StarSemiring (StarSemiringExpr a) Source # | |
(Ord a, Num a, StarSemiring b) => StarSemiring (ShortestPath a b) Source # | |
class StarSemiring a => KleeneAlgebra a Source #
(Ord a, Num a) => KleeneAlgebra (Tropical a) Source # | |
(Ord a, Num a, KleeneAlgebra b) => KleeneAlgebra (ShortestPath a b) Source # | |
data StarSemiringExpr a Source #
Var a | |
Or (StarSemiringExpr a) (StarSemiringExpr a) | |
Seq (StarSemiringExpr a) (StarSemiringExpr a) | |
Star (StarSemiringExpr a) | |
None | |
Empty |
Show a => Show (StarSemiringExpr a) Source # | Below you will find an appendix of functions that completes this module. |
StarSemiring (StarSemiringExpr a) Source # | |
Semiring (StarSemiringExpr a) Source # | |
RE (StarSemiringExpr a) |
data ShortestPath a b Source #
ShortestPath (Tropical a) b |
Functor (ShortestPath a) Source # | |
(Show a, Show b) => Show (ShortestPath a b) Source # | |
(Ord a, Num a, KleeneAlgebra b) => KleeneAlgebra (ShortestPath a b) Source # | |
(Ord a, Num a, StarSemiring b) => StarSemiring (ShortestPath a b) Source # | |
(Ord a, Num a, Semiring b) => Semiring (ShortestPath a b) Source # | |
extract :: ShortestPath a b -> b Source #
Language [[a]] |
evalRE :: KleeneAlgebra a => (l -> a) -> RE l -> a Source #
evalSSE :: StarSemiring a => (l -> a) -> StarSemiringExpr l -> a Source #