@@ -25,30 +25,30 @@ package object generate {
2525 }
2626
2727 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 =
2929 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 ] =
3131 steppize(cc).stepper
3232 }
3333
3434 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 =
3636 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 ] =
3838 steppize(cc).stepper
3939 }
4040
4141 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 =
4343 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 ] =
4545 steppize(cc).stepper.parStream
4646 }
4747
4848 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 =
5050 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 ] =
5252 steppize(cc).stepper.seqStream
5353 }
5454
@@ -78,14 +78,14 @@ package object generate {
7878 // Iterator
7979 def iI (j : Int )(implicit x : CC [Int ] => Iterator [Int ]) = x(cI(j))
8080 // 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)
8383 // Streams
8484 def ssI (j : Int )(implicit x : CC [Int ] => MakesSequentialStream [java.lang.Integer , IntStream ]) = Sstream i cI(j)
8585 def spI (j : Int )(implicit x : CC [Int ] => MakesParallelStream [java.lang.Integer , IntStream ]) = Pstream i cI(j)
8686 // 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)
8989 }
9090
9191 trait StringThingsOf [CC [_]] extends GenThingsOf [CC ] {
@@ -95,14 +95,14 @@ package object generate {
9595 // Iterator
9696 def iS (j : Int )(implicit x : CC [String ] => Iterator [String ]) = x(cS(j))
9797 // 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)
100100 // Streams
101101 def ssS (j : Int )(implicit x : CC [String ] => MakesSequentialStream [String , Stream [String ]]) = Sstream s cS(j)
102102 def spS (j : Int )(implicit x : CC [String ] => MakesParallelStream [String , Stream [String ]]) = Pstream s cS(j)
103103 // 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)
106106 }
107107
108108 trait ThingsOf [CC [_]] extends IntThingsOf [CC ] with StringThingsOf [CC ] {}
0 commit comments