packages feed

AlignmentAlgorithms 0.0.2.1 → 0.1.0.0

raw patch · 11 files changed

+527/−88 lines, 11 filesdep ~ADPfusiondep ~FormalGrammarsdep ~PrimitiveArrayPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: ADPfusion, FormalGrammars, PrimitiveArray, base, containers, fmlist, vector

API changes (from Hackage documentation)

- DP.Alignment.Global.Tapes2: SigGlobal :: (s_adl3 -> (:.) ((:.) Z t_l_adl5) t_u_adl6 -> s_adl3) -> (s_adl3 -> (:.) ((:.) Z t_l_adl5) () -> s_adl3) -> ((:.) ((:.) Z ()) () -> s_adl3) -> (s_adl3 -> (:.) ((:.) Z ()) t_u_adl6 -> s_adl3) -> (Stream m_adl2 s_adl3 -> m_adl2 r_adl4) -> SigGlobal m_adl2 s_adl3 r_adl4 t_l_adl5 t_u_adl6
- DP.Alignment.Global.Tapes2: [align] :: SigGlobal m_adl2 s_adl3 r_adl4 t_l_adl5 t_u_adl6 -> s_adl3 -> (:.) ((:.) Z t_l_adl5) t_u_adl6 -> s_adl3
- DP.Alignment.Global.Tapes2: [delin] :: SigGlobal m_adl2 s_adl3 r_adl4 t_l_adl5 t_u_adl6 -> s_adl3 -> (:.) ((:.) Z t_l_adl5) () -> s_adl3
- DP.Alignment.Global.Tapes2: [done] :: SigGlobal m_adl2 s_adl3 r_adl4 t_l_adl5 t_u_adl6 -> (:.) ((:.) Z ()) () -> s_adl3
- DP.Alignment.Global.Tapes2: [h] :: SigGlobal m_adl2 s_adl3 r_adl4 t_l_adl5 t_u_adl6 -> Stream m_adl2 s_adl3 -> m_adl2 r_adl4
- DP.Alignment.Global.Tapes2: [indel] :: SigGlobal m_adl2 s_adl3 r_adl4 t_l_adl5 t_u_adl6 -> s_adl3 -> (:.) ((:.) Z ()) t_u_adl6 -> s_adl3
- DP.Alignment.Global.Tapes2: backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l, u)) [FMList (l, u)] l u
- DP.Alignment.Global.Tapes2: backtrackFun :: Monad m => (l -> u -> r) -> (l -> u -> r) -> u -> l -> SigGlobal m (FMList r) [FMList r] l u
- DP.Alignment.Global.Tapes2: data SigGlobal m_adl2 s_adl3 r_adl4 t_l_adl5 t_u_adl6
- DP.Alignment.Global.Tapes2: gGlobal :: (TermStream t (TermSymbol (TermSymbol M b) b1) r r, TermStream t (TermSymbol (TermSymbol M b) Deletion) r r, TermStream t (TermSymbol (TermSymbol M Epsilon) Epsilon) r r, TermStream t (TermSymbol (TermSymbol M Deletion) b1) r r, TermStaticVar (TermSymbol (TermSymbol M b) b1) r, TermStaticVar (TermSymbol (TermSymbol M b) Deletion) r, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) r, TermStaticVar (TermSymbol (TermSymbol M Deletion) b1) r, RuleContext r, MkStream t (Stack b2) r, MkStream t S r, Element (Stack b2) r, Build b2, Apply ((:.) (Arg (Stack b2)) ((:.) ((:.) Z (TermArg b)) (TermArg b1)) -> t1), Apply ((:.) (Arg (Stack b2)) ((:.) ((:.) Z (TermArg b)) ()) -> t1), Apply ((:.) (Arg (Stack b2)) ((:.) ((:.) Z ()) (TermArg b1)) -> t1), (~) * (Fun ((:.) (Arg (Stack b2)) ((:.) ((:.) Z (TermArg b)) (TermArg b1)) -> t1)) (t1 -> (:.) ((:.) Z t3) t4 -> t1), (~) * (Fun ((:.) (Arg (Stack b2)) ((:.) ((:.) Z (TermArg b)) ()) -> t1)) (t1 -> (:.) ((:.) Z t3) () -> t1), (~) * (Fun ((:.) (Arg (Stack b2)) ((:.) ((:.) Z ()) (TermArg b1)) -> t1)) (t1 -> (:.) ((:.) Z ()) t4 -> t1)) => SigGlobal t t1 t2 t3 t4 -> ((r -> r -> t t2) -> b2) -> b -> b1 -> (:.) Z b2
- DP.Alignment.Global.Tapes2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.TH.Backtrack.ProductBacktracking (DP.Alignment.Global.Tapes2.SigGlobal mL0 xL0 rL0 t_l0 t_u0) (DP.Alignment.Global.Tapes2.SigGlobal mR0 xR0 rR0 t_l0 t_u0)
- DP.Alignment.Global.Tapes2: runBacktrack :: FMList r -> [r]
+ DP.HMM.States2: SigHMM :: (() -> s_a10kS) -> (s_a10kS -> t_x_0__a10kU -> s_a10kS) -> (s_a10kS -> t_x_0__a10kU -> s_a10kS) -> (s_a10kS -> t_x_0__a10kU -> s_a10kS) -> (s_a10kS -> t_x_0__a10kU -> s_a10kS) -> (Stream m_a10kR s_a10kS -> m_a10kR r_a10kT) -> SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU
+ DP.HMM.States2: [done] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (() -> s_a10kS)
+ DP.HMM.States2: [h] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (Stream m_a10kR s_a10kS -> m_a10kR r_a10kT)
+ DP.HMM.States2: [mstay] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (s_a10kS -> t_x_0__a10kU -> s_a10kS)
+ DP.HMM.States2: [mtop] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (s_a10kS -> t_x_0__a10kU -> s_a10kS)
+ DP.HMM.States2: [pstay] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (s_a10kS -> t_x_0__a10kU -> s_a10kS)
+ DP.HMM.States2: [ptom] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (s_a10kS -> t_x_0__a10kU -> s_a10kS)
+ DP.HMM.States2: data SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU
+ DP.HMM.States2: gHMM :: ((~#) * * (Fun (Arg ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) -> t4)) (t4 -> t2 -> t4), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) -> t4)) (t4 -> t2 -> t4), Element ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) i, Element ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) i1, Element ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) i, Element ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) i1, MkStream t5 ((:!:) S Epsilon) i1, MkStream t5 ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) i, MkStream t5 ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) i1, MkStream t5 ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) i, MkStream t5 ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) i1, RuleContext i, RuleContext i1, Apply (Arg ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) -> t4), Apply (Arg ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) -> t4), Build (TW t (i -> i -> t5 t3)), Build (TW t1 (i1 -> i1 -> t5 t3))) => SigHMM t5 t4 t3 t2 -> t1 -> t -> b -> (:.) ((:.) Z (TW t1 (i1 -> i1 -> t5 t3))) (TW t (i -> i -> t5 t3))
+ DP.HMM.States2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.HMM.States2.SigHMM mL0 xL0 rL0 t_x_0_0) (DP.HMM.States2.SigHMM mR0 xR0 rR0 t_x_0_0)
+ DP.HMM.States2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.HMM.States2.SigHMM mL0 xL0 rL0 t_x_0_0) (DP.HMM.States2.SigHMM mR0 xR0 rR0 t_x_0_0)
+ DP.Seq.Align.Global.Affine2: SigGotoh :: (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) t_u_1__aWRg -> s_aWRd) -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) () -> s_aWRd) -> ((:.) ((:.) Z ()) () -> s_aWRd) -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) () -> s_aWRd) -> (s_aWRd -> (:.) ((:.) Z ()) t_u_1__aWRg -> s_aWRd) -> (s_aWRd -> s_aWRd) -> (Stream m_aWRc s_aWRd -> m_aWRc r_aWRe) -> SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg
+ DP.Seq.Align.Global.Affine2: [align] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) t_u_1__aWRg -> s_aWRd)
+ DP.Seq.Align.Global.Affine2: [contU] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) () -> s_aWRd)
+ DP.Seq.Align.Global.Affine2: [done] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> ((:.) ((:.) Z ()) () -> s_aWRd)
+ DP.Seq.Align.Global.Affine2: [h] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (Stream m_aWRc s_aWRd -> m_aWRc r_aWRe)
+ DP.Seq.Align.Global.Affine2: [openL] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) () -> s_aWRd)
+ DP.Seq.Align.Global.Affine2: [openU] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> (:.) ((:.) Z ()) t_u_1__aWRg -> s_aWRd)
+ DP.Seq.Align.Global.Affine2: [start] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> s_aWRd)
+ DP.Seq.Align.Global.Affine2: data SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg
+ DP.Seq.Align.Global.Affine2: gGotoh :: ((~#) * * (Fun (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6))) -> t7)) (t7 -> t7), (~#) * * (Fun (Arg (Stack (TW t2 (i -> i -> t8 t6))) -> t7)) (t7 -> t7), (~#) * * (Fun (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6))) -> t7)) (t7 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z t5) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z t5) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z t5) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7)) (t7 -> (:.) ((:.) Z t5) () -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7)) (t7 -> (:.) ((:.) Z t5) () -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7)) (t7 -> (:.) ((:.) Z t5) () -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z ()) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z ()) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z t5) () -> t7), Apply ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7), Apply ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7), Apply ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7), Apply ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7), Apply (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6))) -> t7), Apply (Arg (Stack (TW t2 (i -> i -> t8 t6))) -> t7), Apply (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6))) -> t7), Element (Stack (TW t1 (i2 -> i2 -> t8 t6))) i3, Element (Stack (TW t1 (i2 -> i2 -> t8 t6))) i2, Element (Stack (TW t1 (i2 -> i2 -> t8 t6))) i, Element (Stack (TW t1 (i2 -> i2 -> t8 t6))) i1, Element (Stack (TW t2 (i -> i -> t8 t6))) i3, Element (Stack (TW t2 (i -> i -> t8 t6))) i2, Element (Stack (TW t2 (i -> i -> t8 t6))) i, Element (Stack (TW t2 (i -> i -> t8 t6))) i1, Element (Stack (TW t3 (i1 -> i1 -> t8 t6))) i3, Element (Stack (TW t3 (i1 -> i1 -> t8 t6))) i2, Element (Stack (TW t3 (i1 -> i1 -> t8 t6))) i, Element (Stack (TW t3 (i1 -> i1 -> t8 t6))) i1, MkStream t8 S i2, MkStream t8 (Stack (TW t1 (i2 -> i2 -> t8 t6))) i3, MkStream t8 (Stack (TW t1 (i2 -> i2 -> t8 t6))) i2, MkStream t8 (Stack (TW t1 (i2 -> i2 -> t8 t6))) i, MkStream t8 (Stack (TW t1 (i2 -> i2 -> t8 t6))) i1, MkStream t8 (Stack (TW t2 (i -> i -> t8 t6))) i3, MkStream t8 (Stack (TW t2 (i -> i -> t8 t6))) i2, MkStream t8 (Stack (TW t2 (i -> i -> t8 t6))) i, MkStream t8 (Stack (TW t2 (i -> i -> t8 t6))) i1, MkStream t8 (Stack (TW t3 (i1 -> i1 -> t8 t6))) i3, MkStream t8 (Stack (TW t3 (i1 -> i1 -> t8 t6))) i2, MkStream t8 (Stack (TW t3 (i1 -> i1 -> t8 t6))) i, MkStream t8 (Stack (TW t3 (i1 -> i1 -> t8 t6))) i1, RuleContext i3, RuleContext i2, RuleContext i, RuleContext i1, TermStream t8 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i2) i2, TermStream t8 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t1 (i2 -> i2 -> t8 t6))) i1) i1, TermStream t8 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t2 (i -> i -> t8 t6))) i1) i1, TermStream t8 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t3 (i1 -> i1 -> t8 t6))) i1) i1, TermStream t8 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i2 -> i2 -> t8 t6))) i) i, TermStream t8 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t3 (i1 -> i1 -> t8 t6))) i) i, TermStream t8 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t2 (i -> i -> t8 t6))) i) i, TermStream t8 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t1 (i2 -> i2 -> t8 t6))) i2) i2, TermStream t8 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t2 (i -> i -> t8 t6))) i2) i2, TermStream t8 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t3 (i1 -> i1 -> t8 t6))) i2) i2, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i2, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i1, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i, TermStaticVar (TermSymbol (TermSymbol M b1) b) i2, Build (TW t1 (i2 -> i2 -> t8 t6)), Build (TW t2 (i -> i -> t8 t6)), Build (TW t3 (i1 -> i1 -> t8 t6))) => SigGotoh t8 t7 t6 t5 t4 -> t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) ((:.) Z (TW t3 (i1 -> i1 -> t8 t6))) (TW t2 (i -> i -> t8 t6))) (TW t1 (i2 -> i2 -> t8 t6))) (TW t (i3 -> i3 -> t8 t6))
+ DP.Seq.Align.Global.Affine2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Seq.Align.Global.Affine2.SigGotoh mL0 xL0 rL0 t_b_0_0 t_u_1_0) (DP.Seq.Align.Global.Affine2.SigGotoh mR0 xR0 rR0 t_b_0_0 t_u_1_0)
+ DP.Seq.Align.Global.Affine2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Seq.Align.Global.Affine2.SigGotoh mL0 xL0 rL0 t_b_0_0 t_u_1_0) (DP.Seq.Align.Global.Affine2.SigGotoh mR0 xR0 rR0 t_b_0_0 t_u_1_0)
+ DP.Seq.Align.Global.Linear2: SigGlobal :: (s_aUsq -> (:.) ((:.) Z t_l_0__aUss) t_u_1__aUst -> s_aUsq) -> (s_aUsq -> (:.) ((:.) Z t_l_0__aUss) () -> s_aUsq) -> ((:.) ((:.) Z ()) () -> s_aUsq) -> (s_aUsq -> (:.) ((:.) Z ()) t_u_1__aUst -> s_aUsq) -> (Stream m_aUsp s_aUsq -> m_aUsp r_aUsr) -> SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst
+ DP.Seq.Align.Global.Linear2: [align] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> (s_aUsq -> (:.) ((:.) Z t_l_0__aUss) t_u_1__aUst -> s_aUsq)
+ DP.Seq.Align.Global.Linear2: [delin] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> (s_aUsq -> (:.) ((:.) Z t_l_0__aUss) () -> s_aUsq)
+ DP.Seq.Align.Global.Linear2: [done] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> ((:.) ((:.) Z ()) () -> s_aUsq)
+ DP.Seq.Align.Global.Linear2: [h] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> (Stream m_aUsp s_aUsq -> m_aUsp r_aUsr)
+ DP.Seq.Align.Global.Linear2: [indel] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> (s_aUsq -> (:.) ((:.) Z ()) t_u_1__aUst -> s_aUsq)
+ DP.Seq.Align.Global.Linear2: backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l, u)) [FMList (l, u)] l u
+ DP.Seq.Align.Global.Linear2: backtrackFun :: Monad m => (l -> u -> r) -> (l -> u -> r) -> u -> l -> SigGlobal m (FMList r) [FMList r] l u
+ DP.Seq.Align.Global.Linear2: data SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst
+ DP.Seq.Align.Global.Linear2: gGlobal :: ((~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z ()) (TermArg b)) -> t4)) (t4 -> (:.) ((:.) Z ()) t1 -> t4), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t4)) (t4 -> (:.) ((:.) Z t2) () -> t4), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t4)) (t4 -> (:.) ((:.) Z t2) t1 -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z ()) (TermArg b)) -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t4), TermStream t5 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStream t5 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStream t5 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStream t5 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i, TermStaticVar (TermSymbol (TermSymbol M b1) b) i, MkStream t5 S i, MkStream t5 (Stack (TW t (i -> i -> t5 t3))) i, Element (Stack (TW t (i -> i -> t5 t3))) i, Build (TW t (i -> i -> t5 t3)), RuleContext i) => SigGlobal t5 t4 t3 t2 t1 -> t -> b1 -> b -> (:.) Z (TW t (i -> i -> t5 t3))
+ DP.Seq.Align.Global.Linear2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Seq.Align.Global.Linear2.SigGlobal mL0 xL0 rL0 t_l_0_0 t_u_1_0) (DP.Seq.Align.Global.Linear2.SigGlobal mR0 xR0 rR0 t_l_0_0 t_u_1_0)
+ DP.Seq.Align.Global.Linear2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Seq.Align.Global.Linear2.SigGlobal mL0 xL0 rL0 t_l_0_0 t_u_1_0) (DP.Seq.Align.Global.Linear2.SigGlobal mR0 xR0 rR0 t_l_0_0 t_u_1_0)
+ DP.Seq.Align.Global.Linear2: runBacktrack :: FMList r -> [r]
+ DP.Seq.Align.SemiGlobal.Infix2: SigInfix :: (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> ((:.) ((:.) Z ()) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (Stream m_aIiH s_aIiI -> m_aIiH r_aIiJ) -> SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL
+ DP.Seq.Align.SemiGlobal.Infix2: [align] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [contL] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [contU] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [done] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> ((:.) ((:.) Z ()) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [frSUD] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [frSUI] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [frSUM] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [frUSD] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [frUSI] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [frUSM] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [h] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (Stream m_aIiH s_aIiI -> m_aIiH r_aIiJ)
+ DP.Seq.Align.SemiGlobal.Infix2: [openL] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [openU] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [prePU] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [preUP] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [start] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [sufSU] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [sufUS] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [toPUD] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [toPUI] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [toPUM] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [toUPD] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [toUPI] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: [toUPM] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
+ DP.Seq.Align.SemiGlobal.Infix2: data SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL
+ DP.Seq.Align.SemiGlobal.Infix2: gInfix :: ((~#) * * (Fun (Arg (Stack (TW t (i7 -> i7 -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun (Arg (Stack (TW t2 (i5 -> i5 -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun (Arg (Stack (TW t6 (i -> i -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i7 -> i7 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t2 (i5 -> i5 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z t9) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z t9) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z t9) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t4 (i3 -> i3 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i6 -> i6 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), Apply ((:.) (Arg (Stack (TW t (i7 -> i7 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply ((:.) (Arg (Stack (TW t2 (i5 -> i5 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t4 (i3 -> i3 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t1 (i6 -> i6 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply (Arg (Stack (TW t (i7 -> i7 -> t12 t10))) -> t11), Apply (Arg (Stack (TW t2 (i5 -> i5 -> t12 t10))) -> t11), Apply (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10))) -> t11), Apply (Arg (Stack (TW t6 (i -> i -> t12 t10))) -> t11), Apply (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10))) -> t11), Element (Stack (TW t (i7 -> i7 -> t12 t10))) i4, Element (Stack (TW t (i7 -> i7 -> t12 t10))) i7, Element (Stack (TW t2 (i5 -> i5 -> t12 t10))) i4, Element (Stack (TW t2 (i5 -> i5 -> t12 t10))) i5, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i4, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i7, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i5, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i2, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i1, Element (Stack (TW t6 (i -> i -> t12 t10))) i4, Element (Stack (TW t6 (i -> i -> t12 t10))) i7, Element (Stack (TW t6 (i -> i -> t12 t10))) i5, Element (Stack (TW t6 (i -> i -> t12 t10))) i2, Element (Stack (TW t6 (i -> i -> t12 t10))) i, Element (Stack (TW t6 (i -> i -> t12 t10))) i1, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i4, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i7, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i5, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i2, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i1, Element (Stack (TW t1 (i6 -> i6 -> t12 t10))) i2, Element (Stack (TW t1 (i6 -> i6 -> t12 t10))) i, Element (Stack (TW t1 (i6 -> i6 -> t12 t10))) i1, Element (Stack (TW t1 (i6 -> i6 -> t12 t10))) i6, Element (Stack (TW t4 (i3 -> i3 -> t12 t10))) i2, Element (Stack (TW t4 (i3 -> i3 -> t12 t10))) i, Element (Stack (TW t4 (i3 -> i3 -> t12 t10))) i1, Element (Stack (TW t4 (i3 -> i3 -> t12 t10))) i3, MkStream t12 S i2, MkStream t12 S i, MkStream t12 S i1, MkStream t12 S i3, MkStream t12 S i6, MkStream t12 (Stack (TW t (i7 -> i7 -> t12 t10))) i4, MkStream t12 (Stack (TW t (i7 -> i7 -> t12 t10))) i7, MkStream t12 (Stack (TW t2 (i5 -> i5 -> t12 t10))) i4, MkStream t12 (Stack (TW t2 (i5 -> i5 -> t12 t10))) i5, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i4, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i7, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i5, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i2, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i1, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i4, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i7, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i5, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i2, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i1, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i4, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i7, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i5, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i2, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i1, MkStream t12 (Stack (TW t1 (i6 -> i6 -> t12 t10))) i2, MkStream t12 (Stack (TW t1 (i6 -> i6 -> t12 t10))) i, MkStream t12 (Stack (TW t1 (i6 -> i6 -> t12 t10))) i1, MkStream t12 (Stack (TW t1 (i6 -> i6 -> t12 t10))) i6, MkStream t12 (Stack (TW t4 (i3 -> i3 -> t12 t10))) i2, MkStream t12 (Stack (TW t4 (i3 -> i3 -> t12 t10))) i, MkStream t12 (Stack (TW t4 (i3 -> i3 -> t12 t10))) i1, MkStream t12 (Stack (TW t4 (i3 -> i3 -> t12 t10))) i3, RuleContext i4, RuleContext i7, RuleContext i5, RuleContext i2, RuleContext i, RuleContext i1, RuleContext i3, RuleContext i6, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t2 (i5 -> i5 -> t12 t10))) i5) i5, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i5) i5, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i5) i5, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i5) i5, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t4 (i3 -> i3 -> t12 t10))) i2) i2, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t4 (i3 -> i3 -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t4 (i3 -> i3 -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t4 (i3 -> i3 -> t12 t10))) i3) i3, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i2) i2, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i3) i3, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i6) i6, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t (i7 -> i7 -> t12 t10))) i7) i7, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i7) i7, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i7) i7, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i7) i7, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i6 -> i6 -> t12 t10))) i2) i2, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i6 -> i6 -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i6 -> i6 -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i6 -> i6 -> t12 t10))) i6) i6, TermStream t12 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i2) i2, TermStream t12 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i2) i2, TermStream t12 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i2) i2, Build (TW t (i7 -> i7 -> t12 t10)), Build (TW t2 (i5 -> i5 -> t12 t10)), Build (TW t5 (i2 -> i2 -> t12 t10)), Build (TW t6 (i -> i -> t12 t10)), Build (TW t7 (i1 -> i1 -> t12 t10)), Build (TW t4 (i3 -> i3 -> t12 t10)), Build (TW t1 (i6 -> i6 -> t12 t10)), TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i5, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i2, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i1, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i3, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i2, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i3, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i6, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i7, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i2, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i1, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i6, TermStaticVar (TermSymbol (TermSymbol M b1) b) i2) => SigInfix t12 t11 t10 t9 t8 -> t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t7 (i1 -> i1 -> t12 t10))) (TW t6 (i -> i -> t12 t10))) (TW t5 (i2 -> i2 -> t12 t10))) (TW t4 (i3 -> i3 -> t12 t10))) (TW t3 (i4 -> i4 -> t12 t10))) (TW t2 (i5 -> i5 -> t12 t10))) (TW t1 (i6 -> i6 -> t12 t10))) (TW t (i7 -> i7 -> t12 t10))
+ DP.Seq.Align.SemiGlobal.Infix2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Seq.Align.SemiGlobal.Infix2.SigInfix mL0 xL0 rL0 t_b_0_0 t_u_1_0) (DP.Seq.Align.SemiGlobal.Infix2.SigInfix mR0 xR0 rR0 t_b_0_0 t_u_1_0)
+ DP.Seq.Align.SemiGlobal.Infix2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Seq.Align.SemiGlobal.Infix2.SigInfix mL0 xL0 rL0 t_b_0_0 t_u_1_0) (DP.Seq.Align.SemiGlobal.Infix2.SigInfix mR0 xR0 rR0 t_b_0_0 t_u_1_0)
+ DP.Tree.Align.Global.Affine2: SigGlobal :: ((:.) ((:.) Z t_n_0__atkV) () -> s_atkT -> s_atkT) -> ((:.) ((:.) Z ()) t_n_1__atkW -> s_atkT -> s_atkT) -> ((:.) ((:.) Z t_n_0__atkV) t_n_1__atkW -> s_atkT -> s_atkT) -> ((:.) ((:.) Z t_n_0__atkV) () -> s_atkT -> s_atkT) -> ((:.) ((:.) Z ()) () -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> ((:.) ((:.) Z ()) t_n_1__atkW -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (Stream m_atkS s_atkT -> m_atkS r_atkU) -> SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW
+ DP.Tree.Align.Global.Affine2: [afdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z t_n_0__atkV) () -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [afindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z ()) t_n_1__atkW -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [align] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z t_n_0__atkV) t_n_1__atkW -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [delin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z t_n_0__atkV) () -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [done] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z ()) () -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [fgalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [fgdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [fgindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [fpalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [fpdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [fpindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [gfalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [gfdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [gfindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [gpalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [gpdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [gpindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [h] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (Stream m_atkS s_atkT -> m_atkS r_atkU)
+ DP.Tree.Align.Global.Affine2: [indel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z ()) t_n_1__atkW -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [iter] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [pfalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [pfdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [pfindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [pgalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [pgdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: [pgindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
+ DP.Tree.Align.Global.Affine2: data SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW
+ DP.Tree.Align.Global.Affine2: gGlobal :: ((~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) -> t15)) ((:.) ((:.) Z ()) t12 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) -> t15)) ((:.) ((:.) Z t13) () -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t11 (i1 -> i1 -> t16 t14))) -> t15)) ((:.) ((:.) Z t13) t12 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), Apply (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) -> t15), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) -> t15), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) -> t15), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t11 (i1 -> i1 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) -> t15), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) i10, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) i11, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) i9, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) i8, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t11 (i1 -> i1 -> t16 t14))) i7, Element ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i3, Element ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i6, Element ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i5, Element ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i4, Element ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i3, Element ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i5, Element ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) i1, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i3, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i6, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i5, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i2, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i4, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) i, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) i1, Element ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i6, Element ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i2, Element ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i4, Element ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) i, Element ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i2, Element ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i, Element ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i1, MkStream t16 S i3, MkStream t16 S i5, MkStream t16 S i2, MkStream t16 S i, MkStream t16 S i1, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) i10, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) i11, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) i9, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) i8, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t11 (i1 -> i1 -> t16 t14))) i7, MkStream t16 ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i3, MkStream t16 ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i6, MkStream t16 ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i5, MkStream t16 ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i4, MkStream t16 ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i3, MkStream t16 ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i5, MkStream t16 ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) i1, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i3, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i6, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i5, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i2, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i4, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) i, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) i1, MkStream t16 ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i6, MkStream t16 ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i2, MkStream t16 ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i4, MkStream t16 ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) i, MkStream t16 ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i2, MkStream t16 ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i, MkStream t16 ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i1, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i3) i3, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i5) i5, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i2) i2, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i3, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i5, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i2, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1, RuleContext i3, RuleContext i9, RuleContext i10, RuleContext i6, RuleContext i5, RuleContext i11, RuleContext i8, RuleContext i7, RuleContext i2, RuleContext i4, RuleContext i, RuleContext i1, Build (TW t1 (i10 -> i10 -> t16 t14)), Build (TW t3 (i8 -> i8 -> t16 t14)), Build (TW t (i11 -> i11 -> t16 t14)), Build (TW t2 (i9 -> i9 -> t16 t14)), Build (TW t4 (i7 -> i7 -> t16 t14))) => SigGlobal t16 t15 t14 t13 t12 -> t11 -> t10 -> t9 -> t8 -> t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t11 (i1 -> i1 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) (TW t4 (i7 -> i7 -> t16 t14))) (TW t3 (i8 -> i8 -> t16 t14))) (TW t2 (i9 -> i9 -> t16 t14))) (TW t1 (i10 -> i10 -> t16 t14))) (TW t (i11 -> i11 -> t16 t14))
+ DP.Tree.Align.Global.Affine2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Tree.Align.Global.Affine2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.Affine2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
+ DP.Tree.Align.Global.Affine2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Tree.Align.Global.Affine2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.Affine2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
+ DP.Tree.Align.Global.AffineSmall2: SigGlobal :: ((:.) ((:.) Z t_n_0__alto) t_n_1__altp -> s_altm -> s_altm) -> ((:.) ((:.) Z t_n_0__alto) () -> s_altm -> s_altm) -> (s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> ((:.) ((:.) Z ()) () -> s_altm) -> ((:.) ((:.) Z ()) t_n_1__altp -> s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> (Stream m_altl s_altm -> m_altl r_altn) -> SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp
+ DP.Tree.Align.Global.AffineSmall2: SigLabolg :: ((:.) ((:.) Z t_n_0__altQ) t_n_1__altR -> s_altO -> s_altO) -> ((:.) ((:.) Z t_n_0__altQ) () -> s_altO -> s_altO) -> (s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> ((:.) ((:.) Z ()) () -> s_altO) -> ((:.) ((:.) Z ()) t_n_1__altR -> s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> (Stream m_altN s_altO -> m_altN r_altP) -> SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR
+ DP.Tree.Align.Global.AffineSmall2: [gAlign] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> ((:.) ((:.) Z t_n_0__alto) t_n_1__altp -> s_altm -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [gDelin] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> ((:.) ((:.) Z t_n_0__alto) () -> s_altm -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [gDone] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [gFgap] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [gFinalDone] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> ((:.) ((:.) Z ()) () -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [gH] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (Stream m_altl s_altm -> m_altl r_altn)
+ DP.Tree.Align.Global.AffineSmall2: [gIndel] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> ((:.) ((:.) Z ()) t_n_1__altp -> s_altm -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [gIter] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [gPgap] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [gSgap] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [gSiter] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
+ DP.Tree.Align.Global.AffineSmall2: [lAlign] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> ((:.) ((:.) Z t_n_0__altQ) t_n_1__altR -> s_altO -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: [lDelin] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> ((:.) ((:.) Z t_n_0__altQ) () -> s_altO -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: [lDone] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: [lFgap] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: [lFinalDone] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> ((:.) ((:.) Z ()) () -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: [lH] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (Stream m_altN s_altO -> m_altN r_altP)
+ DP.Tree.Align.Global.AffineSmall2: [lIndel] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> ((:.) ((:.) Z ()) t_n_1__altR -> s_altO -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: [lIter] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: [lPgap] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: [lSgap] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: [lSiter] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
+ DP.Tree.Align.Global.AffineSmall2: data SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp
+ DP.Tree.Align.Global.AffineSmall2: data SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR
+ DP.Tree.Align.Global.AffineSmall2: gGlobal :: ((~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) ((:.) ((:.) Z ()) t7 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) () -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) t7 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg (Stack (TW t6 (i1 -> i1 -> t11 t9))) -> t10)) (t10 -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg (Stack (TW t6 (i1 -> i1 -> t11 t9))) -> t10), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) i6, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) i5, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) i4, Element ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i2, Element ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i, Element ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, Element ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, Element ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element (Stack (TW t6 (i1 -> i1 -> t11 t9))) i2, Element (Stack (TW t6 (i1 -> i1 -> t11 t9))) i, Element (Stack (TW t6 (i1 -> i1 -> t11 t9))) i3, MkStream t11 S i1, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) i6, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) i5, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) i4, MkStream t11 ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i2, MkStream t11 ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 (Stack (TW t6 (i1 -> i1 -> t11 t9))) i2, MkStream t11 (Stack (TW t6 (i1 -> i1 -> t11 t9))) i, MkStream t11 (Stack (TW t6 (i1 -> i1 -> t11 t9))) i3, RuleContext i6, RuleContext i5, RuleContext i2, RuleContext i, RuleContext i4, RuleContext i3, RuleContext i1, Build (TW t (i6 -> i6 -> t11 t9)), Build (TW t1 (i5 -> i5 -> t11 t9)), Build (TW t2 (i4 -> i4 -> t11 t9)), Build (TW t6 (i1 -> i1 -> t11 t9)), TermStream t11 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1) => SigGlobal t11 t10 t9 t8 t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t6 (i1 -> i1 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) (TW t2 (i4 -> i4 -> t11 t9))) (TW t1 (i5 -> i5 -> t11 t9))) (TW t (i6 -> i6 -> t11 t9))
+ DP.Tree.Align.Global.AffineSmall2: gLabolg :: ((~#) * * (Fun (Arg (Stack (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10), (~#) * * (Fun (Arg (Stack (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10), (~#) * * (Fun (Arg (Stack (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) -> t10)) ((:.) ((:.) Z ()) t7 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) () -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) t7 -> t10 -> t10), Apply (Arg (Stack (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg (Stack (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg (Stack (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) -> t10), Apply (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) -> t10), Apply (Arg ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) -> t10), Apply (Arg ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) -> t10), Apply (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) -> t10), Apply (Arg ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) -> t10), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) i3, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) i3, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) i, Element ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i6, Element ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i5, Element ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) i4, Element ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i6, Element ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i5, Element ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i4, Element ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i6, Element ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i5, Element ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) i4, Element ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) i2, Element ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) i2, Element ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) i, Element ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) i, Element (Stack (TW t3 (i3 -> i3 -> t11 t9))) i1, Element (Stack (TW t4 (i2 -> i2 -> t11 t9))) i1, Element (Stack (TW t5 (i -> i -> t11 t9))) i1, MkStream t11 S i, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) i3, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) i3, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i6, MkStream t11 ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i5, MkStream t11 ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) i4, MkStream t11 ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i6, MkStream t11 ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i5, MkStream t11 ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i4, MkStream t11 ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i6, MkStream t11 ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i5, MkStream t11 ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) i4, MkStream t11 ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) i, MkStream t11 ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) i, MkStream t11 (Stack (TW t3 (i3 -> i3 -> t11 t9))) i1, MkStream t11 (Stack (TW t4 (i2 -> i2 -> t11 t9))) i1, MkStream t11 (Stack (TW t5 (i -> i -> t11 t9))) i1, RuleContext i1, RuleContext i6, RuleContext i5, RuleContext i3, RuleContext i4, RuleContext i2, RuleContext i, Build (TW t4 (i2 -> i2 -> t11 t9)), Build (TW t3 (i3 -> i3 -> t11 t9)), Build (TW t5 (i -> i -> t11 t9)), Build a, Build a1, Build a2, TermStream t11 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i) => SigLabolg t11 t10 t9 t8 t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b4 -> b3 -> b2 -> a2 -> a1 -> a -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t6 (i1 -> i1 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) (TW t2 (i4 -> i4 -> t11 t9))) (TW t1 (i5 -> i5 -> t11 t9))) (TW t (i6 -> i6 -> t11 t9))
+ DP.Tree.Align.Global.AffineSmall2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Tree.Align.Global.AffineSmall2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.AffineSmall2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
+ DP.Tree.Align.Global.AffineSmall2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Tree.Align.Global.AffineSmall2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.AffineSmall2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
+ DP.Tree.Align.Global.AffineSmall2: resig :: Monad m => SigGlobal m a b c d -> SigLabolg m a b c d
+ DP.Tree.Align.Global.Linear2: SigGlobal :: ((:.) ((:.) Z t_n_0__ai0R) t_n_1__ai0S -> s_ai0P -> s_ai0P) -> ((:.) ((:.) Z t_n_0__ai0R) () -> s_ai0P -> s_ai0P) -> ((:.) ((:.) Z ()) () -> s_ai0P) -> ((:.) ((:.) Z ()) t_n_1__ai0S -> s_ai0P -> s_ai0P) -> (s_ai0P -> s_ai0P -> s_ai0P) -> (Stream m_ai0O s_ai0P -> m_ai0O r_ai0Q) -> SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S
+ DP.Tree.Align.Global.Linear2: SigLabolg :: ((:.) ((:.) Z t_n_0__ai17) t_n_1__ai18 -> s_ai15 -> s_ai15) -> ((:.) ((:.) Z t_n_0__ai17) () -> s_ai15 -> s_ai15) -> ((:.) ((:.) Z ()) () -> s_ai15) -> ((:.) ((:.) Z ()) t_n_1__ai18 -> s_ai15 -> s_ai15) -> (s_ai15 -> s_ai15 -> s_ai15) -> (Stream m_ai14 s_ai15 -> m_ai14 r_ai16) -> SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18
+ DP.Tree.Align.Global.Linear2: [gAlign] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> ((:.) ((:.) Z t_n_0__ai0R) t_n_1__ai0S -> s_ai0P -> s_ai0P)
+ DP.Tree.Align.Global.Linear2: [gDelin] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> ((:.) ((:.) Z t_n_0__ai0R) () -> s_ai0P -> s_ai0P)
+ DP.Tree.Align.Global.Linear2: [gDone] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> ((:.) ((:.) Z ()) () -> s_ai0P)
+ DP.Tree.Align.Global.Linear2: [gH] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> (Stream m_ai0O s_ai0P -> m_ai0O r_ai0Q)
+ DP.Tree.Align.Global.Linear2: [gIndel] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> ((:.) ((:.) Z ()) t_n_1__ai0S -> s_ai0P -> s_ai0P)
+ DP.Tree.Align.Global.Linear2: [gIter] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> (s_ai0P -> s_ai0P -> s_ai0P)
+ DP.Tree.Align.Global.Linear2: [lAlign] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> ((:.) ((:.) Z t_n_0__ai17) t_n_1__ai18 -> s_ai15 -> s_ai15)
+ DP.Tree.Align.Global.Linear2: [lDelin] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> ((:.) ((:.) Z t_n_0__ai17) () -> s_ai15 -> s_ai15)
+ DP.Tree.Align.Global.Linear2: [lDone] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> ((:.) ((:.) Z ()) () -> s_ai15)
+ DP.Tree.Align.Global.Linear2: [lH] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> (Stream m_ai14 s_ai15 -> m_ai14 r_ai16)
+ DP.Tree.Align.Global.Linear2: [lIndel] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> ((:.) ((:.) Z ()) t_n_1__ai18 -> s_ai15 -> s_ai15)
+ DP.Tree.Align.Global.Linear2: [lIter] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> (s_ai15 -> s_ai15 -> s_ai15)
+ DP.Tree.Align.Global.Linear2: data SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S
+ DP.Tree.Align.Global.Linear2: data SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18
+ DP.Tree.Align.Global.Linear2: gGlobal :: ((~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) ((:.) ((:.) Z ()) t3 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) ((:.) ((:.) Z t4) () -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) ((:.) ((:.) Z t4) t3 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i2 -> i2 -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) (t6 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i -> i -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) (t6 -> t6 -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) (Stack (TW t (i2 -> i2 -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) (Stack (TW t1 (i -> i -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t2 (i1 -> i1 -> t7 t5))) i2, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t2 (i1 -> i1 -> t7 t5))) i2, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i1 -> i1 -> t7 t5))) i, Element ((:!:) (Stack (TW t (i2 -> i2 -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) i1, Element ((:!:) (Stack (TW t1 (i -> i -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) i1, MkStream t7 S i1, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t2 (i1 -> i1 -> t7 t5))) i2, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t2 (i1 -> i1 -> t7 t5))) i2, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i1 -> i1 -> t7 t5))) i, MkStream t7 ((:!:) (Stack (TW t (i2 -> i2 -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) i1, MkStream t7 ((:!:) (Stack (TW t1 (i -> i -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) i1, RuleContext i2, RuleContext i, RuleContext i1, Build (TW t (i2 -> i2 -> t7 t5)), Build (TW t1 (i -> i -> t7 t5)), TermStream t7 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1) => SigGlobal t7 t6 t5 t4 t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) Z (TW t2 (i1 -> i1 -> t7 t5))) (TW t1 (i -> i -> t7 t5))) (TW t (i2 -> i2 -> t7 t5))
+ DP.Tree.Align.Global.Linear2: gLabolg :: ((~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) -> t6)) (t6 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) (t6 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) (t6 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i2 -> i2 -> t7 t5))) -> t6)) ((:.) ((:.) Z ()) t3 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t (i2 -> i2 -> t7 t5))) -> t6)) ((:.) ((:.) Z t4) () -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t1 (i -> i -> t7 t5))) -> t6)) ((:.) ((:.) Z t4) t3 -> t6 -> t6), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i2 -> i2 -> t7 t5))) i1, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t (i2 -> i2 -> t7 t5))) i1, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t1 (i -> i -> t7 t5))) i1, Element ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) i2, Element ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) i, Element ((:!:) (Stack a) (TW t2 (i1 -> i1 -> t7 t5))) i1, Element ((:!:) (Stack a1) (TW t2 (i1 -> i1 -> t7 t5))) i1, MkStream t7 S i1, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i2 -> i2 -> t7 t5))) i1, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t (i2 -> i2 -> t7 t5))) i1, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t1 (i -> i -> t7 t5))) i1, MkStream t7 ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) i2, MkStream t7 ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) i, MkStream t7 ((:!:) (Stack a) (TW t2 (i1 -> i1 -> t7 t5))) i1, MkStream t7 ((:!:) (Stack a1) (TW t2 (i1 -> i1 -> t7 t5))) i1, RuleContext i2, RuleContext i, RuleContext i1, Apply (Arg ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) -> t6), Apply (Arg ((:!:) (Stack a) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) (Stack a1) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i2 -> i2 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t (i2 -> i2 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t1 (i -> i -> t7 t5))) -> t6), Build (TW t2 (i1 -> i1 -> t7 t5)), Build a, Build a1, TermStream t7 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1) => SigLabolg t7 t6 t5 t4 t3 -> t2 -> t1 -> t -> b2 -> a1 -> a -> b1 -> b -> (:.) ((:.) ((:.) Z (TW t2 (i1 -> i1 -> t7 t5))) (TW t1 (i -> i -> t7 t5))) (TW t (i2 -> i2 -> t7 t5))
+ DP.Tree.Align.Global.Linear2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Tree.Align.Global.Linear2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.Linear2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
+ DP.Tree.Align.Global.Linear2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Tree.Align.Global.Linear2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.Linear2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
+ DP.Tree.Align.Global.Linear2: resig :: Monad m => SigGlobal m a b c d -> SigLabolg m a b c d
+ DP.Tree.Edit.Global.Linear2: SigGlobal :: (s_adnB -> (:.) ((:.) Z t_x_0__adnD) t_x_1__adnE -> s_adnB) -> (s_adnB -> (:.) ((:.) Z t_x_0__adnD) () -> s_adnB) -> ((:.) ((:.) Z ()) () -> s_adnB) -> (s_adnB -> (:.) ((:.) Z ()) t_x_1__adnE -> s_adnB) -> (s_adnB -> s_adnB -> s_adnB) -> (Stream m_adnA s_adnB -> m_adnA r_adnC) -> SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE
+ DP.Tree.Edit.Global.Linear2: [align] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (s_adnB -> (:.) ((:.) Z t_x_0__adnD) t_x_1__adnE -> s_adnB)
+ DP.Tree.Edit.Global.Linear2: [delin] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (s_adnB -> (:.) ((:.) Z t_x_0__adnD) () -> s_adnB)
+ DP.Tree.Edit.Global.Linear2: [done] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> ((:.) ((:.) Z ()) () -> s_adnB)
+ DP.Tree.Edit.Global.Linear2: [h] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (Stream m_adnA s_adnB -> m_adnA r_adnC)
+ DP.Tree.Edit.Global.Linear2: [indel] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (s_adnB -> (:.) ((:.) Z ()) t_x_1__adnE -> s_adnB)
+ DP.Tree.Edit.Global.Linear2: [iter] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (s_adnB -> s_adnB -> s_adnB)
+ DP.Tree.Edit.Global.Linear2: data SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE
+ DP.Tree.Edit.Global.Linear2: gGlobal :: ((~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t5)) (t5 -> (:.) ((:.) Z t3) t2 -> t5), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))) -> t5)) (t5 -> t5 -> t5), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z ()) (TermArg b)) -> t5)) (t5 -> (:.) ((:.) Z ()) t2 -> t5), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t5)) (t5 -> (:.) ((:.) Z t3) () -> t5), Apply ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z ()) (TermArg b)) -> t5), Apply ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t5), Apply ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t5), Apply (Arg ((:!:) (Stack (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))) -> t5), TermStream t6 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t1 (i1 -> i1 -> t6 t4))) i1) i1, TermStream t6 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStream t6 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i1 -> i1 -> t6 t4))) i1) i1, TermStream t6 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t1 (i1 -> i1 -> t6 t4))) i) i, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i1, TermStaticVar (TermSymbol (TermSymbol M b1) b) i, Element ((:!:) (Stack (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))) i1, Element (Stack (TW t1 (i1 -> i1 -> t6 t4))) i, Element (Stack (TW t1 (i1 -> i1 -> t6 t4))) i1, MkStream t6 S i1, MkStream t6 ((:!:) (Stack (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))) i1, MkStream t6 (Stack (TW t1 (i1 -> i1 -> t6 t4))) i, MkStream t6 (Stack (TW t1 (i1 -> i1 -> t6 t4))) i1, RuleContext i, RuleContext i1, Build (TW t1 (i1 -> i1 -> t6 t4))) => SigGlobal t6 t5 t4 t3 t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) Z (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))
+ DP.Tree.Edit.Global.Linear2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Tree.Edit.Global.Linear2.SigGlobal mL0 xL0 rL0 t_x_0_0 t_x_1_0) (DP.Tree.Edit.Global.Linear2.SigGlobal mR0 xR0 rR0 t_x_0_0 t_x_1_0)
+ DP.Tree.Edit.Global.Linear2: instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Tree.Edit.Global.Linear2.SigGlobal mL0 xL0 rL0 t_x_0_0 t_x_1_0) (DP.Tree.Edit.Global.Linear2.SigGlobal mR0 xR0 rR0 t_x_0_0 t_x_1_0)

