Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data ListES a
- cost :: ListES a -> Int
- pushCopiesIns :: Eq a => ListES a -> ListES a
- meet :: ListES a -> ListES a -> ListES a
- type Table a = Map (Int, Int) (ListES a)
- lcsW :: forall a. Eq a => (a -> Int) -> [a] -> [a] -> ListES a
- fromNA :: NA ki (Fix ki codes) at -> Holes ki codes (MetaVarIK ki) at
- toES :: (EqHO ki, ShowHO ki, TestEquality ki) => CChange ki codes at -> NA ki (Fix ki codes) at -> Either String (ES ki codes '[at] '[at])
- type ToES ki codes = ReaderT (Subst ki codes (MetaVarIK ki), ListES Int) (Except String)
- askSubst :: ToES ki codes (Subst ki codes (MetaVarIK ki))
- askListES :: ToES ki codes (ListES Int)
- gcpy :: Cof ki codes at l -> ES ki codes (l :++: ds) (l :++: is) -> ES ki codes (at ': ds) (at ': is)
- gins :: Cof ki codes at l -> ES ki codes ds (l :++: is) -> ES ki codes ds (at ': is)
- gdel :: Cof ki codes at l -> ES ki codes (l :++: ds) is -> ES ki codes (at ': ds) is
- compress :: (EqHO ki, TestEquality ki) => ES ki codes is ds -> ES ki codes is ds
- cpyOnly :: (EqHO ki, ShowHO ki, TestEquality ki) => NP (Holes ki codes (MetaVarIK ki)) xs -> ToES ki codes (ES ki codes xs xs)
- delOnly :: (EqHO ki, ShowHO ki, TestEquality ki) => NP (Holes ki codes (MetaVarIK ki)) ds -> ToES ki codes (ES ki codes ds '[])
- insOnly :: (EqHO ki, ShowHO ki, TestEquality ki) => NP (Holes ki codes (MetaVarIK ki)) is -> ToES ki codes (ES ki codes '[] is)
- listAssoc :: ListPrf a -> Proxy b -> Proxy c -> ListPrf ((a :++: b) :++: c) :~: ListPrf (a :++: (b :++: c))
- listDrop :: ListPrf i -> ListPrf (i :++: t) -> ListPrf t
- esDelListPrf :: ES ki codes ds is -> ListPrf ds
- esInsListPrf :: ES ki codes ds is -> ListPrf is
- cofListPrf :: Cof ki codes at l -> ListPrf l
- esDelListProxy :: ES ki codes ds is -> Proxy ds
- esDelListProxy' :: ES ki codes (d ': ds) is -> Proxy ds
- esInsListProxy :: ES ki codes ds is -> Proxy is
- esInsListProxy' :: ES ki codes ds (i ': is) -> Proxy is
- esDelCong :: (ListPrf ds :~: ListPrf ds') -> ES ki codes ds is -> ES ki codes ds' is
- esInsCong :: (ListPrf is :~: ListPrf is') -> ES ki codes ds is -> ES ki codes ds is'
- appendES :: ES ki codes ds is -> ES ki codes ds' is' -> ES ki codes (ds :++: ds') (is :++: is')
- fetch :: (EqHO ki, ShowHO ki, TestEquality ki) => MetaVarIK ki at -> ToES ki codes (Holes ki codes (MetaVarIK ki) at)
- delSync :: (EqHO ki, ShowHO ki, TestEquality ki) => MetaVarIK ki at -> NP (Holes ki codes (MetaVarIK ki)) ds -> NP (Holes ki codes (MetaVarIK ki)) is -> ToES ki codes (ES ki codes (at ': ds) is)
- insSync :: (EqHO ki, ShowHO ki, TestEquality ki) => MetaVarIK ki at -> NP (Holes ki codes (MetaVarIK ki)) ds -> NP (Holes ki codes (MetaVarIK ki)) is -> ToES ki codes (ES ki codes ds (at ': is))
- delPhase :: (EqHO ki, ShowHO ki, TestEquality ki) => NP (Holes ki codes (MetaVarIK ki)) ds -> NP (Holes ki codes (MetaVarIK ki)) is -> ToES ki codes (ES ki codes ds is)
- insPhase :: (EqHO ki, ShowHO ki, TestEquality ki) => NP (Holes ki codes (MetaVarIK ki)) ds -> NP (Holes ki codes (MetaVarIK ki)) is -> ToES ki codes (ES ki codes ds is)
Regular Longest Common Subsequence * --
Translating Changes to Edit Scripts * --
toES :: (EqHO ki, ShowHO ki, TestEquality ki) => CChange ki codes at -> NA ki (Fix ki codes) at -> Either String (ES ki codes '[at] '[at]) Source #
gcpy :: Cof ki codes at l -> ES ki codes (l :++: ds) (l :++: is) -> ES ki codes (at ': ds) (at ': is) Source #
cpyOnly :: (EqHO ki, ShowHO ki, TestEquality ki) => NP (Holes ki codes (MetaVarIK ki)) xs -> ToES ki codes (ES ki codes xs xs) Source #
delOnly :: (EqHO ki, ShowHO ki, TestEquality ki) => NP (Holes ki codes (MetaVarIK ki)) ds -> ToES ki codes (ES ki codes ds '[]) Source #
insOnly :: (EqHO ki, ShowHO ki, TestEquality ki) => NP (Holes ki codes (MetaVarIK ki)) is -> ToES ki codes (ES ki codes '[] is) Source #
listAssoc :: ListPrf a -> Proxy b -> Proxy c -> ListPrf ((a :++: b) :++: c) :~: ListPrf (a :++: (b :++: c)) Source #
esDelListPrf :: ES ki codes ds is -> ListPrf ds Source #
esInsListPrf :: ES ki codes ds is -> ListPrf is Source #
cofListPrf :: Cof ki codes at l -> ListPrf l Source #
esDelListProxy :: ES ki codes ds is -> Proxy ds Source #
esDelListProxy' :: ES ki codes (d ': ds) is -> Proxy ds Source #
esInsListProxy :: ES ki codes ds is -> Proxy is Source #
esInsListProxy' :: ES ki codes ds (i ': is) -> Proxy is Source #
appendES :: ES ki codes ds is -> ES ki codes ds' is' -> ES ki codes (ds :++: ds') (is :++: is') Source #
fetch :: (EqHO ki, ShowHO ki, TestEquality ki) => MetaVarIK ki at -> ToES ki codes (Holes ki codes (MetaVarIK ki) at) Source #
delSync :: (EqHO ki, ShowHO ki, TestEquality ki) => MetaVarIK ki at -> NP (Holes ki codes (MetaVarIK ki)) ds -> NP (Holes ki codes (MetaVarIK ki)) is -> ToES ki codes (ES ki codes (at ': ds) is) Source #
insSync :: (EqHO ki, ShowHO ki, TestEquality ki) => MetaVarIK ki at -> NP (Holes ki codes (MetaVarIK ki)) ds -> NP (Holes ki codes (MetaVarIK ki)) is -> ToES ki codes (ES ki codes ds (at ': is)) Source #