aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLexi Winter <lexi@le-fay.org>2025-07-02 03:25:28 +0100
committerLexi Winter <lexi@le-fay.org>2025-07-02 03:25:28 +0100
commita4607e29540a9352c35afff17193ceeab137cc9d (patch)
tree0e9c2ea9c94f17b81f222fd6ebf1ccd75bb1f7f8
parentbde0492644845de63cf95b8997c5e613a9247826 (diff)
downloadnihil-a4607e29540a9352c35afff17193ceeab137cc9d.tar.gz
nihil-a4607e29540a9352c35afff17193ceeab137cc9d.tar.bz2
move monad to util
-rw-r--r--CMakeLists.txt1
-rw-r--r--nihil.cli/CMakeLists.txt3
-rw-r--r--nihil.config/option.cc2
-rw-r--r--nihil.config/read.ccm2
-rw-r--r--nihil.config/store.cc2
-rw-r--r--nihil.config/string.ccm2
-rw-r--r--nihil.config/write.ccm2
-rw-r--r--nihil.error/CMakeLists.txt4
-rw-r--r--nihil.monad/CMakeLists.txt22
-rw-r--r--nihil.posix/CMakeLists.txt4
-rw-r--r--nihil.posix/execvp.ccm2
-rw-r--r--nihil.posix/fd.ccm1
-rw-r--r--nihil.posix/read_file.ccm2
-rw-r--r--nihil.posix/spawn.ccm3
-rw-r--r--nihil.posix/write_file.ccm1
-rw-r--r--nihil.ucl/CMakeLists.txt12
-rw-r--r--nihil.ucl/object_cast.ccm2
-rw-r--r--nihil.ucl/parser.ccm2
-rw-r--r--nihil.util/CMakeLists.txt5
-rw-r--r--nihil.util/monad.ccm (renamed from nihil.monad/monad.ccm)2
-rw-r--r--nihil.util/monad.test.cc (renamed from nihil.monad/test.cc)4
-rw-r--r--nihil.util/nihil.util.ccm1
-rw-r--r--nihil.util/parse_size.ccm2
23 files changed, 38 insertions, 45 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8c02a3e..d417178 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,7 +67,6 @@ add_subdirectory(nihil.core)
add_subdirectory(nihil.error)
add_subdirectory(nihil.generator)
add_subdirectory(nihil.match)
-add_subdirectory(nihil.monad)
add_subdirectory(nihil.posix)
add_subdirectory(nihil.util)
add_subdirectory(nihil.uuid)
diff --git a/nihil.cli/CMakeLists.txt b/nihil.cli/CMakeLists.txt
index 859fea5..22fc1de 100644
--- a/nihil.cli/CMakeLists.txt
+++ b/nihil.cli/CMakeLists.txt
@@ -4,7 +4,7 @@ add_library(nihil.cli STATIC)
target_link_libraries(nihil.cli PRIVATE
nihil.std
nihil.generator
- nihil.posix;
+ nihil.posix
nihil.util
)
target_sources(nihil.cli
@@ -30,6 +30,7 @@ if(NIHIL_TESTS)
dispatch_command.test.cc
)
target_link_libraries(nihil.cli.test PRIVATE
+ nihil.std
nihil.cli
Catch2::Catch2WithMain
)
diff --git a/nihil.config/option.cc b/nihil.config/option.cc
index 50c7a1f..acd9d24 100644
--- a/nihil.config/option.cc
+++ b/nihil.config/option.cc
@@ -3,8 +3,8 @@ module nihil.config;
import nihil.std;
import nihil.error;
-import nihil.monad;
import nihil.ucl;
+import nihil.util;
namespace nihil::config {
diff --git a/nihil.config/read.ccm b/nihil.config/read.ccm
index 7065492..c326fed 100644
--- a/nihil.config/read.ccm
+++ b/nihil.config/read.ccm
@@ -3,9 +3,9 @@ export module nihil.config:read;
import nihil.std;
import nihil.error;
-import nihil.monad;
import nihil.posix;
import nihil.ucl;
+import nihil.util;
import :option;
import :store;
diff --git a/nihil.config/store.cc b/nihil.config/store.cc
index e1ca271..d0842ec 100644
--- a/nihil.config/store.cc
+++ b/nihil.config/store.cc
@@ -4,7 +4,7 @@ module nihil.config;
import nihil.std;
import nihil.error;
import nihil.generator;
-import nihil.monad;
+import nihil.util;
namespace nihil::config {
diff --git a/nihil.config/string.ccm b/nihil.config/string.ccm
index 12ede7a..c5e7284 100644
--- a/nihil.config/string.ccm
+++ b/nihil.config/string.ccm
@@ -2,7 +2,7 @@
export module nihil.config:string;
import nihil.std;
-import nihil.monad;
+import nihil.util;
import nihil.ucl;
import :option;
diff --git a/nihil.config/write.ccm b/nihil.config/write.ccm
index a7eddd5..89b9c93 100644
--- a/nihil.config/write.ccm
+++ b/nihil.config/write.ccm
@@ -3,9 +3,9 @@ export module nihil.config:write;
import nihil.std;
import nihil.error;
-import nihil.monad;
import nihil.posix;
import nihil.ucl;
+import nihil.util;
import :option;
import :store;
diff --git a/nihil.error/CMakeLists.txt b/nihil.error/CMakeLists.txt
index 8a215b7..81c2cd8 100644
--- a/nihil.error/CMakeLists.txt
+++ b/nihil.error/CMakeLists.txt
@@ -15,7 +15,9 @@ if(NIHIL_TESTS)
error.test.cc)
target_link_libraries(nihil.error.test PRIVATE
- nihil.std nihil.core nihil.error
+ nihil.std
+ nihil.core
+ nihil.error
Catch2::Catch2WithMain
)
diff --git a/nihil.monad/CMakeLists.txt b/nihil.monad/CMakeLists.txt
deleted file mode 100644
index f82e464..0000000
--- a/nihil.monad/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-# This source code is released into the public domain.
-
-add_library(nihil.monad STATIC)
-target_link_libraries(nihil.monad PRIVATE nihil.std nihil.error)
-target_sources(nihil.monad
- PUBLIC FILE_SET modules TYPE CXX_MODULES FILES
- monad.ccm
-)
-
-if(NIHIL_TESTS)
- enable_testing()
-
- add_executable(nihil.monad.test test.cc)
- target_link_libraries(nihil.monad.test PRIVATE
- nihil.monad
- Catch2::Catch2WithMain
- )
-
- include(CTest)
- include(Catch)
- catch_discover_tests(nihil.monad.test)
-endif()
diff --git a/nihil.posix/CMakeLists.txt b/nihil.posix/CMakeLists.txt
index c4a3556..a4c174b 100644
--- a/nihil.posix/CMakeLists.txt
+++ b/nihil.posix/CMakeLists.txt
@@ -5,7 +5,6 @@ target_link_libraries(nihil.posix PRIVATE
nihil.std
nihil.core
nihil.error
- nihil.monad
nihil.util
)
@@ -59,7 +58,10 @@ if(NIHIL_TESTS)
)
target_link_libraries(nihil.posix.test PRIVATE
+ nihil.std
+ nihil.error
nihil.posix
+ nihil.util
Catch2::Catch2WithMain
)
diff --git a/nihil.posix/execvp.ccm b/nihil.posix/execvp.ccm
index 14e548e..5b11e7a 100644
--- a/nihil.posix/execvp.ccm
+++ b/nihil.posix/execvp.ccm
@@ -4,7 +4,7 @@ export module nihil.posix:execvp;
import nihil.std;
import nihil.core;
import nihil.error;
-import nihil.monad;
+import nihil.util;
import :argv;
import :execv;
import :find_in_path;
diff --git a/nihil.posix/fd.ccm b/nihil.posix/fd.ccm
index 40bfb0a..c00676d 100644
--- a/nihil.posix/fd.ccm
+++ b/nihil.posix/fd.ccm
@@ -8,7 +8,6 @@ export module nihil.posix:fd;
import nihil.std;
import nihil.error;
-import nihil.monad;
import nihil.util;
namespace nihil {
diff --git a/nihil.posix/read_file.ccm b/nihil.posix/read_file.ccm
index 61c5085..337d0e4 100644
--- a/nihil.posix/read_file.ccm
+++ b/nihil.posix/read_file.ccm
@@ -2,7 +2,7 @@
export module nihil.posix:read_file;
import nihil.error;
-import nihil.monad;
+import nihil.util;
import :fd;
import :open;
diff --git a/nihil.posix/spawn.ccm b/nihil.posix/spawn.ccm
index 1e4102a..ea84f4d 100644
--- a/nihil.posix/spawn.ccm
+++ b/nihil.posix/spawn.ccm
@@ -3,7 +3,8 @@ export module nihil.posix:spawn;
// spawn(): fork and execute a child process.
-import nihil.monad;
+import nihil.std;
+import nihil.util;
import :argv;
import :executor;
import :fd;
diff --git a/nihil.posix/write_file.ccm b/nihil.posix/write_file.ccm
index ad1129f..e706274 100644
--- a/nihil.posix/write_file.ccm
+++ b/nihil.posix/write_file.ccm
@@ -3,7 +3,6 @@ export module nihil.posix:write_file;
import nihil.std;
import nihil.error;
-import nihil.monad;
import nihil.util;
import :fd;
import :open;
diff --git a/nihil.ucl/CMakeLists.txt b/nihil.ucl/CMakeLists.txt
index 5b8ed72..f0e7ec0 100644
--- a/nihil.ucl/CMakeLists.txt
+++ b/nihil.ucl/CMakeLists.txt
@@ -3,7 +3,12 @@
pkg_check_modules(LIBUCL REQUIRED libucl)
add_library(nihil.ucl STATIC)
-target_link_libraries(nihil.ucl PRIVATE nihil.std nihil.core nihil.error nihil.monad)
+target_link_libraries(nihil.ucl PRIVATE
+ nihil.std
+ nihil.core
+ nihil.util
+ nihil.error
+)
target_sources(nihil.ucl
PUBLIC FILE_SET modules TYPE CXX_MODULES FILES
@@ -40,7 +45,10 @@ if(NIHIL_TESTS)
string.test.cc
)
- target_link_libraries(nihil.ucl.test PRIVATE nihil.ucl Catch2::Catch2WithMain)
+ target_link_libraries(nihil.ucl.test PRIVATE
+ nihil.std
+ nihil.ucl
+ Catch2::Catch2WithMain)
include(CTest)
include(Catch)
diff --git a/nihil.ucl/object_cast.ccm b/nihil.ucl/object_cast.ccm
index 5a09085..04d75a9 100644
--- a/nihil.ucl/object_cast.ccm
+++ b/nihil.ucl/object_cast.ccm
@@ -6,7 +6,7 @@ module;
export module nihil.ucl:object_cast;
import nihil.std;
-import nihil.monad;
+import nihil.util;
import :type;
import :object;
import :array;
diff --git a/nihil.ucl/parser.ccm b/nihil.ucl/parser.ccm
index 0100fda..306f068 100644
--- a/nihil.ucl/parser.ccm
+++ b/nihil.ucl/parser.ccm
@@ -6,7 +6,7 @@ module;
export module nihil.ucl:parser;
import nihil.std;
-import nihil.monad;
+import nihil.util;
import :object;
import :map;
diff --git a/nihil.util/CMakeLists.txt b/nihil.util/CMakeLists.txt
index 2755103..4c832c8 100644
--- a/nihil.util/CMakeLists.txt
+++ b/nihil.util/CMakeLists.txt
@@ -5,7 +5,6 @@ target_link_libraries(nihil.util PRIVATE
nihil.std
nihil.core
nihil.error
- nihil.monad
)
target_sources(nihil.util
PUBLIC FILE_SET modules TYPE CXX_MODULES FILES
@@ -16,6 +15,7 @@ target_sources(nihil.util
ctype.ccm
flagset.ccm
guard.ccm
+ monad.ccm
parse_size.ccm
next_word.ccm
save_errno.ccm
@@ -31,13 +31,14 @@ if(NIHIL_TESTS)
ctype.test.cc
flagset.test.cc
guard.test.cc
+ monad.test.cc
parse_size.test.cc
next_word.test.cc
skipws.test.cc
tabulate.test.cc
)
target_link_libraries(nihil.util.test PRIVATE
- nihil.util
+ nihil.std nihil.util
Catch2::Catch2WithMain
)
diff --git a/nihil.monad/monad.ccm b/nihil.util/monad.ccm
index cd17e0f..eefa1fe 100644
--- a/nihil.monad/monad.ccm
+++ b/nihil.util/monad.ccm
@@ -22,7 +22,7 @@
* IN THE SOFTWARE.
*/
-export module nihil.monad;
+export module nihil.util:monad;
import nihil.std;
diff --git a/nihil.monad/test.cc b/nihil.util/monad.test.cc
index 2cc743c..bc9e406 100644
--- a/nihil.monad/test.cc
+++ b/nihil.util/monad.test.cc
@@ -4,8 +4,9 @@
import nihil.std;
import nihil.error;
-import nihil.monad;
+import nihil.util;
+namespace {
TEST_CASE("monad: co_await std::optional<> with value", "[nihil]")
{
auto get_value = [] -> std::optional<int> {
@@ -62,3 +63,4 @@ TEST_CASE("monad: co_await std::expected<> with error", "[nihil]")
REQUIRE(!o);
REQUIRE(o.error() == "error");
}
+} // anonymous namespace
diff --git a/nihil.util/nihil.util.ccm b/nihil.util/nihil.util.ccm
index 6b4bc30..de88f8c 100644
--- a/nihil.util/nihil.util.ccm
+++ b/nihil.util/nihil.util.ccm
@@ -6,6 +6,7 @@ export import :construct;
export import :ctype;
export import :flagset;
export import :guard;
+export import :monad;
export import :parse_size;
export import :next_word;
export import :save_errno;
diff --git a/nihil.util/parse_size.ccm b/nihil.util/parse_size.ccm
index 7fc3fa4..6219323 100644
--- a/nihil.util/parse_size.ccm
+++ b/nihil.util/parse_size.ccm
@@ -4,9 +4,9 @@ export module nihil.util:parse_size;
import nihil.std;
import nihil.core;
import nihil.error;
-import nihil.monad;
import :ctype;
+import :monad;
namespace nihil {