Files

AlignmentAlgorithms.cabal view
@@ -1,7 +1,7 @@ name:           AlignmentAlgorithms-version:        0.0.2.1-author:         Christian Hoener zu Siederdissen, 2013-2015-copyright:      Christian Hoener zu Siederdissen, 2013-2015+version:        0.1.0.0+author:         Christian Hoener zu Siederdissen, 2013-2017+copyright:      Christian Hoener zu Siederdissen, 2013-2017 homepage:       https://github.com/choener/AlignmentAlgorithms bug-reports:    https://github.com/choener/AlignmentAlgorithms/issues maintainer:     choener@bioinf.uni-leipzig.de@@ -11,7 +11,7 @@ build-type:     Simple stability:      experimental cabal-version:  >= 1.10.0-tested-with:    GHC == 7.8.4, GHC == 7.10.2+tested-with:    GHC == 7.10.3, GHC == 8.0.1 synopsis:       Collection of alignment algorithms description:                 <http://www.bioinf.uni-leipzig.de/Software/gADP/ generalized Algebraic Dynamic Programming>@@ -25,10 +25,32 @@                 That being said, these algorithms are mostly aimed towards                 sequence alignment problems.                 .-                List of grammars:+                List of grammars for sequences:                 .-                * global alignment (Needleman-Wunsch style)+                * global alignment+                  * linear scoring: Needleman-Wunsch style+                  .+                  * affine scoring: Gotoh                 .+                * semiglobal alignment+                  * overhang alignment+                .+                List of grammar for trees:+                .+                * global alignment+                  * linear scoring+                  .+                  * affine scoring+                  .+                  * simplified affine scoring+                .+                * global editing+                  * linear scoring+                .+                We now provide tree alignment and editing algorithms as well.+                We do not depend on ADPfusionForest to achieve this because+                grammar rules are completely disconnected from the underlying+                ADPfusion machinery.   @@ -39,16 +61,24 @@   library-  build-depends: base             >= 4.7      && < 4.9-               , ADPfusion        >= 0.4.0.2  && < 0.5.1-               , containers       >= 0.5      && < 0.6-               , fmlist           >= 0.9      && < 0.10-               , FormalGrammars   >= 0.2.1    && < 0.2.2-               , GrammarProducts  >= 0.1.1    && < 0.1.2-               , PrimitiveArray   >= 0.6.0    && < 0.7.1-               , vector           >= 0.10     && < 0.12+  build-depends: base             >= 4.7      && < 5.0+               , containers       >= 0.5+               , fmlist           >= 0.9+               , vector           >= 0.10+               --+               , ADPfusion        == 0.5.2.*+               , FormalGrammars   == 0.3.1.*+               , GrammarProducts  == 0.1.1.*+               , PrimitiveArray   == 0.8.0.*   exposed-modules:-    DP.Alignment.Global.Tapes2+    DP.HMM.States2+    DP.Seq.Align.Global.Affine2+    DP.Seq.Align.Global.Linear2+    DP.Seq.Align.SemiGlobal.Infix2+    DP.Tree.Align.Global.Affine2+    DP.Tree.Align.Global.AffineSmall2+    DP.Tree.Align.Global.Linear2+    DP.Tree.Edit.Global.Linear2   default-language:     Haskell2010   default-extensions: BangPatterns
− DP/Alignment/Global/Tapes2.hs
@@ -1,73 +0,0 @@---- | Very simple pairwise global alignment. The terminal tapes may contain--- the atomic types @u@ and @l@ which means that one may align sequences of--- different types.------ In case you want to align nucleotides to amino acids, this version--- should only be used if the nucleotides are already in triplet form and--- have no frameshift within the sequence. Alternatively, specify a derived--- grammar of higher complexity.--module DP.Alignment.Global.Tapes2 where--import           Data.Sequence (Seq,empty,(|>))-import           Data.Vector.Fusion.Stream.Monadic (Stream,toList)-import qualified Data.FMList as F-import           Data.FMList (FMList)--import ADP.Fusion-import Data.PrimitiveArray hiding (toList)-import FormalLanguage------ | Define signature and grammar--[formalLanguage|-Grammar: Global-N: X-T: l-T: u-S: [X,X]-[X,X] -> done  <<< [e,e]-[X,X] -> align <<< [X,X] [l,u]-[X,X] -> indel <<< [X,X] [-,u]-[X,X] -> delin <<< [X,X] [l,-]-//--Emit: Global-|]--makeAlgebraProduct ''SigGlobal---- | Generic backtracking scheme via @FMList@s.--backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l,u)) [FMList (l,u)] l u-backtrack ud ld = SigGlobal-  { done  = \ _ -> F.empty-  , align = \ x (Z:.l:.u) -> x `F.snoc` (l ,u )-  , indel = \ x (Z:._:.u) -> x `F.snoc` (ld,u )-  , delin = \ x (Z:.l:._) -> x `F.snoc` (l ,ud)-  , h     = toList-  }-{-# Inline backtrack #-}---- | Backtracking with more options--backtrackFun :: Monad m => (l -> u -> r) -> (l -> u -> r) -> u -> l -> SigGlobal m (FMList r) [FMList r] l u-backtrackFun f g ud ld = SigGlobal-  { done  = \ _ -> F.empty-  , align = \ x (Z:.l:.u) -> x `F.snoc` f l  u-  , indel = \ x (Z:._:.u) -> x `F.snoc` g ld u-  , delin = \ x (Z:.l:._) -> x `F.snoc` g l  ud-  , h     = toList-  }-{-# Inline backtrackFun #-}---- | Turn a single @FMList@ backtracking result into the corresponding--- list.--runBacktrack :: FMList r -> [r]-runBacktrack = F.toList-{-# Inline runBacktrack #-}-
+ DP/HMM/States2.hs view
@@ -0,0 +1,27 @@++module DP.HMM.States2 where++import           ADP.Fusion.Core+import           Data.PrimitiveArray hiding (toList)+import           FormalLanguage++++[formalLanguage|+Verbose+Grammar: HMM+N: P  -- plus case+N: M  -- minus case+T: x+S: M  -- we should start and stop here+P -> pstay <<< P x+P -> mtop  <<< M x+M -> mstay <<< M x+M -> ptom  <<< P x+M -> done  <<< e+//+Emit: HMM+|]++makeAlgebraProduct ''SigHMM+
+ DP/Seq/Align/Global/Affine2.hs view
@@ -0,0 +1,82 @@++module DP.Seq.Align.Global.Affine2 where++import           Data.FMList (FMList)+import           Data.Sequence (Seq,empty,(|>))+import           Data.Vector.Fusion.Stream.Monadic (Stream,toList)+import qualified Data.FMList as F++import           ADP.Fusion.Core+import           Data.PrimitiveArray hiding (toList)+import           FormalLanguage++++-- | Define signature and grammar++[formalLanguage|+Verbose+Grammar: Gotoh+N: S+N: M+N: D+N: I+T: b+T: u+S: [S,S]+[S,S] -> start <<< [M,M]+[S,S] -> start <<< [D,D]+[S,S] -> start <<< [I,I]++[M,M] -> done  <<< [e,e]+[M,M] -> align <<< [M,M] [b,u]+[M,M] -> align <<< [D,D] [b,u]+[M,M] -> align <<< [I,I] [b,u]++[D,D] -> openU <<< [M,M] [-,u]+[D,D] -> contU <<< [D,D] [-,u]+[D,D] -> openU <<< [I,I] [-,u]++[I,I] -> openL <<< [M,M] [b,-]+[I,I] -> openL <<< [D,D] [b,-]+[I,I] -> contU <<< [I,I] [b,-]+//++Emit: Gotoh+|]++makeAlgebraProduct ''SigGotoh++{-+-- | Generic backtracking scheme via @FMList@s.++backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l,u)) [FMList (l,u)] l u+backtrack ud ld = SigGlobal+  { done  = \ _ -> F.empty+  , align = \ x (Z:.l:.u) -> x `F.snoc` (l ,u )+  , indel = \ x (Z:._:.u) -> x `F.snoc` (ld,u )+  , delin = \ x (Z:.l:._) -> x `F.snoc` (l ,ud)+  , h     = toList+  }+{-# Inline backtrack #-}++-- | Backtracking with more options++backtrackFun :: Monad m => (l -> u -> r) -> (l -> u -> r) -> u -> l -> SigGlobal m (FMList r) [FMList r] l u+backtrackFun f g ud ld = SigGlobal+  { done  = \ _ -> F.empty+  , align = \ x (Z:.l:.u) -> x `F.snoc` f l  u+  , indel = \ x (Z:._:.u) -> x `F.snoc` g ld u+  , delin = \ x (Z:.l:._) -> x `F.snoc` g l  ud+  , h     = toList+  }+{-# Inline backtrackFun #-}++-- | Turn a single @FMList@ backtracking result into the corresponding+-- list.++runBacktrack :: FMList r -> [r]+runBacktrack = F.toList+{-# Inline runBacktrack #-}+-}+
+ DP/Seq/Align/Global/Linear2.hs view
@@ -0,0 +1,73 @@++-- | Very simple pairwise global alignment. The terminal tapes may contain+-- the atomic types @u@ and @l@ which means that one may align sequences of+-- different types.+--+-- In case you want to align nucleotides to amino acids, this version+-- should only be used if the nucleotides are already in triplet form and+-- have no frameshift within the sequence. Alternatively, specify a derived+-- grammar of higher complexity.++module DP.Seq.Align.Global.Linear2 where++import           Data.FMList (FMList)+import           Data.Sequence (Seq,empty,(|>))+import           Data.Vector.Fusion.Stream.Monadic (Stream,toList)+import qualified Data.FMList as F++import           ADP.Fusion.Core+import           Data.PrimitiveArray hiding (toList)+import           FormalLanguage++++-- | Define signature and grammar++[formalLanguage|+Grammar: Global+N: X+T: l+T: u+S: [X,X]+[X,X] -> done  <<< [e,e]+[X,X] -> align <<< [X,X] [l,u]+[X,X] -> indel <<< [X,X] [-,u]+[X,X] -> delin <<< [X,X] [l,-]+//++Emit: Global+|]++makeAlgebraProduct ''SigGlobal++-- | Generic backtracking scheme via @FMList@s.++backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l,u)) [FMList (l,u)] l u+backtrack ud ld = SigGlobal+  { done  = \ _ -> F.empty+  , align = \ x (Z:.l:.u) -> x `F.snoc` (l ,u )+  , indel = \ x (Z:._:.u) -> x `F.snoc` (ld,u )+  , delin = \ x (Z:.l:._) -> x `F.snoc` (l ,ud)+  , h     = toList+  }+{-# Inline backtrack #-}++-- | Backtracking with more options++backtrackFun :: Monad m => (l -> u -> r) -> (l -> u -> r) -> u -> l -> SigGlobal m (FMList r) [FMList r] l u+backtrackFun f g ud ld = SigGlobal+  { done  = \ _ -> F.empty+  , align = \ x (Z:.l:.u) -> x `F.snoc` f l  u+  , indel = \ x (Z:._:.u) -> x `F.snoc` g ld u+  , delin = \ x (Z:.l:._) -> x `F.snoc` g l  ud+  , h     = toList+  }+{-# Inline backtrackFun #-}++-- | Turn a single @FMList@ backtracking result into the corresponding+-- list.++runBacktrack :: FMList r -> [r]+runBacktrack = F.toList+{-# Inline runBacktrack #-}+
+ DP/Seq/Align/SemiGlobal/Infix2.hs view
@@ -0,0 +1,103 @@++-- | Affine grammar with zero-cost prefixes and suffixes.++module DP.Seq.Align.SemiGlobal.Infix2 where++import           Data.FMList (FMList)+import           Data.Sequence (Seq,empty,(|>))+import           Data.Vector.Fusion.Stream.Monadic (Stream,toList)+import qualified Data.FMList as F++import           ADP.Fusion.Core+import           Data.PrimitiveArray hiding (toList)+import           FormalLanguage+import           FormalLanguage.GrammarProduct++++-- | Define signature and grammar++[grammarProduct|+Verbose++Grammar: Infix+N: S+N: P+N: U+N: M+N: D+N: I+N: S+T: b+T: u+S: S++-- consume prefix on upper tape++[P,U] -> done  <<< [e,e]+[P,U] -> prePU <<< [P,U] [-,u]++-- consume prefix on lower tape++[U,P] -> done  <<< [e,e]+[U,P] -> preUP <<< [U,P] [b,-]++-- normal affine grammar (but with additional options to transition to+-- prefix++[M,M] -> done  <<< [e,e]+[M,M] -> align <<< [M,M] [b,u]+[M,M] -> align <<< [D,D] [b,u]+[M,M] -> align <<< [I,I] [b,u]+-- this is actually right, since [P,U] and [U,P] can be empty. In order to+-- guarantee that the prefix is non-empty, we make sure here that at least+-- one character is in the respective prefix.+[M,M] -> toPUM <<< [P,U] [-,u]+[M,M] -> toUPM <<< [U,P] [b,-]++-- affine deletions.++[D,D] -> openU <<< [M,M] [-,u]+[D,D] -> contU <<< [D,D] [-,u]+[D,D] -> openU <<< [I,I] [-,u]+[D,D] -> done  <<< [e,e]+-- coming from a prefix+[D,D] -> toPUD <<< [P,U] [-,u]+[D,D] -> toUPD <<< [U,P] [b,-]++[I,I] -> openL <<< [M,M] [b,-]+[I,I] -> openL <<< [D,D] [b,-]+[I,I] -> contL <<< [I,I] [b,-]+[I,I] -> done  <<< [e,e]+-- coming from a prefix+[I,I] -> toPUI <<< [P,U] [-,u]+[I,I] -> toUPI <<< [U,P] [b,-]++-- consume suffix on upper tape++[S,U] -> frSUM <<< [M,M] [-,u]+[S,U] -> frSUD <<< [D,D] [-,u]+[S,U] -> frSUI <<< [I,I] [-,u]+[S,U] -> sufSU <<< [S,U] [-,u]++[U,S] -> frUSM <<< [M,M] [b,-]+[U,S] -> frUSD <<< [D,D] [b,-]+[U,S] -> frUSI <<< [I,I] [b,-]+[U,S] -> sufUS <<< [U,S] [b,-]++-- we can go directly to the affine part, or start in a suffix system. No+-- extra costs here, because we already pay in @frSUM@ etc++[S,S] -> start <<< [M,M]+[S,S] -> start <<< [D,D]+[S,S] -> start <<< [I,I]+[S,S] -> start <<< [S,U]+[S,S] -> start <<< [U,S]++//++Emit: Infix+|]++makeAlgebraProduct ''SigInfix+
+ DP/Tree/Align/Global/Affine2.hs view
@@ -0,0 +1,64 @@++-- | Full-blown affine-scoring tree alignment grammar with all cases.+--+-- We currently do not produce the outside algorithm, since the+-- @AffineSmall2@ variant seems more useful in practice. However, if you+-- want just send a mail.++module DP.Tree.Align.Global.Affine2 where++import ADP.Fusion.Core+import FormalLanguage.CFG++++[formalLanguage|+Verbose++Grammar: Global+N: T -- tree+N: F -- forest+N: Z -- tree for gaps+N: Y -- tree for affine gaps+N: P -- parent gap mode+N: G -- sibling gap together with P+T: n+S: [F,F]+[F,F] -> iter    <<< [T,T] [F,F]+[F,F] -> iter    <<< [T,Z] [F,G]+[F,F] -> iter    <<< [Z,T] [G,F]+[F,F] -> done    <<< [e,e]+[P,F] -> pfalign <<< [T,T] [P,F]+[P,F] -> pfdelin <<< [T,Z] [P,G]+[P,F] -> pfindel <<< [Y,T] [P,F]+[P,F] -> done    <<< [e,e]+[F,P] -> done    <<< [e,e]+[F,P] -> fpalign <<< [T,T] [F,P]+[F,P] -> fpdelin <<< [T,Y] [F,P]+[F,P] -> fpindel <<< [Z,T] [G,P]+[G,F] -> gfalign <<< [T,T] [G,F]+[G,F] -> gfdelin <<< [T,Z] [P,G]+[G,F] -> gfindel <<< [Y,T] [G,F]+[G,F] -> done    <<< [e,e]+[F,G] -> done    <<< [e,e]+[F,G] -> fgalign <<< [T,T] [F,F]+[F,G] -> fgdelin <<< [T,Y] [F,G]+[F,G] -> fgindel <<< [Z,T] [G,P]+[G,P] -> gpalign <<< [T,T] [F,P]+[G,P] -> gpdelin <<< [T,Y] [F,P]+[G,P] -> gpindel <<< [Y,T] [G,P]+[P,G] -> pgalign <<< [T,T] [P,F]+[P,G] -> pgdelin <<< [T,Y] [P,G]+[P,G] -> pgindel <<< [Y,T] [P,F]+[T,T] -> align   <<< [n,n] [F,F]+[Z,T] -> indel   <<< [-,n] [P,F]+[T,Z] -> delin   <<< [n,-] [F,P]+[Y,T] -> afindel <<< [-,n] [P,F]+[T,Y] -> afdelin <<< [n,-] [F,P]+//++Emit: Global+|]++makeAlgebraProduct ''SigGlobal+
+ DP/Tree/Align/Global/AffineSmall2.hs view
@@ -0,0 +1,57 @@++-- | An affine-scoring grammar for the alignment of two trees.+--+-- Due to the way @ADPfusion@ and @GADP@ works this grammar will, in+-- principle, work with basically any input type. In practice, the given+-- rules make most (or only) sense for tree alignments.++module DP.Tree.Align.Global.AffineSmall2 where++import ADP.Fusion.Core+import FormalLanguage.CFG++++[formalLanguage|+Verbose++Grammar: Global+N: T -- tree+N: F -- forest+N: Z -- tree for gaps+N: Q -- sibling gap mode+N: R -- parent gap mode+N: E+T: n+S: [F,F]+[F,F] -> iter    <<< [T,T] [F,F]+[F,F] -> fgap    <<< [T,Z] [Q,Q]+[F,F] -> fgap    <<< [Z,T] [Q,Q]+[Z,T] -> indel   <<< [-,n] [R,R]+[T,Z] -> delin   <<< [n,-] [R,R]+[T,T] -> align   <<< [n,n] [F,F]+[F,F] -> done    <<< [E,E]+[R,R] -> done    <<< [E,E]+[R,R] -> pgap <<< [T,T] [R,R]+[R,R] -> pgap <<< [T,Z] [R,R]+[R,R] -> pgap <<< [Z,T] [R,R]+[Q,Q] -> done    <<< [E,E]+[Q,Q] -> siter <<< [T,T] [F,F]+[Q,Q] -> sgap <<< [T,Z] [Q,Q]+[Q,Q] -> sgap <<< [Z,T] [Q,Q]+[E,E] -> finalDone <<< [e,e]+//+Outside: Labolg+Source: Global+//++Emit: Global+Emit: Labolg+|]++makeAlgebraProduct ''SigGlobal++resig :: Monad m => SigGlobal m a b c d -> SigLabolg m a b c d+resig (SigGlobal gdo git gsi gal gin gde gfg gpg gsg gfi gh) = SigLabolg gdo git gsi gal gin gde gfg gpg gsg gfi gh+{-# Inline resig #-}+
+ DP/Tree/Align/Global/Linear2.hs view
@@ -0,0 +1,40 @@++-- | Simple, linear scoring for tree alignments.++module DP.Tree.Align.Global.Linear2 where++import ADP.Fusion.Core+import FormalLanguage.CFG++++[formalLanguage|+Verbose++Grammar: Global+N: T+N: F+N: M+T: n+S: [F,F]+[F,F] -> iter  <<< [T,T] [F,F]+[F,F] -> iter  <<< [M,M] [F,F]+[T,T] -> indel <<< [-,n] [F,F]+[T,T] -> delin <<< [n,-] [F,F]+[M,M] -> align <<< [n,n] [F,F]+[F,F] -> done  <<< [e,e]+//+Outside: Labolg+Source: Global+//++Emit: Global+Emit: Labolg+|]++makeAlgebraProduct ''SigGlobal++resig :: Monad m => SigGlobal m a b c d -> SigLabolg m a b c d+resig (SigGlobal gdo git gal gin gde gh) = SigLabolg gdo git gal gin gde gh+{-# Inline resig #-}+
+ DP/Tree/Edit/Global/Linear2.hs view
@@ -0,0 +1,31 @@++-- | Simple, linear tree editing grammar.++module DP.Tree.Edit.Global.Linear2 where++import ADP.Fusion.Core+import FormalLanguage.CFG++++[formalLanguage|+Verbose++Grammar: Global+N: T+N: F+T: x+S: [F,F]+[F,F] -> iter   <<< [F,F] [T,T]+[F,F] -> indel  <<< [F,F] [-,x]+[F,F] -> delin  <<< [F,F] [x,-]+[T,T] -> align  <<< [F,F] [x,x]+[F,F] -> done   <<< [e,e]+//++Emit: Global+|]+++makeAlgebraProduct ''SigGlobal+
changelog.md view
@@ -1,3 +1,8 @@+0.1.0.0+-------++- removed upper bounds+ 0.0.2.1 -------