From f51f6da7319787348c38b875652b5c0e9f88c8aa Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Mon, 13 Apr 2020 18:43:13 -0400 Subject: Cleanup pass Pass to do some cleanups --- src/main/java/bjc/funcdata/theory/Bifunctor.java | 92 +++++++++++++----------- src/main/java/bjc/funcdata/theory/Functor.java | 22 +++--- 2 files changed, 60 insertions(+), 54 deletions(-) (limited to 'src/main/java/bjc/funcdata/theory') diff --git a/src/main/java/bjc/funcdata/theory/Bifunctor.java b/src/main/java/bjc/funcdata/theory/Bifunctor.java index b576a2b..72fccff 100644 --- a/src/main/java/bjc/funcdata/theory/Bifunctor.java +++ b/src/main/java/bjc/funcdata/theory/Bifunctor.java @@ -8,10 +8,10 @@ import java.util.function.Function; * @author ben * * @param - * The type stored on the 'left' of the pair. + * The type stored on the 'left' of the pair. * * @param - * The type stored on the 'right' of the pair. + * The type stored on the 'right' of the pair. */ public interface Bifunctor { /** @@ -20,16 +20,16 @@ public interface Bifunctor { * @author EVE * * @param - * The old left type. + * The old left type. * * @param - * The old right type. + * The old right type. * * @param - * The new left type. + * The new left type. * * @param - * The new right type. + * The new right type. */ public interface BifunctorMap extends Function, Bifunctor> { @@ -44,13 +44,13 @@ public interface Bifunctor { * @author EVE * * @param - * The old left type. + * The old left type. * * @param - * The old right type. + * The old right type. * * @param - * The new left type. + * The new left type. */ public interface LeftBifunctorMap extends BifunctorMap { @@ -65,13 +65,13 @@ public interface Bifunctor { * @author EVE * * @param - * The old left type. + * The old left type. * * @param - * The old right type. + * The old right type. * * @param - * The new right type. + * The new right type. */ public interface RightBifunctorMap extends BifunctorMap { @@ -81,40 +81,45 @@ public interface Bifunctor { } /** - * Lift a pair of functions to a single function that maps over both - * parts of a pair. + * Lift a pair of functions to a single function that maps over both parts of a + * pair. * * @param - * The old left type of the pair. + * The old left type of the pair. * * @param - * The old right type of the pair. + * The old right type of the pair. * * @param - * The new left type of the pair. + * The new left type of the pair. * * @param - * The new right type of the pair. + * The new right type of the pair. * * @param leftFunc - * The function that maps over the left of the pair. + * The function that maps over the left of the pair. * * @param rightFunc - * The function that maps over the right of the pair. + * The function that maps over the right of the pair. * * @return A function that maps over both parts of the pair. */ - public default BifunctorMap bimap( - final Function leftFunc, final Function rightFunc) { - final BifunctorMap bimappedFunc = (argPair) -> { - final LeftBifunctorMap leftMapper = argPair.fmapLeft(leftFunc); + public default + BifunctorMap + bimap(final Function leftFunc, + final Function rightFunc) { + final BifunctorMap bimappedFunc + = argPair -> { + final LeftBifunctorMap leftMapper + = argPair.fmapLeft(leftFunc); - final Bifunctor leftMappedFunctor = leftMapper.apply(argPair); - final RightBifunctorMap rightMapper = leftMappedFunctor - .fmapRight(rightFunc); + final Bifunctor leftMappedFunctor + = leftMapper.apply(argPair); + final RightBifunctorMap rightMapper + = leftMappedFunctor.fmapRight(rightFunc); - return rightMapper.apply(leftMappedFunctor); - }; + return rightMapper.apply(leftMappedFunctor); + }; return bimappedFunc; } @@ -123,42 +128,43 @@ public interface Bifunctor { * Lift a function to operate over the left part of this pair. * * @param - * The old left type of the pair. + * The old left type of the pair. * * @param - * The old right type of the pair. + * The old right type of the pair. * * @param - * The new left type of the pair. + * The new left type of the pair. * * @param func - * The function to lift to work over the left side of the pair. + * The function to lift to work over the left side of the + * pair. * * @return The function lifted to work over the left side of bifunctors. */ - public LeftBifunctorMap fmapLeft( - Function func); + public LeftBifunctorMap + fmapLeft(Function func); /** * Lift a function to operate over the right part of this pair. * * @param - * The old left type of the pair. + * The old left type of the pair. * * @param - * The old right type of the pair. + * The old right type of the pair. * * @param - * The new right type of the pair. + * The new right type of the pair. * * @param func - * The function to lift to work over the right side of the pair. + * The function to lift to work over the right side of the + * pair. * - * @return The function lifted to work over the right side of - * bifunctors. + * @return The function lifted to work over the right side of bifunctors. */ - public RightBifunctorMap fmapRight( - Function func); + public RightBifunctorMap + fmapRight(Function func); /** * Get the value contained on the left of this bifunctor. diff --git a/src/main/java/bjc/funcdata/theory/Functor.java b/src/main/java/bjc/funcdata/theory/Functor.java index 4192bf4..85a1ec7 100644 --- a/src/main/java/bjc/funcdata/theory/Functor.java +++ b/src/main/java/bjc/funcdata/theory/Functor.java @@ -9,30 +9,30 @@ import java.util.function.Function; * @author ben * * @param - * The value inside the functor. + * The value inside the functor. */ public interface Functor { /** * Converts a normal function to operate over values in a functor.. * - * N.B: Even though the type signature implies that you can apply the - * resulting function to any type of functor, it is only safe to call it - * on instances of the type of functor you called fmap on.. + * N.B: Even though the type signature implies that you can apply the resulting + * function to any type of functor, it is only safe to call it on instances of + * the type of functor you called fmap on.. * * @param - * The argument of the function. + * The argument of the function. * * @param - * The return type of the function. + * The return type of the function. * * @param func - * The function to convert. + * The function to convert. * - * @return The passed in function converted to work over a particular - * type of functors. + * @return The passed in function converted to work over a particular type of + * functors. */ - public Function, Functor> fmap( - Function func); + public Function, Functor> + fmap(Function func); /** * Retrieve the thing inside this functor. -- cgit v1.2.3