From 26f2b44e2209a448fae795121f65c3d84f4bc267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Odd=20Andreas=20S=C3=B8rs=C3=A6ther?= Date: Mon, 26 Feb 2024 10:34:24 +0100 Subject: [PATCH 1/3] Ignore .lsp folder (Calva + LSP) --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c67ef9c..eb2a5ba 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ tmp/ .nrepl-port pom.xml target/ +.lsp/ .clj-kondo/.cache/ From 67718964389266368228c02111bbd72483045817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Odd=20Andreas=20S=C3=B8rs=C3=A6ther?= Date: Mon, 26 Feb 2024 10:34:39 +0100 Subject: [PATCH 2/3] Upgrade manifold and test-deps --- deps.edn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deps.edn b/deps.edn index 0719e31..538ce43 100644 --- a/deps.edn +++ b/deps.edn @@ -11,7 +11,7 @@ :jvm-opts ["--enable-preview"] :main-opts ["-m" "kaocha.runner"] :extra-deps - {org.clojure/test.check {:mvn/version "0.10.0"} - lambdaisland/kaocha {:mvn/version "0.0-541"}}}} + {org.clojure/test.check {:mvn/version "1.1.1"} + lambdaisland/kaocha {:mvn/version "1.87.1366"}}}} :deps - {manifold/manifold {:mvn/version "0.1.9-alpha3"}}} + {manifold/manifold {:mvn/version "0.4.2"}}} From 7618940be7ee133919089b3cdc32dfe660539076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Odd=20Andreas=20S=C3=B8rs=C3=A6ther?= Date: Mon, 26 Feb 2024 10:40:00 +0100 Subject: [PATCH 3/3] Update manifold-link to clj-commons --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index c8308b5..1e88ee6 100644 --- a/Readme.md +++ b/Readme.md @@ -17,7 +17,7 @@ Fibers behave similarly to OS level threads, but are much lighter weight to spaw potentially millions of them to exist. Clojure already has the wonderful [core.async](https://github.com/clojure/core.async) -and [manifold](https://github.com/aleph-io/manifold) libraries but writing maximally performant code +and [manifold](https://github.com/clj-commons/manifold) libraries but writing maximally performant code in either requires the abstraction (channels, or promises) to leak all over your code (as you return channels or promise chains) to avoid blocking. Furthermore you frequently have to think about which executor will handle the blocking code.