Skip to content

Commit 3ce11a9

Browse files
committed
Converted fj.function to use lambdas
1 parent 22c87b6 commit 3ce11a9

File tree

7 files changed

+84
-297
lines changed

7 files changed

+84
-297
lines changed

core/src/main/java/fj/function/BigIntegers.java

Lines changed: 7 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -22,68 +22,40 @@ private BigIntegers() {
2222
* Curried Integer addition.
2323
*/
2424
public static final F<BigInteger, F<BigInteger, BigInteger>> add =
25-
curry(new F2<BigInteger, BigInteger, BigInteger>() {
26-
public BigInteger f(final BigInteger a1, final BigInteger a2) {
27-
return a1.add(a2);
28-
}
29-
});
25+
curry((a1, a2) -> a1.add(a2));
3026

3127
/**
3228
* Curried Integer multiplication.
3329
*/
3430
public static final F<BigInteger, F<BigInteger, BigInteger>> multiply =
35-
curry(new F2<BigInteger, BigInteger, BigInteger>() {
36-
public BigInteger f(final BigInteger a1, final BigInteger a2) {
37-
return a1.multiply(a2);
38-
}
39-
});
31+
curry((a1, a2) -> a1.multiply(a2));
4032

4133
/**
4234
* Curried Integer subtraction.
4335
*/
4436
public static final F<BigInteger, F<BigInteger, BigInteger>> subtract =
45-
curry(new F2<BigInteger, BigInteger, BigInteger>() {
46-
public BigInteger f(final BigInteger a1, final BigInteger a2) {
47-
return a1.subtract(a2);
48-
}
49-
});
37+
curry((a1, a2) -> a1.subtract(a2));
5038

5139
/**
5240
* Negation.
5341
*/
54-
public static final F<BigInteger, BigInteger> negate = new F<BigInteger, BigInteger>() {
55-
public BigInteger f(final BigInteger i) {
56-
return i.negate();
57-
}
58-
};
42+
public static final F<BigInteger, BigInteger> negate = i -> i.negate();
5943

6044
/**
6145
* Absolute value.
6246
*/
63-
public static final F<BigInteger, BigInteger> abs = new F<BigInteger, BigInteger>() {
64-
public BigInteger f(final BigInteger i) {
65-
return i.abs();
66-
}
67-
};
47+
public static final F<BigInteger, BigInteger> abs = i -> i.abs();
6848

6949
/**
7050
* Remainder.
7151
*/
7252
public static final F<BigInteger, F<BigInteger, BigInteger>> remainder =
73-
curry(new F2<BigInteger, BigInteger, BigInteger>() {
74-
public BigInteger f(final BigInteger a1, final BigInteger a2) {
75-
return a1.remainder(a2);
76-
}
77-
});
53+
curry((a1, a2) -> a1.remainder(a2));
7854

7955
/**
8056
* Power.
8157
*/
82-
public static final F<BigInteger, F<Integer, BigInteger>> power = curry(new F2<BigInteger, Integer, BigInteger>() {
83-
public BigInteger f(final BigInteger a1, final Integer a2) {
84-
return a1.pow(a2);
85-
}
86-
});
58+
public static final F<BigInteger, F<Integer, BigInteger>> power = curry((a1, a2) -> a1.pow(a2));
8759

8860
/**
8961
* Sums a list of big integers.

core/src/main/java/fj/function/Characters.java

Lines changed: 27 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -12,82 +12,31 @@ public final class Characters {
1212
private Characters() {
1313
throw new UnsupportedOperationException();
1414
}
15-
public static final F<Character, String> toString = new F<Character, String>() {
16-
public String f(final Character c) {return Character.toString(c);}
17-
};
18-
public static final F<Character, Boolean> isLowerCase = new F<Character, Boolean>() {
19-
public Boolean f(final Character ch) {return Character.isLowerCase(ch);}
20-
};
21-
public static final F<Character, Boolean> isUpperCase = new F<Character, Boolean>() {
22-
public Boolean f(final Character ch) {return Character.isUpperCase(ch);}
23-
};
24-
public static final F<Character, Boolean> isTitleCase = new F<Character, Boolean>() {
25-
public Boolean f(final Character ch) {return Character.isTitleCase(ch);}
26-
};
27-
public static final F<Character, Boolean> isDigit = new F<Character, Boolean>() {
28-
public Boolean f(final Character ch) {return Character.isDigit(ch);}
29-
};
30-
public static final F<Character, Boolean> isDefined = new F<Character, Boolean>() {
31-
public Boolean f(final Character ch) {return Character.isDefined(ch);}
32-
};
33-
public static final F<Character, Boolean> isLetter = new F<Character, Boolean>() {
34-
public Boolean f(final Character ch) {return Character.isLetter(ch);}
35-
};
36-
public static final F<Character, Boolean> isLetterOrDigit = new F<Character, Boolean>() {
37-
public Boolean f(final Character ch) {return Character.isLetterOrDigit(ch);}
38-
};
39-
public static final F<Character, Boolean> isJavaIdentifierStart = new F<Character, Boolean>() {
40-
public Boolean f(final Character ch) {return Character.isJavaIdentifierStart(ch);}
41-
};
42-
public static final F<Character, Boolean> isJavaIdentifierPart = new F<Character, Boolean>() {
43-
public Boolean f(final Character ch) {return Character.isJavaIdentifierPart(ch);}
44-
};
45-
public static final F<Character, Boolean> isUnicodeIdentifierStart = new F<Character, Boolean>() {
46-
public Boolean f(final Character ch) {return Character.isUnicodeIdentifierStart(ch);}
47-
};
48-
public static final F<Character, Boolean> isUnicodeIdentifierPart = new F<Character, Boolean>() {
49-
public Boolean f(final Character ch) {return Character.isUnicodeIdentifierPart(ch);}
50-
};
51-
public static final F<Character, Boolean> isIdentifierIgnorable = new F<Character, Boolean>() {
52-
public Boolean f(final Character ch) {return Character.isIdentifierIgnorable(ch);}
53-
};
54-
public static final F<Character, Character> toLowerCase = new F<Character, Character>() {
55-
public Character f(final Character ch) {return Character.toLowerCase(ch);}
56-
};
57-
public static final F<Character, Character> toUpperCase = new F<Character, Character>() {
58-
public Character f(final Character ch) {return Character.toUpperCase(ch);}
59-
};
60-
public static final F<Character, Character> toTitleCase = new F<Character, Character>() {
61-
public Character f(final Character ch) {return Character.toTitleCase(ch);}
62-
};
63-
public static final F<Character, F<Integer, Integer>> digit = curry(new F2<Character, Integer, Integer>() {
64-
public Integer f(final Character ch, final Integer radix) {return Character.digit(ch, radix);}
65-
});
66-
public static final F<Character, Integer> getNumericValue = new F<Character, Integer>() {
67-
public Integer f(final Character ch) {return Character.getNumericValue(ch);}
68-
};
69-
public static final F<Character, Boolean> isSpaceChar = new F<Character, Boolean>() {
70-
public Boolean f(final Character ch) {return Character.isSpaceChar(ch);}
71-
};
72-
public static final F<Character, Boolean> isWhitespace = new F<Character, Boolean>() {
73-
public Boolean f(final Character ch) {return Character.isWhitespace(ch);}
74-
};
75-
public static final F<Character, Boolean> isISOControl = new F<Character, Boolean>() {
76-
public Boolean f(final Character ch) {return Character.isISOControl(ch);}
77-
};
78-
public static final F<Character, Integer> getType = new F<Character, Integer>() {
79-
public Integer f(final Character ch) {return Character.getType(ch);}
80-
};
81-
public static final F<Character, Byte> getDirectionality = new F<Character, Byte>() {
82-
public Byte f(final Character ch) {return Character.getDirectionality(ch);}
83-
};
84-
public static final F<Character, Boolean> isMirrored = new F<Character, Boolean>() {
85-
public Boolean f(final Character ch) {return Character.isMirrored(ch);}
86-
};
87-
public static final F<Character, Character> reverseBytes = new F<Character, Character>() {
88-
public Character f(final Character ch) {return Character.reverseBytes(ch);}
89-
};
90-
public static final F<Character, Boolean> isNewLine = new F<Character, Boolean>() {
91-
public Boolean f(final Character c) { return c == '\n'; }
92-
};
15+
public static final F<Character, String> toString = c -> Character.toString(c);
16+
public static final F<Character, Boolean> isLowerCase = ch -> Character.isLowerCase(ch);
17+
public static final F<Character, Boolean> isUpperCase = ch -> Character.isUpperCase(ch);
18+
public static final F<Character, Boolean> isTitleCase = ch -> Character.isTitleCase(ch);
19+
public static final F<Character, Boolean> isDigit = ch -> Character.isDigit(ch);
20+
public static final F<Character, Boolean> isDefined = ch -> Character.isDefined(ch);
21+
public static final F<Character, Boolean> isLetter = ch -> Character.isLetter(ch);
22+
public static final F<Character, Boolean> isLetterOrDigit = ch -> Character.isLetterOrDigit(ch);
23+
public static final F<Character, Boolean> isJavaIdentifierStart = ch -> Character.isJavaIdentifierStart(ch);
24+
public static final F<Character, Boolean> isJavaIdentifierPart = ch -> Character.isJavaIdentifierPart(ch);
25+
public static final F<Character, Boolean> isUnicodeIdentifierStart = ch -> Character.isUnicodeIdentifierStart(ch);
26+
public static final F<Character, Boolean> isUnicodeIdentifierPart = ch -> Character.isUnicodeIdentifierPart(ch);
27+
public static final F<Character, Boolean> isIdentifierIgnorable = ch -> Character.isIdentifierIgnorable(ch);
28+
public static final F<Character, Character> toLowerCase = ch -> Character.toLowerCase(ch);
29+
public static final F<Character, Character> toUpperCase = ch -> Character.toUpperCase(ch);
30+
public static final F<Character, Character> toTitleCase = ch -> Character.toTitleCase(ch);
31+
public static final F<Character, F<Integer, Integer>> digit = curry((ch, radix) -> Character.digit(ch, radix));
32+
public static final F<Character, Integer> getNumericValue = ch -> Character.getNumericValue(ch);
33+
public static final F<Character, Boolean> isSpaceChar = ch -> Character.isSpaceChar(ch);
34+
public static final F<Character, Boolean> isWhitespace = ch -> Character.isWhitespace(ch);
35+
public static final F<Character, Boolean> isISOControl = ch -> Character.isISOControl(ch);
36+
public static final F<Character, Integer> getType = ch -> Character.getType(ch);
37+
public static final F<Character, Byte> getDirectionality = ch -> Character.getDirectionality(ch);
38+
public static final F<Character, Boolean> isMirrored = ch -> Character.isMirrored(ch);
39+
public static final F<Character, Character> reverseBytes = ch -> Character.reverseBytes(ch);
40+
public static final F<Character, Boolean> isNewLine = c -> c == '\n';
41+
9342
}

core/src/main/java/fj/function/Doubles.java

Lines changed: 12 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -36,56 +36,32 @@ private Doubles() {
3636
/**
3737
* Curried Double subtraction.
3838
*/
39-
public static final F<Double, F<Double, Double>> subtract = curry(new F2<Double, Double, Double>() {
40-
public Double f(final Double x, final Double y) {
41-
return x - y;
42-
}
43-
});
39+
public static final F<Double, F<Double, Double>> subtract = curry((x, y) -> x - y);
4440

4541
/**
4642
* Negation.
4743
*/
48-
public static final F<Double, Double> negate = new F<Double, Double>() {
49-
public Double f(final Double x) {
50-
return x * -1;
51-
}
52-
};
44+
public static final F<Double, Double> negate = x -> x * -1;
5345

5446
/**
5547
* Absolute value.
5648
*/
57-
public static final F<Double, Double> abs = new F<Double, Double>() {
58-
public Double f(final Double x) {
59-
return abs(x);
60-
}
61-
};
49+
public static final F<Double, Double> abs = x -> abs(x);
6250

6351
/**
6452
* Remainder.
6553
*/
66-
public static final F<Double, F<Double, Double>> remainder = curry(new F2<Double, Double, Double>() {
67-
public Double f(final Double a, final Double b) {
68-
return a % b;
69-
}
70-
});
54+
public static final F<Double, F<Double, Double>> remainder = curry((a, b) -> a % b);
7155

7256
/**
7357
* Power.
7458
*/
75-
public static final F<Double, F<Double, Double>> power = curry(new F2<Double, Double, Double>() {
76-
public Double f(final Double a, final Double b) {
77-
return StrictMath.pow(a, b);
78-
}
79-
});
59+
public static final F<Double, F<Double, Double>> power = curry((a, b) -> StrictMath.pow(a, b));
8060

8161
/**
8262
* Evenness.
8363
*/
84-
public static final F<Double, Boolean> even = new F<Double, Boolean>() {
85-
public Boolean f(final Double i) {
86-
return i % 2 == 0;
87-
}
88-
};
64+
public static final F<Double, Boolean> even = i -> i % 2 == 0;
8965

9066
/**
9167
* Sums a list of doubles.
@@ -113,49 +89,32 @@ public static double product(final List<Double> doubles) {
11389
* @return A function that converts strings to doubles.
11490
*/
11591
public static F<String, Option<Double>> fromString() {
116-
return new F<String, Option<Double>>() {
117-
public Option<Double> f(final String s) {
92+
return s -> {
11893
try { return some(Double.valueOf(s)); }
11994
catch (final NumberFormatException ignored) {
12095
return none();
12196
}
122-
}
12397
};
12498
}
12599

126100
/**
127101
* A function that returns true if the given double is greater than zero.
128102
*/
129-
public static final F<Double, Boolean> gtZero = new F<Double, Boolean>() {
130-
public Boolean f(final Double i) {
131-
return Double.compare(i, 0) > 0;
132-
}
133-
};
103+
public static final F<Double, Boolean> gtZero = i -> Double.compare(i, 0) > 0;
134104

135105
/**
136106
* A function that returns true if the given double is greater than or equal to zero.
137107
*/
138-
public static final F<Double, Boolean> gteZero = new F<Double, Boolean>() {
139-
public Boolean f(final Double i) {
140-
return Double.compare(i, 0) >= 0;
141-
}
142-
};
108+
public static final F<Double, Boolean> gteZero = i -> Double.compare(i, 0) >= 0;
143109

144110
/**
145111
* A function that returns true if the given double is less than zero.
146112
*/
147-
public static final F<Double, Boolean> ltZero = new F<Double, Boolean>() {
148-
public Boolean f(final Double i) {
149-
return Double.compare(i, 0) < 0;
150-
}
151-
};
113+
public static final F<Double, Boolean> ltZero = i -> Double.compare(i, 0) < 0;
152114

153115
/**
154116
* A function that returns true if the given double is less than or equal to zero.
155117
*/
156-
public static final F<Double, Boolean> lteZero = new F<Double, Boolean>() {
157-
public Boolean f(final Double i) {
158-
return Double.compare(i, 0) <= 0;
159-
}
160-
};
118+
public static final F<Double, Boolean> lteZero = i -> Double.compare(i, 0) <= 0;
119+
161120
}

0 commit comments

Comments
 (0)