0
|
1 package fj;
|
|
2
|
|
3 import fj.control.parallel.Actor;
|
|
4 import fj.control.parallel.Promise;
|
|
5 import fj.control.parallel.Strategy;
|
|
6 import fj.data.Array;
|
|
7 import fj.data.Either;
|
|
8 import fj.data.IterableW;
|
|
9 import fj.data.List;
|
|
10 import fj.data.NonEmptyList;
|
|
11 import fj.data.Option;
|
|
12 import fj.data.Set;
|
|
13 import fj.data.Stream;
|
|
14 import fj.data.Tree;
|
|
15 import fj.data.TreeZipper;
|
|
16 import fj.data.Validation;
|
|
17 import fj.data.Zipper;
|
|
18
|
|
19 import java.util.ArrayList;
|
|
20 import java.util.LinkedList;
|
|
21 import java.util.PriorityQueue;
|
|
22 import java.util.TreeSet;
|
|
23 import java.util.concurrent.ArrayBlockingQueue;
|
|
24 import java.util.concurrent.ConcurrentLinkedQueue;
|
|
25 import java.util.concurrent.CopyOnWriteArrayList;
|
|
26 import java.util.concurrent.CopyOnWriteArraySet;
|
|
27 import java.util.concurrent.LinkedBlockingQueue;
|
|
28 import java.util.concurrent.PriorityBlockingQueue;
|
|
29 import java.util.concurrent.SynchronousQueue;
|
|
30
|
|
31 import static fj.data.Option.some;
|
|
32 import static fj.data.Stream.iterableStream;
|
|
33 import static fj.data.Zipper.fromStream;
|
|
34
|
|
35 /**
|
|
36 * A transformation or function from <code>A</code> to <code>B</code>. This type can be represented
|
|
37 * using the Java 7 closure syntax.
|
|
38 *
|
|
39 * @version %build.number%
|
|
40 */
|
|
41 public interface F<A, B> {
|
|
42 /**
|
|
43 * Transform <code>A</code> to <code>B</code>.
|
|
44 *
|
|
45 * @param a The <code>A</code> to transform.
|
|
46 * @return The result of the transformation.
|
|
47 */
|
|
48 public abstract B f(A a);
|
|
49
|
|
50 }
|