From 97854e3037efd4c685846e0e5aa2f4b5129e91fa Mon Sep 17 00:00:00 2001 From: dfsek Date: Sun, 14 Aug 2022 19:14:47 -0700 Subject: [PATCH] create monad and functor interfaces --- .../dfsek/terra/api/util/function/functor/Functor.java | 8 ++++++++ .../com/dfsek/terra/api/util/function/monad/Monad.java | 8 ++++++++ 2 files changed, 16 insertions(+) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/util/function/functor/Functor.java create mode 100644 common/api/src/main/java/com/dfsek/terra/api/util/function/monad/Monad.java diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/function/functor/Functor.java b/common/api/src/main/java/com/dfsek/terra/api/util/function/functor/Functor.java new file mode 100644 index 000000000..f161ee09f --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/util/function/functor/Functor.java @@ -0,0 +1,8 @@ +package com.dfsek.terra.api.util.function.functor; + +import java.util.function.Function; + + +public interface Functor { + Functor map(Function map); +} diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/function/monad/Monad.java b/common/api/src/main/java/com/dfsek/terra/api/util/function/monad/Monad.java new file mode 100644 index 000000000..1cf27a41e --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/util/function/monad/Monad.java @@ -0,0 +1,8 @@ +package com.dfsek.terra.api.util.function.monad; + +import java.util.function.Function; + + +public interface Monad { + Monad bind(Function> map); +}