@@ -88,12 +88,7 @@ public static final <E> IterV<char[], Map<String, Integer>> wordCountsFromCharCh
8888 @ Override
8989 public F <Input <char []>, IterV <char [], Map <String , Integer >>> f (final P2 <StringBuilder ,Map <String , Integer >> acc ) {
9090 final P1 <IterV <char [], Map <String , Integer >>> empty =
91- new P1 <IterV <char [], Map <String , Integer >>>() {
92- @ Override
93- public IterV <char [], Map <String , Integer >> _1 () {
94- return IterV .cont (step .f (acc ));
95- }
96- };
91+ P .lazy (() -> IterV .cont (step .f (acc )));
9792 final P1 <F <char [], IterV <char [], Map <String , Integer >>>> el =
9893 new P1 <F <char [], IterV <char [], Map <String , Integer >>>>() {
9994 @ Override
@@ -120,17 +115,15 @@ public IterV<char[], Map<String, Integer>> f(final char[] e) {
120115 }
121116 };
122117 final P1 <IterV <char [], Map <String , Integer >>> eof =
123- new P1 <IterV <char [], Map <String , Integer >>>() {
124- @ Override
125- public IterV <char [], Map <String , Integer >> _1 () {
118+ P .lazy (() -> {
126119 final StringBuilder sb = acc ._1 ();
127120 if (sb .length () > 0 ) {
128121 final Map <String , Integer > map = update (acc ._2 (), sb .toString (), addOne , Integer .valueOf (0 ));
129122 return IterV .done (map , Input .<char []>eof ());
130123 }
131124 return IterV .done (acc ._2 (), Input .<char []>eof ());
132- }
133- };
125+ });
126+
134127 return s -> s .apply (empty , el , eof );
135128 }
136129 };
0 commit comments