finalfantasia
— Chris Lattner, 2024
[1] https://github.com/JetBrains/intellij-community/commit/edf1c...
You are not forced to "waste time" wrapping Java libraries. As a matter of fact, thanks to the interop features that are well thought out, using Java libraries directly via the interop is encouraged and preferred to wrappers (Java Time API is a good example.) You may _choose_ to write wrappers for Java libraries if they make consuming these libraries in your code a bit nicer.
> Clojure has good foundations but the ecosystem never really developed.
There's no separate ecosystem for Clojure(Script). The established ecosystems such as JVM, .NET, and JavaScript _are_ the Clojure ecosystem. The creator of Clojure(Script) realized that it would be practically impossible to build an ecosystem from scratch without significant investment (Sun spent billions of marketing dollars alone in Java) and thus deliberately chose to make Clojure(Script) a language hosted on well-developed platforms such as JVM, .NET, and JavaScript. Also because of this focus on being a hosted language, he went to great lengths to ensure the interop with its hosting platforms is as seamless as possible. If you need an example for awkward interop with Java, try Scala.
[1] https://eli.thegreenplace.net/2017/notes-on-debugging-clojur...
[2] https://cognitect.com/blog/2017/6/5/repl-debugging-no-stackt...
If you would like to try something that's closest to Scheme and has access to the rich libraries in both the Python and Java ecosystems, give Clojure a try. You have access to the Java libraries out of the box and, with libpython-clj [1], you get access to your familiar Python libraries.
I kind of hold the same opinion. Being more powerful, feature-rich, flexible than readline implementations, editors are, by design, more suited to editing forms. And, I believe, “sending forms from your editor to the REPL” is what the “REPL-driven development” encourages.
Unfortunately, those PR’s have been lingering up there for the past 4 months without any meaningful feedback. I fully understand that you are a business and therefore there are priorities but it would be great to get any kind of feedback on them in order for me proceed with further actions one way or another.
Anyway, thank you for providing such a nice tool for free and open-sourcing it!
[1] https://github.com/replit/polygott/pull/28
- be the most modern one
- have a robust ecosystem
- package management
- tooling
- can be used for building production-ready software
- be an easy sell to businesses
Clojure checks every single bullet point on that list; it - is *the most modern* Lisp that's designed from ground up (no historical baggage/cruft)
- is hosted on *the Java platform* (i.e., "the Java world"), which is so far the most robust enterprise software ecosystem. This means that you have access to the most robust package management system (Leiningen/Maven), the most battle-tested and production-quality libraries, and the most powerful development tools (e.g., IntelliJ IDEA), and etc.
- is created by a pragmatic/practical guy who wants to build production-ready software. It's not the result of an academic research/experiment/thesis.
- is the result of a trade-off that makes it an easier sell to businesses. Businesses tend to be more conservative when it comes to choosing a platform to invest on and usually prefer the ones that are battle-tested, well-established, and well-supported. As of right now, it's the Java platform. No other enterprise software ecosystem can hold a candle to it.
Of course, you don't have to take my word for it, see what others have to say about Clojure.[1][1] https://www.braveclojure.com/clojure-for-the-brave-and-true/
[1] https://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hi...
Clojure 1.10 release
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1585393
[2] https://bodhi.fedoraproject.org/updates/FEDORA-2018-2d42997a...
[1] https://mozillagfx.wordpress.com/2018/11/15/webrender-newsle...
[0] http://junction.cj.com/article/introducing-insights-cj-affil...
Thank you very much!
It would be great if Parinfer [0] were integrated into the Clojure (and Scheme?) REPL.
[1] https://www.mozilla.org/en-US/firefox/57.0beta/releasenotes/