I'm fed up with Clojure/script and the core dev team. The language came out without a build system, so Technomancy invented Leiningen, the build system, and eventually, something like 10 years later, the dev team released Deps: you still need to remember painfully long commands to run your project (and as a consequence store them in some textfile because eventually your teammates will ask you: can you send me the command to run the project/tests/whatever ?). Clojurescript is just a hideous mess and having to sprinkle countless reader conditionnals because of the atrocious clojurescript specific ':require-macros' is a huge letdown and makes writing universal portable code that can run both in the jvm and the browser a painful and sad experience. And it's almost impossible to suggest improvements to the language (even tiny ones) because the dev team is just smug. They'll turn down your idea and implement it anyway when they feel they need it (I've had 2 suggestions turned down then integrated anyway – I'm the one who pointed out Ruby manages terminal map arguments just fine, whether it's a literal or "variadic" map).
I'm looking forward to luxlang now. https://trello.com/b/VRQhvXjs/lux
The majority of Clojure projects use Leiningen. As a consequence, REBL/Morse do not support the majority of Clojure projects.
Is it this one? https://luxlang.github.io/lux/
So it got inspired by Haskell, clojure etc. and is early dev… not sure what the cadence is or how big the community is.
What benefits does this project provide vs the established more battle tested projects, like clojure?
It's a bit like a Jupyter notebook, but you get to use your own editor, you still have a normal Clojure REPL, it's stored in git like "normal" code, etc.
For exploratory, information processing type work, it's pretty great.
Demo here: https://www.youtube.com/watch?v=3bs3QX92kYA
As a small project Clojure dev (and admittedly a couple years out of daily Clojure use), these types of projects are hard for me to place in a day-to-day work context. The doc says that Morse is one tool that can "amplify the power of the programmer during interactive development".
I totally feel like Clojure REPL-based dev is better for me personally - the interactive feedback feels so natural and functional programming matches so well my preferred dev process. But it is more difficult for me to understand where this type of tooling fits in dev workflow. Is Morse an incremental improvement? Does it make more sense in significant Clojure dev shops with many programmers vs just me sitting around with an Emacs repl going?
me too! Morse is complementary to your normal REPL-based workflow. it is designed to not get in the way of that.
But replicant seems important overall for the ecosystem and probably worth highlighting?
This this looks awfully similar to Reveal - though Reveal seems to be more composable and modular
-... .- -.. -. .- —- .I'll give this a whirl tonight!
And because someone has to...
"Can I look at your Morse code?"
This is not a new language, it's a tool for Clojure.
I really appreciate the contributions that Nubank is making (after making Datomic free, https://blog.datomic.com/2023/04/datomic-is-free.html). My only nitpick this time is that I would have liked some screenshots/screencasts of the this new tool in action.
(more would be nice but it's a start)