22
33import java .util .Iterator ;
44import java .util .Optional ;
5+ import java .util .Spliterators ;
56import java .util .function .BiFunction ;
67import java .util .function .Consumer ;
78import java .util .function .Function ;
@@ -28,95 +29,95 @@ private Java8() {
2829 }
2930
3031 public static <A > P1 <A > Supplier_P1 (final Supplier <A > s ) {
31- return Java8 .< A > Supplier_P1 (). f ( s );
32+ return P . lazy ( s :: get );
3233 }
3334
3435 public static <A > F <Supplier <A >, P1 <A >> Supplier_P1 () {
35- return s -> P . lazy ( s :: get ) ;
36+ return Java8 :: Supplier_P1 ;
3637 }
3738
3839 public static <A > Supplier <A > P1_Supplier (final P1 <A > p ) {
39- return Java8 .< A > P1_Supplier (). f ( p ) ;
40+ return p :: _1 ;
4041 }
4142
4243 public static <A > F <P1 <A >, Supplier <A >> P1_Supplier () {
43- return ( p ) -> p :: _1 ;
44+ return Java8 :: P1_Supplier ;
4445 }
4546
4647 public static <A , B > F <A , B > Function_F (final Function <A , B > f ) {
47- return Java8 .< A , B > Function_F (). f ( f ) ;
48+ return f :: apply ;
4849 }
4950
5051 public static <A , B > F <Function <A , B >, F <A , B >> Function_F () {
51- return f -> f :: apply ;
52+ return Java8 :: Function_F ;
5253 }
5354
5455 public static <A , B > Function <A , B > F_Function (final F <A , B > f ) {
55- return Java8 .< A , B > F_Function (). f ( f ) ;
56+ return f :: f ;
5657 }
5758
5859 public static <A , B > F <F <A , B >, Function <A , B >> F_Function () {
59- return f -> f :: f ;
60+ return Java8 :: F_Function ;
6061 }
6162
6263 public static <A , B , C > F2 <A , B , C > BiFunction_F2 (final BiFunction <A , B , C > f ) {
63- return Java8 .< A , B , C > BiFunction_F2 (). f ( f ) ;
64+ return f :: apply ;
6465 }
6566
6667 public static <A , B , C > F <BiFunction <A , B , C >, F2 <A , B , C >> BiFunction_F2 () {
67- return f -> f :: apply ;
68+ return Java8 :: BiFunction_F2 ;
6869 }
6970
7071 public static <A , B , C > BiFunction <A , B , C > F2_BiFunction (final F2 <A , B , C > f ) {
71- return Java8 .< A , B , C > F2_BiFunction (). f ( f ) ;
72+ return f :: f ;
7273 }
7374
7475 public static <A , B , C > F <F2 <A , B , C >, BiFunction <A , B , C >> F2_BiFunction () {
75- return f -> f :: f ;
76+ return Java8 :: F2_BiFunction ;
7677 }
7778
7879 public static <A , E extends Exception > Supplier <Validation <E , A >> TryCatch0_Supplier (final Try0 <A , E > t ) {
79- return Java8 .< A , E > TryCatch0_Supplier () .f (t );
80+ return () -> Try .f (t ). _1 ( );
8081 }
8182
8283 public static <A , E extends Exception > F <Try0 <A , E >, Supplier <Validation <E , A >>> TryCatch0_Supplier () {
83- return t -> () -> Try . f ( t ). _1 () ;
84+ return Java8 :: TryCatch0_Supplier ;
8485 }
8586
8687 public static <A , B , E extends Exception > Function <A , Validation <E , B >> TryCatch1_Function (final Try1 <A , B , E > t ) {
87- return Java8 .< A , B , E > TryCatch1_Function ( ).f (t );
88+ return a -> Try . f ( t ).f (a );
8889 }
8990
9091 public static <A , B , E extends Exception > F <Try1 <A , B , E >, Function <A , Validation <E , B >>> TryCatch1_Function () {
91- return t -> a -> Try . f ( t ). f ( a ) ;
92+ return Java8 :: TryCatch1_Function ;
9293 }
9394
9495 public static <A , B , C , E extends Exception > BiFunction <A , B , Validation <E , C >> TryCatch2_BiFunction (final Try2 <A , B , C , E > t ) {
95- return Java8 .< A , B , C , E > TryCatch2_BiFunction ( ).f (t );
96+ return ( a , b ) -> Try . f ( t ).f (a , b );
9697 }
9798
9899 public static <A , B , C , E extends Exception > F <Try2 <A , B , C , E >, BiFunction <A , B , Validation <E , C >>> TryCatch2_BiFunction () {
99- return t -> ( a , b ) -> Try . f ( t ). f ( a , b ) ;
100+ return Java8 :: TryCatch2_BiFunction ;
100101 }
101102
102103 public static <A > java .util .stream .Stream <A > List_JavaStream (final List <A > list ) {
103104 return Iterable_JavaStream (list );
104105 }
105106
106107 public static <A > Option <A > Optional_Option (final Optional <A > o ) {
107- return Java8 .< A > Optional_Option (). f ( o );
108+ return o . isPresent () ? Option . some ( o . get ()) : Option . none ( );
108109 }
109110
110111 public static <A > F <Optional <A >, Option <A >> Optional_Option () {
111- return o -> o . isPresent () ? Option . some ( o . get ()) : Option . none () ;
112+ return Java8 :: Optional_Option ;
112113 }
113114
114115 public static <A > Optional <A > Option_Optional (final Option <A > o ) {
115- return Java8 .< A > Option_Optional (). f ( o );
116+ return o . option ( Optional . empty (), Optional :: ofNullable );
116117 }
117118
118119 public static <A > F <Option <A >, Optional <A >> Option_Optional () {
119- return o -> o . isSome () ? Optional . ofNullable ( o . some ()) : Optional . empty () ;
120+ return Java8 :: Option_Optional ;
120121 }
121122
122123 public static <A > F <Consumer <A >, F <A , Unit >> Consumer_F () {
@@ -139,15 +140,15 @@ public static <A> java.util.stream.Stream<A> Iterable_JavaStream(final Iterable<
139140 }
140141
141142 public static <A > java .util .stream .Stream <A > Iterator_JavaStream (final Iterator <A > it ) {
142- return Iterable_JavaStream (() -> it );
143+ return StreamSupport . stream ( Spliterators . spliteratorUnknownSize ( it , 0 ), false );
143144 }
144145
145146 public static <A > F <fj .data .Stream <A >, java .util .stream .Stream <A >> Stream_JavaStream () {
146147 return Java8 ::Stream_JavaStream ;
147148 }
148149
149150 public static <A > Stream <A > JavaStream_Stream (final java .util .stream .Stream <A > s ) {
150- return s . collect ( Collectors . toStream ());
151+ return Stream . iteratorStream ( s . iterator ());
151152 }
152153
153154 public static <A > List <A > JavaStream_List (final java .util .stream .Stream <A > s ) {
0 commit comments