/r/Clojure
Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.
Finding information about Clojure
API Reference
Clojure Guides
Practice Problems
Interactive Problems
Clojure Videos
Misc Resources
The Clojure Community
Clojure Books
Tools & Libraries
Clojure Editors
Web Platforms
Clojure Jobs
/r/Clojure
Please ask anything and we'll be able to help one another out.
Questions from all levels of experience are welcome, with new users highly encouraged to ask.
Ground Rules:
If you prefer IRC check out #clojure on libera. If you prefer Slack check out http://clojurians.net
If you didn't get an answer last time, or you'd like more info, feel free to ask again.
Datastar v1.0.0-beta.3 - has just shipped with first class support for Clojure thanks to JeremS.
Datastar is a declarative push based hypermedia framework that lets you avoid the complexities of client side JS/CLJS. It's become my goto replacement for HTMX. Pairs really well with Clojure and make multiplayer/collaborative/realtime apps much simpler to build.
Please include any restrictions (remote/on-site, geographical, workpermit, citizenship) that may apply.
Material of my session at the recently-concluded Functional Conf 2025.
Previously in this "web" series... https://www.reddit.com/r/Clojure/comments/1huxtdk/clojure_multiproject_example_layout_and_tool_use/
I will start a couple of projects (one personal and another for business) and want to develop it using clojure. I'm new to this lang, but it's a way to force me to use it. I'm sure about backend (clojure) and database (postgresql), but I'm thinking about the frontend.
Just want to get ideas/suggestions about stack and to know if it's a good idea at all to take the cljs side, or better just stick to Typescript, taking in consideration learning curve and so on (not an expert in client side either). What I don't want is to have issues later when new versions a technology advance, and then have problem because this lib or that is no updated anymore
Hello! About a month ago I wrote about Disorganized - a new note taking app written in ClojureDart.
After trying out tons of different note taking apps and finding them lacking, I had enough and created my own. Disorganized sets itself apart with note forking, a feature where new notes inherit the structure of previous ones. Read more about it, and join the open beta here! https://www.getdisorganized.com/blog/disorganized-open-beta-announcement
And if you want to hear more about the experience of writing it in ClojureDart, I wrote about that here: https://www.getdisorganized.com/blog/zero-to-launch
I'm working on a CLI tool. I need it to make API calls, so I need to have the user paste their API key into the terminal during setup so I can save it to a config file. I want to accept this sensitive data using stdin, but I can't seem to find a way to conceal the user's input in a way that seems like "the right way to do it".
I tried running stty -echo
, collecting the api key, then running stty echo
after, but it doesn't seem to do anything.
The best I seem to be able to do is use ANSI codes to hide the input as follows, but the cursor moves when the key is pasted in which seems like bad UX to me:
(defn prompt-for-api-key []
(println "Enter your API key:")
(print "\u001B[8m")
(flush)
(let [input (read-line)]
(print "\u001B[0m")
input))
Is there a better way to do this? Something like Python's getpass
?
Please ask anything and we'll be able to help one another out.
Questions from all levels of experience are welcome, with new users highly encouraged to ask.
Ground Rules:
If you prefer IRC check out #clojure on libera. If you prefer Slack check out http://clojurians.net
If you didn't get an answer last time, or you'd like more info, feel free to ask again.
The SciNoj Light conference is designed to be easy to participate in.
Any Clojurian with an open mind and some dedication can prepare a talk. We can help you make it happen. It is a great opportunity to experience what data analysis in Clojure feels like.
Are you planning to propose a talk?