@@ -25,30 +25,30 @@ package object generate {
25
25
}
26
26
27
27
object Pstep {
28
- def i [CC ](cc : CC )(implicit steppize : CC => MakesIntStepper ): IntStepper =
28
+ def i [CC ](cc : CC )(implicit steppize : CC => MakesStepper [ IntStepper with EfficientSubstep ] ): IntStepper =
29
29
steppize(cc).stepper
30
- def s [CC ](cc : CC )(implicit steppize : CC => MakesAnyStepper [ String ]): AnyStepper [String ] =
30
+ def s [CC ](cc : CC )(implicit steppize : CC => MakesStepper [ AnyStepper [ String ] with EfficientSubstep ]): AnyStepper [String ] =
31
31
steppize(cc).stepper
32
32
}
33
33
34
34
object Sstep {
35
- def i [CC ](cc : CC )(implicit steppize : CC => MakesIntSeqStepper ): IntStepper =
35
+ def i [CC ](cc : CC )(implicit steppize : CC => MakesStepper [ IntStepper ] ): IntStepper =
36
36
steppize(cc).stepper
37
- def s [CC ](cc : CC )(implicit steppize : CC => MakesAnySeqStepper [ String ]): AnyStepper [String ] =
37
+ def s [CC ](cc : CC )(implicit steppize : CC => MakesStepper [ AnyStepper [ String ] ]): AnyStepper [String ] =
38
38
steppize(cc).stepper
39
39
}
40
40
41
41
object PsStream {
42
- def i [CC ](cc : CC )(implicit steppize : CC => MakesIntStepper ): IntStream =
42
+ def i [CC ](cc : CC )(implicit steppize : CC => MakesStepper [ IntStepper with EfficientSubstep ] ): IntStream =
43
43
steppize(cc).stepper.parStream
44
- def s [CC ](cc : CC )(implicit steppize : CC => MakesAnyStepper [ String ]): Stream [String ] =
44
+ def s [CC ](cc : CC )(implicit steppize : CC => MakesStepper [ AnyStepper [ String ] with EfficientSubstep ]): Stream [String ] =
45
45
steppize(cc).stepper.parStream
46
46
}
47
47
48
48
object SsStream {
49
- def i [CC ](cc : CC )(implicit steppize : CC => MakesIntSeqStepper ): IntStream =
49
+ def i [CC ](cc : CC )(implicit steppize : CC => MakesStepper [ IntStepper ] ): IntStream =
50
50
steppize(cc).stepper.seqStream
51
- def s [CC ](cc : CC )(implicit steppize : CC => MakesAnySeqStepper [ String ]): Stream [String ] =
51
+ def s [CC ](cc : CC )(implicit steppize : CC => MakesStepper [ AnyStepper [ String ] ]): Stream [String ] =
52
52
steppize(cc).stepper.seqStream
53
53
}
54
54
@@ -78,14 +78,14 @@ package object generate {
78
78
// Iterator
79
79
def iI (j : Int )(implicit x : CC [Int ] => Iterator [Int ]) = x(cI(j))
80
80
// Steppers (second letter--s = sequential, p = parallel)
81
- def tsI (j : Int )(implicit x : CC [Int ] => MakesIntSeqStepper ) = Sstep i cI(j)
82
- def tpI (j : Int )(implicit x : CC [Int ] => MakesIntStepper ) = Pstep i cI(j)
81
+ def tsI (j : Int )(implicit x : CC [Int ] => MakesStepper [ IntStepper ] ) = Sstep i cI(j)
82
+ def tpI (j : Int )(implicit x : CC [Int ] => MakesStepper [ IntStepper with EfficientSubstep ] ) = Pstep i cI(j)
83
83
// Streams
84
84
def ssI (j : Int )(implicit x : CC [Int ] => MakesSequentialStream [java.lang.Integer , IntStream ]) = Sstream i cI(j)
85
85
def spI (j : Int )(implicit x : CC [Int ] => MakesParallelStream [java.lang.Integer , IntStream ]) = Pstream i cI(j)
86
86
// Streams via steppers
87
- def zsI (j : Int )(implicit x : CC [Int ] => MakesIntSeqStepper ) = SsStream i cI(j)
88
- def zpI (j : Int )(implicit x : CC [Int ] => MakesIntStepper ) = PsStream i cI(j)
87
+ def zsI (j : Int )(implicit x : CC [Int ] => MakesStepper [ IntStepper ] ) = SsStream i cI(j)
88
+ def zpI (j : Int )(implicit x : CC [Int ] => MakesStepper [ IntStepper with EfficientSubstep ] ) = PsStream i cI(j)
89
89
}
90
90
91
91
trait StringThingsOf [CC [_]] extends GenThingsOf [CC ] {
@@ -95,14 +95,14 @@ package object generate {
95
95
// Iterator
96
96
def iS (j : Int )(implicit x : CC [String ] => Iterator [String ]) = x(cS(j))
97
97
// Steppers (second letter--s = sequential, p = parallel)
98
- def tsS (j : Int )(implicit x : CC [String ] => MakesAnySeqStepper [ String ]) = Sstep s cS(j)
99
- def tpS (j : Int )(implicit x : CC [String ] => MakesAnyStepper [ String ]) = Pstep s cS(j)
98
+ def tsS (j : Int )(implicit x : CC [String ] => MakesStepper [ AnyStepper [ String ] ]) = Sstep s cS(j)
99
+ def tpS (j : Int )(implicit x : CC [String ] => MakesStepper [ AnyStepper [ String ] with EfficientSubstep ]) = Pstep s cS(j)
100
100
// Streams
101
101
def ssS (j : Int )(implicit x : CC [String ] => MakesSequentialStream [String , Stream [String ]]) = Sstream s cS(j)
102
102
def spS (j : Int )(implicit x : CC [String ] => MakesParallelStream [String , Stream [String ]]) = Pstream s cS(j)
103
103
// Streams via steppers
104
- def zsS (j : Int )(implicit x : CC [String ] => MakesAnySeqStepper [ String ]) = SsStream s cS(j)
105
- def zpS (j : Int )(implicit x : CC [String ] => MakesAnyStepper [ String ]) = PsStream s cS(j)
104
+ def zsS (j : Int )(implicit x : CC [String ] => MakesStepper [ AnyStepper [ String ] ]) = SsStream s cS(j)
105
+ def zpS (j : Int )(implicit x : CC [String ] => MakesStepper [ AnyStepper [ String ] with EfficientSubstep ]) = PsStream s cS(j)
106
106
}
107
107
108
108
trait ThingsOf [CC [_]] extends IntThingsOf [CC ] with StringThingsOf [CC ] {}
0 commit comments