KiCS-debugger-0.1.0: biosphere/src/Curry/Debugger/PartCalls.hs
module Curry.Debugger.PartCalls where
import qualified Curry.Debugger.DebugMonad as DM
import qualified Curry.Debugger.DebugInfo as DI
partCall1 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b) =>
DI.Term -> (a -> dm b) -> DM.Func dm a b
partCall1 (DI.Term name info args) f
= DM.FuncRep (term []) (\ x1 -> f x1)
where term = (DI.Term name info) Prelude.. ((args Prelude.++))
partCall2 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b, DI.GenTerm c) =>
DI.Term -> (a -> b -> dm c) -> DM.Func dm a (DM.Func dm b c)
partCall2 (DI.Term name info args) f
= DM.FuncRep (term [])
(\ x1 ->
do let t1 = DI.genTerm x1
Prelude.return (DM.FuncRep (term [t1]) (\ x2 -> f x1 x2)))
where term = (DI.Term name info) Prelude.. ((args Prelude.++))
partCall3 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b, DI.GenTerm c,
DI.GenTerm d) =>
DI.Term ->
(a -> b -> c -> dm d) ->
DM.Func dm a (DM.Func dm b (DM.Func dm c d))
partCall3 (DI.Term name info args) f
= DM.FuncRep (term [])
(\ x1 ->
do let t1 = DI.genTerm x1
Prelude.return
(DM.FuncRep (term [t1])
(\ x2 ->
do let t2 = DI.genTerm x2
Prelude.return (DM.FuncRep (term [t1, t2]) (\ x3 -> f x1 x2 x3)))))
where term = (DI.Term name info) Prelude.. ((args Prelude.++))
partCall4 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b, DI.GenTerm c, DI.GenTerm d,
DI.GenTerm e) =>
DI.Term ->
(a -> b -> c -> d -> dm e) ->
DM.Func dm a (DM.Func dm b (DM.Func dm c (DM.Func dm d e)))
partCall4 (DI.Term name info args) f
= DM.FuncRep (term [])
(\ x1 ->
do let t1 = DI.genTerm x1
Prelude.return
(DM.FuncRep (term [t1])
(\ x2 ->
do let t2 = DI.genTerm x2
Prelude.return
(DM.FuncRep (term [t1, t2])
(\ x3 ->
do let t3 = DI.genTerm x3
Prelude.return
(DM.FuncRep (term [t1, t2, t3]) (\ x4 -> f x1 x2 x3 x4)))))))
where term = (DI.Term name info) Prelude.. ((args Prelude.++))
partCall5 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b, DI.GenTerm c, DI.GenTerm d,
DI.GenTerm e, DI.GenTerm f) =>
DI.Term ->
(a -> b -> c -> d -> e -> dm f) ->
DM.Func dm a
(DM.Func dm b (DM.Func dm c (DM.Func dm d (DM.Func dm e f))))
partCall5 (DI.Term name info args) f
= DM.FuncRep (term [])
(\ x1 ->
do let t1 = DI.genTerm x1
Prelude.return
(DM.FuncRep (term [t1])
(\ x2 ->
do let t2 = DI.genTerm x2
Prelude.return
(DM.FuncRep (term [t1, t2])
(\ x3 ->
do let t3 = DI.genTerm x3
Prelude.return
(DM.FuncRep (term [t1, t2, t3])
(\ x4 ->
do let t4 = DI.genTerm x4
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4])
(\ x5 -> f x1 x2 x3 x4 x5)))))))))
where term = (DI.Term name info) Prelude.. ((args Prelude.++))
partCall6 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b, DI.GenTerm c, DI.GenTerm d,
DI.GenTerm e, DI.GenTerm f, DI.GenTerm g) =>
DI.Term ->
(a -> b -> c -> d -> e -> f -> dm g) ->
DM.Func dm a
(DM.Func dm b
(DM.Func dm c (DM.Func dm d (DM.Func dm e (DM.Func dm f g)))))
partCall6 (DI.Term name info args) f
= DM.FuncRep (term [])
(\ x1 ->
do let t1 = DI.genTerm x1
Prelude.return
(DM.FuncRep (term [t1])
(\ x2 ->
do let t2 = DI.genTerm x2
Prelude.return
(DM.FuncRep (term [t1, t2])
(\ x3 ->
do let t3 = DI.genTerm x3
Prelude.return
(DM.FuncRep (term [t1, t2, t3])
(\ x4 ->
do let t4 = DI.genTerm x4
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4])
(\ x5 ->
do let t5 = DI.genTerm x5
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4, t5])
(\ x6 -> f x1 x2 x3 x4 x5 x6)))))))))))
where term = (DI.Term name info) Prelude.. ((args Prelude.++))
partCall7 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b, DI.GenTerm c, DI.GenTerm d,
DI.GenTerm e, DI.GenTerm f, DI.GenTerm g, DI.GenTerm h) =>
DI.Term ->
(a -> b -> c -> d -> e -> f -> g -> dm h) ->
DM.Func dm a
(DM.Func dm b
(DM.Func dm c
(DM.Func dm d (DM.Func dm e (DM.Func dm f (DM.Func dm g h))))))
partCall7 (DI.Term name info args) f
= DM.FuncRep (term [])
(\ x1 ->
do let t1 = DI.genTerm x1
Prelude.return
(DM.FuncRep (term [t1])
(\ x2 ->
do let t2 = DI.genTerm x2
Prelude.return
(DM.FuncRep (term [t1, t2])
(\ x3 ->
do let t3 = DI.genTerm x3
Prelude.return
(DM.FuncRep (term [t1, t2, t3])
(\ x4 ->
do let t4 = DI.genTerm x4
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4])
(\ x5 ->
do let t5 = DI.genTerm x5
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4, t5])
(\ x6 ->
do let t6 = DI.genTerm x6
Prelude.return
(DM.FuncRep
(term
[t1, t2, t3, t4, t5, t6])
(\ x7 ->
f x1 x2 x3 x4 x5 x6
x7)))))))))))))
where term = (DI.Term name info) Prelude.. ((args Prelude.++))
partCall8 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b, DI.GenTerm c, DI.GenTerm d,
DI.GenTerm e, DI.GenTerm f, DI.GenTerm g, DI.GenTerm h,
DI.GenTerm i) =>
DI.Term ->
(a -> b -> c -> d -> e -> f -> g -> h -> dm i) ->
DM.Func dm a
(DM.Func dm b
(DM.Func dm c
(DM.Func dm d
(DM.Func dm e (DM.Func dm f (DM.Func dm g (DM.Func dm h i)))))))
partCall8 (DI.Term name info args) f
= DM.FuncRep (term [])
(\ x1 ->
do let t1 = DI.genTerm x1
Prelude.return
(DM.FuncRep (term [t1])
(\ x2 ->
do let t2 = DI.genTerm x2
Prelude.return
(DM.FuncRep (term [t1, t2])
(\ x3 ->
do let t3 = DI.genTerm x3
Prelude.return
(DM.FuncRep (term [t1, t2, t3])
(\ x4 ->
do let t4 = DI.genTerm x4
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4])
(\ x5 ->
do let t5 = DI.genTerm x5
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4, t5])
(\ x6 ->
do let t6 = DI.genTerm x6
Prelude.return
(DM.FuncRep
(term
[t1, t2, t3, t4, t5, t6])
(\ x7 ->
do let t7 = DI.genTerm x7
Prelude.return
(DM.FuncRep
(term
[t1, t2, t3,
t4, t5, t6,
t7])
(\ x8 ->
f x1 x2 x3 x4
x5
x6
x7
x8)))))))))))))))
where term = (DI.Term name info) Prelude.. ((args Prelude.++))
partCall9 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b, DI.GenTerm c, DI.GenTerm d,
DI.GenTerm e, DI.GenTerm f, DI.GenTerm g, DI.GenTerm h,
DI.GenTerm i, DI.GenTerm j) =>
DI.Term ->
(a -> b -> c -> d -> e -> f -> g -> h -> i -> dm j) ->
DM.Func dm a
(DM.Func dm b
(DM.Func dm c
(DM.Func dm d
(DM.Func dm e
(DM.Func dm f (DM.Func dm g (DM.Func dm h (DM.Func dm i j))))))))
partCall9 (DI.Term name info args) f
= DM.FuncRep (term [])
(\ x1 ->
do let t1 = DI.genTerm x1
Prelude.return
(DM.FuncRep (term [t1])
(\ x2 ->
do let t2 = DI.genTerm x2
Prelude.return
(DM.FuncRep (term [t1, t2])
(\ x3 ->
do let t3 = DI.genTerm x3
Prelude.return
(DM.FuncRep (term [t1, t2, t3])
(\ x4 ->
do let t4 = DI.genTerm x4
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4])
(\ x5 ->
do let t5 = DI.genTerm x5
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4, t5])
(\ x6 ->
do let t6 = DI.genTerm x6
Prelude.return
(DM.FuncRep
(term
[t1, t2, t3, t4, t5, t6])
(\ x7 ->
do let t7 = DI.genTerm x7
Prelude.return
(DM.FuncRep
(term
[t1, t2, t3,
t4, t5, t6,
t7])
(\ x8 ->
do let t8
= DI.genTerm
x8
Prelude.return
(DM.FuncRep
(term
[t1,
t2,
t3,
t4,
t5,
t6,
t7,
t8])
(\ x9
->
f
x1
x2
x3
x4
x5
x6
x7
x8
x9)))))))))))))))))
where term = (DI.Term name info) Prelude.. ((args Prelude.++))
partCall10 ::
(DM.DM dm, DI.GenTerm a, DI.GenTerm b, DI.GenTerm c, DI.GenTerm d,
DI.GenTerm e, DI.GenTerm f, DI.GenTerm g, DI.GenTerm h,
DI.GenTerm i, DI.GenTerm j, DI.GenTerm k) =>
DI.Term ->
(a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> dm k) ->
DM.Func dm a
(DM.Func dm b
(DM.Func dm c
(DM.Func dm d
(DM.Func dm e
(DM.Func dm f
(DM.Func dm g (DM.Func dm h (DM.Func dm i (DM.Func dm j k)))))))))
partCall10 (DI.Term name info args) f
= DM.FuncRep (term [])
(\ x1 ->
do let t1 = DI.genTerm x1
Prelude.return
(DM.FuncRep (term [t1])
(\ x2 ->
do let t2 = DI.genTerm x2
Prelude.return
(DM.FuncRep (term [t1, t2])
(\ x3 ->
do let t3 = DI.genTerm x3
Prelude.return
(DM.FuncRep (term [t1, t2, t3])
(\ x4 ->
do let t4 = DI.genTerm x4
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4])
(\ x5 ->
do let t5 = DI.genTerm x5
Prelude.return
(DM.FuncRep (term [t1, t2, t3, t4, t5])
(\ x6 ->
do let t6 = DI.genTerm x6
Prelude.return
(DM.FuncRep
(term
[t1, t2, t3, t4, t5, t6])
(\ x7 ->
do let t7 = DI.genTerm x7
Prelude.return
(DM.FuncRep
(term
[t1, t2, t3,
t4, t5, t6,
t7])
(\ x8 ->
do let t8
= DI.genTerm
x8
Prelude.return
(DM.FuncRep
(term
[t1,
t2,
t3,
t4,
t5,
t6,
t7,
t8])
(\ x9
->
do let t9
= DI.genTerm
x9
Prelude.return
(DM.FuncRep
(term
[t1,
t2,
t3,
t4,
t5,
t6,
t7,
t8,
t9])
(\
x10
->
f
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10)))))))))))))))))))
where term = (DI.Term name info) Prelude.. ((args Prelude.++))