# General Questions

**URL:** https://clojureverse.org/c/questions-help/general-questions/32.md

[Latest](https://clojureverse.org/latest.md) · [Categories](https://clojureverse.org/categories.md) · [Tags](https://clojureverse.org/tags.md)

---

## [About the General Questions category](https://clojureverse.org/t/about-the-general-questions-category/644)

<div class="topic-metadata">

**Author:** [@plexus](https://clojureverse.org/u/plexus)\
**Replies:** 0\
**Last updated:** [November 5, 2017, 4:15pm UTC](https://clojureverse.org/t/about-the-general-questions-category/644 "2017-11-05T16:15:05Z")

</div>

Any question that doesn’t ft in the other subcategories goes here. For example, questions about … Clojure’s design or philosophy what the best library is to do something how to approach your learning process …

---

## [Migration to Jetty 12 ring adapter ( info.sunng/ring-jetty9-adapter )](https://clojureverse.org/t/migration-to-jetty-12-ring-adapter-info-sunng-ring-jetty9-adapter/14821)

<div class="topic-metadata">

**Author:** [@maris-orbidans-otm](https://clojureverse.org/u/maris-orbidans-otm)\
**Replies:** 4\
**Last updated:** [January 12, 2026, 3:22pm UTC](https://clojureverse.org/t/migration-to-jetty-12-ring-adapter-info-sunng-ring-jetty9-adapter/14821 "2026-01-12T15:22:53Z")

</div>

I migrated a web app backend to Jetty 12 and I changed ring adapter to info.sunng/ring-jetty9-adapter :ssl-client-cert now returns an array of certificates. It used to be single certificate. :man\_shrugging: Do you kno…

---

## [Can cider copypaste the selected region into the repl buffer?](https://clojureverse.org/t/can-cider-copypaste-the-selected-region-into-the-repl-buffer/14774)

<div class="topic-metadata">

**Author:** [@Alejandro](https://clojureverse.org/u/Alejandro)\
**Replies:** 1\
**Last updated:** [November 15, 2025, 8:04am UTC](https://clojureverse.org/t/can-cider-copypaste-the-selected-region-into-the-repl-buffer/14774 "2025-11-15T08:04:52Z")

</div>

I’d like to have a history of all the interaction with repl. Would be great if cider copied the selected region to the repl buffer along with the result of evaluation.

---

## [How Can I Reliably Track My Current Location Using a Web Tool in Clojure Without Compromising Performance or User Experience?](https://clojureverse.org/t/how-can-i-reliably-track-my-current-location-using-a-web-tool-in-clojure-without-compromising-performance-or-user-experience/11495)

<div class="topic-metadata">

**Author:** [@Jelicamwangi](https://clojureverse.org/u/Jelicamwangi)\
**Replies:** 1\
**Last updated:** [July 19, 2025, 8:45pm UTC](https://clojureverse.org/t/how-can-i-reliably-track-my-current-location-using-a-web-tool-in-clojure-without-compromising-performance-or-user-experience/11495 "2025-07-19T20:45:44Z")

</div>

Lately, I’ve been exploring ways to detect and use my current geographical location directly within a web environment, and this got me thinking deeply about the best approach to reliably track the “where am I” status in …

---

## [How can we directly call \`(repo/get-cust-by-id id)\`, instead of \`((:get-cust-by-id sys-map) id)\` when using component libraries?](https://clojureverse.org/t/how-can-we-directly-call-repo-get-cust-by-id-id-instead-of-get-cust-by-id-sys-map-id-when-using-component-libraries/11358)

<div class="topic-metadata">

**Author:** [@Pyi\_Soe](https://clojureverse.org/u/Pyi_Soe)\
**Replies:** 1\
**Last updated:** [April 29, 2025, 6:36am UTC](https://clojureverse.org/t/how-can-we-directly-call-repo-get-cust-by-id-id-instead-of-get-cust-by-id-sys-map-id-when-using-component-libraries/11358 "2025-04-29T06:36:26Z")

</div>

With component libraries such as Component/Integrant, when a function has a dependency on part of the system state, we usually inject the dependency and put it in a map. Assuming repo is a component with CRUD functions …

---

## [Hyprland & Clojure](https://clojureverse.org/t/hyprland-clojure/11316)

<div class="topic-metadata">

**Author:** [@ilemming](https://clojureverse.org/u/ilemming)\
**Replies:** 3\
**Last updated:** [April 10, 2025, 4:58pm UTC](https://clojureverse.org/t/hyprland-clojure/11316 "2025-04-10T16:58:15Z")

</div>

I’m shopping for the next WM on my Linux box and I’m currently evaluating Hyprland. This is my first Wayland compositor; before, I’ve used only X11 WMs — exwm, stump, awesome. And every one of them has some limitations: …

---

## [Separating effects from business logic](https://clojureverse.org/t/separating-effects-from-business-logic/10961)

<div class="topic-metadata">

**Author:** [@jacob](https://clojureverse.org/u/jacob)\
**Replies:** 18\
**Last updated:** [December 7, 2024, 8:59pm UTC](https://clojureverse.org/t/separating-effects-from-business-logic/10961 "2024-12-07T20:59:46Z")

</div>

Over the weekend I started experimenting with structuring my ring handlers as pure functions by separating the co-/side-effects out in a style similar to what re-frame does. I.e. instead of passing in mocks of some sort …

---

## [State of Clojure on Android](https://clojureverse.org/t/state-of-clojure-on-android/10989)

<div class="topic-metadata">

**Author:** [@publicimageltd](https://clojureverse.org/u/publicimageltd)\
**Replies:** 6\
**Last updated:** [October 29, 2024, 8:44pm UTC](https://clojureverse.org/t/state-of-clojure-on-android/10989 "2024-10-29T20:44:27Z")

</div>

I’ve seen that Neko is archived, and there is generally hardly any information on using native Clojure on Android. Rather, everyone seems to move to Clojurescript with re-agent or the likes. This looks strange to me, sin…

---

## [Is it efficient to nest/compose eductions?](https://clojureverse.org/t/is-it-efficient-to-nest-compose-eductions/10987)

<div class="topic-metadata">

**Author:** [@ryantate](https://clojureverse.org/u/ryantate)\
**Replies:** 2\
**Last updated:** [October 27, 2024, 7:29pm UTC](https://clojureverse.org/t/is-it-efficient-to-nest-compose-eductions/10987 "2024-10-27T19:29:17Z")

</div>

Very short version of my question, I am wondering if something like this is going to be efficient, without intermediate collections created by the eductions and with execution of the eduction transducers deferred until …

---

## [Reducers: sorting while folding](https://clojureverse.org/t/reducers-sorting-while-folding/10951)

<div class="topic-metadata">

**Author:** [@Luca\_Bandelli](https://clojureverse.org/u/Luca_Bandelli)\
**Replies:** 8\
**Last updated:** [October 2, 2024, 9:33am UTC](https://clojureverse.org/t/reducers-sorting-while-folding/10951 "2024-10-02T09:33:54Z")

</div>

Dears, I have the following scenario: i have a function FuzzySearch/weightedRatio that given 2 string computes a similarity score. I have my search input and about 3 million entries in all-options. I the output shou…

---

## [Create code-like data structures dynamically](https://clojureverse.org/t/create-code-like-data-structures-dynamically/10903)

<div class="topic-metadata">

**Author:** [@habruening](https://clojureverse.org/u/habruening)\
**Replies:** 8\
**Last updated:** [September 30, 2024, 7:31pm UTC](https://clojureverse.org/t/create-code-like-data-structures-dynamically/10903 "2024-09-30T19:31:27Z")

</div>

Is there a comfortable way to implement a mechanism that takes a list, searches for the keyword clj and evaluate what is inside the clj? Here an example: '(a (clj (+ 1 1)) b) =\> '(a 2 b) My first try was a function ev…

---

## [How to Optimize Performance in a Clojure Web Application](https://clojureverse.org/t/how-to-optimize-performance-in-a-clojure-web-application/10853)

<div class="topic-metadata">

**Author:** [@miaco](https://clojureverse.org/u/miaco)\
**Replies:** 3\
**Last updated:** [August 1, 2024, 12:40pm UTC](https://clojureverse.org/t/how-to-optimize-performance-in-a-clojure-web-application/10853 "2024-08-01T12:40:08Z")

</div>

Hii guys! :smiling\_face\_with\_three\_hearts: I’m trying to maximize the performance of a web application that I’m working on with Clojure. I’ve done some reading and used a couple standard methods, but I want to be certai…

---

## [I am looking for an essay critical of OOP on clojuredocs.org](https://clojureverse.org/t/i-am-looking-for-an-essay-critical-of-oop-on-clojuredocs-org/10691)

<div class="topic-metadata">

**Author:** [@lkrubner](https://clojureverse.org/u/lkrubner)\
**Replies:** 12\
**Last updated:** [July 27, 2024, 9:59pm UTC](https://clojureverse.org/t/i-am-looking-for-an-essay-critical-of-oop-on-clojuredocs-org/10691 "2024-07-27T21:59:36Z")

</div>

I once read an essay on https://clojuredocs.org. Now I’d like to find it again, but I cannot find it. The essay made the point, which I think Rich Hickey original made, that object oriented programming introduces a probl…

---

## [Clojure Model as Modelling Language for Embedded Software](https://clojureverse.org/t/clojure-model-as-modelling-language-for-embedded-software/10847)

<div class="topic-metadata">

**Author:** [@habruening](https://clojureverse.org/u/habruening)\
**Replies:** 2\
**Last updated:** [July 26, 2024, 2:49pm UTC](https://clojureverse.org/t/clojure-model-as-modelling-language-for-embedded-software/10847 "2024-07-26T14:49:58Z")

</div>

I think about the idea of using Clojure as a modelling language for safety critical Embedded Software. I could imagine that a small subset of Clojure would fit well for specifying, testing and analysing algorithms. Deve…

---

## [Do a significant amount of people still use leiningen with clojure?](https://clojureverse.org/t/do-a-significant-amount-of-people-still-use-leiningen-with-clojure/10833)

<div class="topic-metadata">

**Author:** [@samrose](https://clojureverse.org/u/samrose)\
**Replies:** 8\
**Last updated:** [July 22, 2024, 10:17pm UTC](https://clojureverse.org/t/do-a-significant-amount-of-people-still-use-leiningen-with-clojure/10833 "2024-07-22T22:17:43Z")

</div>

It’s been a few years since I was deep into clj/cljs, and I am wondering if there are a lot of people who still use https://leiningen.org/ ?

---

## [Compile ClojureScript in Clojure into a String](https://clojureverse.org/t/compile-clojurescript-in-clojure-into-a-string/10584)

<div class="topic-metadata">

**Author:** [@habruening](https://clojureverse.org/u/habruening)\
**Replies:** 10\
**Last updated:** [April 5, 2024, 11:49am UTC](https://clojureverse.org/t/compile-clojurescript-in-clojure-into-a-string/10584 "2024-04-05T11:49:46Z")

</div>

I am learning to write simple web applications. I started with Clojure, Ring and Hiccup. I am progressing, so I believe I am not on a wrong path. Now I am at the point where I want to integrate some JavaScript code into…

---

## [Default where clauses](https://clojureverse.org/t/default-where-clauses/10628)

<div class="topic-metadata">

**Author:** [@NoahTheDuke](https://clojureverse.org/u/NoahTheDuke)\
**Replies:** 1\
**Last updated:** [March 18, 2024, 11:08pm UTC](https://clojureverse.org/t/default-where-clauses/10628 "2024-03-18T23:08:18Z")

</div>

Rails has the concept of Scopes, helper methods that modify queries on Models. When using honeysql, this is as simple as (where …) or even adding a helper function that adds to the given query. However, Scopes have the …

---

## [How do you use nREPL?](https://clojureverse.org/t/how-do-you-use-nrepl/10609)

<div class="topic-metadata">

**Author:** [@jackdbd](https://clojureverse.org/u/jackdbd)\
**Replies:** 2\
**Last updated:** [March 7, 2024, 6:31pm UTC](https://clojureverse.org/t/how-do-you-use-nrepl/10609 "2024-03-07T18:31:41Z")

</div>

I realize this might be an overly general question, but I was wondering how people use nREPL. I mean, what are you using it for? I’m basically looking for inspiration, so to speak :slight\_smile: Here is how I am using i…

---

## [Functions instead of macros](https://clojureverse.org/t/functions-instead-of-macros/10590)

<div class="topic-metadata">

**Author:** [@habruening](https://clojureverse.org/u/habruening)\
**Replies:** 5\
**Last updated:** [March 6, 2024, 7:46pm UTC](https://clojureverse.org/t/functions-instead-of-macros/10590 "2024-03-06T19:46:58Z")

</div>

I recently had to use a function for a macro transformation. That worked, and now I wonder, why not everybody writes macros like this. See this example. (defn revf \[expr\] (if (list? expr) (cons (last expr) …

---

## [Should Linux distributions ship Clojure byte compiled (AOT) or not?](https://clojureverse.org/t/should-linux-distributions-ship-clojure-byte-compiled-aot-or-not/10595)

<div class="topic-metadata">

**Author:** [@Futurile](https://clojureverse.org/u/Futurile)\
**Replies:** 30\
**Last updated:** [March 4, 2024, 7:26pm UTC](https://clojureverse.org/t/should-linux-distributions-ship-clojure-byte-compiled-aot-or-not/10595 "2024-03-04T19:26:36Z")

</div>

I’m working on packaging Clojure tools and libraries for a Linux distribution called Guix. We compile Java programs and libraries to byte-code. The Clojure community seems to favour NOT compiling to byte-code. Why does…

---

## [Malli union not doing what im hoping](https://clojureverse.org/t/malli-union-not-doing-what-im-hoping/10591)

<div class="topic-metadata">

**Author:** [@Henrik\_Larsson](https://clojureverse.org/u/Henrik_Larsson)\
**Replies:** 2\
**Last updated:** [February 19, 2024, 6:20pm UTC](https://clojureverse.org/t/malli-union-not-doing-what-im-hoping/10591 "2024-02-19T18:20:01Z")

</div>

I have lots of rules for which I would like to generate a schema from. I have found malli union to be a good candidate but im struggling to understand how I can use it to build up a larger map schema from many small, the…

---

## [Why did you stop using React?](https://clojureverse.org/t/why-did-you-stop-using-react/10520)

<div class="topic-metadata">

**Author:** [@outrovurt](https://clojureverse.org/u/outrovurt)\
**Replies:** 20\
**Last updated:** [January 29, 2024, 2:40pm UTC](https://clojureverse.org/t/why-did-you-stop-using-react/10520 "2024-01-29T14:40:54Z")

</div>

The question pretty much says it all, and is obviously only directed only to those of you to whom it applies. I’m really curious if you are someone who has previously used React, either directly in JavaScript or via one…

---

## [Test.check failing for property "Euclidian distance between any two normalized vectors are bounded to \[0-2\]](https://clojureverse.org/t/test-check-failing-for-property-euclidian-distance-between-any-two-normalized-vectors-are-bounded-to-0-2/10551)

<div class="topic-metadata">

**Author:** [@Henrik\_Larsson](https://clojureverse.org/u/Henrik_Larsson)\
**Replies:** 3\
**Last updated:** [January 26, 2024, 8:43pm UTC](https://clojureverse.org/t/test-check-failing-for-property-euclidian-distance-between-any-two-normalized-vectors-are-bounded-to-0-2/10551 "2024-01-26T20:43:32Z")

</div>

Im trying to experiment with test.check and Clojure, however im not an expert in either, or math. However it is my understanding that the following code and test should always succeed. Can someone help to clarify if it i…

---

## [What's that library? proxy api, copy metadata from other namespace](https://clojureverse.org/t/whats-that-library-proxy-api-copy-metadata-from-other-namespace/10532)

<div class="topic-metadata">

**Author:** [@Webdev\_Tory](https://clojureverse.org/u/Webdev_Tory)\
**Replies:** 2\
**Last updated:** [January 17, 2024, 9:40pm UTC](https://clojureverse.org/t/whats-that-library-proxy-api-copy-metadata-from-other-namespace/10532 "2024-01-17T21:40:50Z")

</div>

I am working on a codebase in which the original has a big proxy namespace in which code is like this: (def fun1 (other-ns1/fun1)) (def fun1-2 (other-ns2/fun1)) and then those definitions are used heavily in the testin…

---

## [2 years of Clojure, and it still isn't clicking. What am I doing wrong?](https://clojureverse.org/t/2-years-of-clojure-and-it-still-isnt-clicking-what-am-i-doing-wrong/10187)

<div class="topic-metadata">

**Author:** [@itaintclicking](https://clojureverse.org/u/itaintclicking)\
**Replies:** 35\
**Last updated:** [January 10, 2024, 12:57pm UTC](https://clojureverse.org/t/2-years-of-clojure-and-it-still-isnt-clicking-what-am-i-doing-wrong/10187 "2024-01-10T12:57:29Z")

</div>

So I’ve been using Clojure professionally for about 2 years, and played around with it quite a bit before, but I still haven’t had it click where it is intuitive and incredible to work with like everyone always talks abo…

---

## [Clojuredocs: Can we improve existing code examples?](https://clojureverse.org/t/clojuredocs-can-we-improve-existing-code-examples/10506)

<div class="topic-metadata">

**Author:** [@avidrucker](https://clojureverse.org/u/avidrucker)\
**Replies:** 2\
**Last updated:** [December 30, 2023, 3:01am UTC](https://clojureverse.org/t/clojuredocs-can-we-improve-existing-code-examples/10506 "2023-12-30T03:01:09Z")

</div>

Does anyone know if examples can be improved, such as with a PR? For example, I know it’s a minor thing, to suggest that the first example on loop - clojure.core | ClojureDocs - Community-Powered Clojure Documentation an…

---

## [Router recommendation needed](https://clojureverse.org/t/router-recommendation-needed/10416)

<div class="topic-metadata">

**Author:** [@ilemming](https://clojureverse.org/u/ilemming)\
**Replies:** 9\
**Last updated:** [November 23, 2023, 8:30pm UTC](https://clojureverse.org/t/router-recommendation-needed/10416 "2023-11-23T20:30:10Z")

</div>

Initially posted on Clojurians, I realized the discussion might become larger, so I moved it here. What would be a good recommendation for a routing library in 2023? I need to propose a few options to my team. The crit…

---

## [Clojure Transducer relationship to automatons](https://clojureverse.org/t/clojure-transducer-relationship-to-automatons/10422)

<div class="topic-metadata">

**Author:** [@VarLad](https://clojureverse.org/u/VarLad)\
**Replies:** 1\
**Last updated:** [November 16, 2023, 5:57pm UTC](https://clojureverse.org/t/clojure-transducer-relationship-to-automatons/10422 "2023-11-16T17:57:16Z")

</div>

Is there any relationship between Clojure’s Transducers and Transducers from Automata Theory? Or are they completely different?

---

## [CLJS/JS interop re: nested JS](https://clojureverse.org/t/cljs-js-interop-re-nested-js/10367)

<div class="topic-metadata">

**Author:** [@Webdev\_Tory](https://clojureverse.org/u/Webdev_Tory)\
**Replies:** 2\
**Last updated:** [October 15, 2023, 11:18am UTC](https://clojureverse.org/t/cljs-js-interop-re-nested-js/10367 "2023-10-15T11:18:42Z")

</div>

This past week I had a lot of bad time involving trying to use a 3rd-party Javascript API. The last problem I had took a lot of lost time before I realized that my #js call was NOT recursive, when the API needed a map li…

---

## [Functional Core, Imperative Shell in Clojure(Script) Frontends](https://clojureverse.org/t/functional-core-imperative-shell-in-clojure-script-frontends/10249)

<div class="topic-metadata">

**Author:** [@stevemolitor](https://clojureverse.org/u/stevemolitor)\
**Replies:** 7\
**Last updated:** [August 30, 2023, 1:36am UTC](https://clojureverse.org/t/functional-core-imperative-shell-in-clojure-script-frontends/10249 "2023-08-30T01:36:01Z")

</div>

What’s the state of the art for implementing the Functional Core, Imperative Shell approach in ClojureScript (or Squint / Cherry) frontends? In React, it’s hard. Functional components seem like pure functions, but as so…

[Next page](https://clojureverse.org/c/questions-help/general-questions/32.md?page=1)
