I made myself a scripting language called Calcit http://calcit-lang.org/ , features persistent data function, macros, higher-order functions, and also compiles to JavaScript. Now I use it as a replacement for ClojureScript since I make Calcit compile to JavaScript in ES6 module, which works seamlessly with Vite!
If anyone feel interested, please give a try.
One thing to notice is Calcit is using indentation-based syntax while supporting macros. It's strange, but it works really well.