This project looks awesome, though I'm a bit sad that "performance" is a non-goal as stated in the README. Clojure being able to compile to a single shippable binary is just what I need in my life. Kudos to the author.

I have long had the ambition to be the N:th guy to try Clojure on C++. For similar reasons. I have a pretty good idea how to do it, already got HAMT and some macroexpanded code to work. But then you remember how even ClojureCLR struggled at times, and that you'd be lightyears behind that, not to speak of CLJ/CLJS, and alone. Maybe one day? :)

I think recreating Clojure point by point is not optimal. There is some middle ground between full on Clojure and the straightjacket of the STL datastructures.

- Clojure is kinda difficult to reason about performance wise. The lazyness.. some weird corner cases (like how `(first ..)` is slower than `(nth .. 0)`

- The STL is very strict on the "zero cost abstraction" front.

Maybe something like Immer but with some syntactic sugar to make it more light weight like Clojure?

With hooking into GDB you could probably make a REPL as well.. GDB has live code reload, introspection - you even get state of crash and sane stack traces :)

You see, I'd like to write more of my software in Clojure (or any functionally inclined Lisp). If there was a really good interop story with a non-gc:d native lang I could do more of it.

Clojure is a hosted language, so hosting it on C++ (or Rust etc.) would be sweet for me personally. Also, I like compiler projects.

Check out https://github.com/carp-lang/Carp

From the readme:

> The key features of Carp are the following:

> - Automatic and deterministic memory management (no garbage collector or VM)

> - Inferred static types for great speed and reliability

> - Ownership tracking enables a functional programming style while still using mutation of cache-friendly data structures under the hood

> - No hidden performance penalties – allocation and copying are explicit

> - Straightforward integration with existing C code

> - Lisp macros, compile time scripting and a helpful REPL