babashka
cloture
Our great sponsors
babashka | cloture | |
---|---|---|
112 | 8 | |
3,782 | 369 | |
1.8% | - | |
9.2 | 4.5 | |
7 days ago | 5 months ago | |
Clojure | Common Lisp | |
Eclipse Public License 1.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
babashka
-
A Tour of Lisps
It also gives you access to Babashka if you want Clojure for other use-cases where start-up time is an issue
- Babashka: Fast native Clojure scripting runtime
-
What's the value proposition of meta circular interpreters?
I've tried researching this myself and can't find too much. There's this project metaes which is an mci for JS, and there's the SCI module of the Clojure babashka project, but that's about it. I also saw Triska's video on mci but it was pretty theoretical.
-
Adding Dependencies on Clojure Project the Node Way: A Small Intro to neil CLI
Created by the same guy who created babashka which is a way to write bash scripts, node scripts, and even apple scripts using Clojure. A very proficient and influential developer in the Clojure community. This is how borkduke's neil helps us:
-
Pure Bash Bible
Not what you asked for but there is Babashka for scripting in Clojure.
-
Critique of Lazy Sequences in Clojure
Clojure's lazy sequences by default are wonderful ergonomically, but it provides many ways to use strict evaluation if you want to. They aren't really a hassle either. I've been doing Clojure for the last few years and have a few grievances, but overall it's the most coherent, well thought out language I've used and I can't recommend it enough.
There is the issue of startup time with the JVM, but you can also do AOT compilation now so that really isn't a problem. Here are some other cool projects to look at if you're interested:
Malli: https://github.com/metosin/malli
Babashka: https://github.com/babashka/babashka
-
Sharpscript: Lisp for Scripting
Being a Clojure addict, I guess I have to leave the obligatory link to Babashka too then: https://github.com/babashka/babashka (Native, fast starting Clojure interpreter for scripting)
-
Rash – The Reckless Racket Shell
which is now on hiatus. babashka: https://babashka.org
-
babashka not working - Fatal error: Failed to create the main Isolate. (code 8)
I just got Asahi installed and I want to start automating my system setup, which I do using babashka
-
Getting started with lisp
Babashka https://github.com/babashka/babashka - a native implementation of Clojure which starts fast
cloture
-
The Jank Language: LLVM Hosted Clojure
Why not use something like https://github.com/ruricolist/cloture (a Clojure "adapter" that runs on Common Lisp) if you want that?
- Cloture – Implementation of Clojure in Common Lisp
- ClojureRS – Clojure interpreter implemented in Rust
- Clojure – Differences with Other Lisps
-
Clojure, but without the JVM?
Clojure on Common Lisp: https://github.com/ruricolist/cloture
- Seeking clojure-styled concurrency operators for common lisp
-
On Repl-Driven Programming
It does not offer the full experience. It has no breakloop and no ability to browse and edit the live running environment. It has no ability to rummage around inside the dynamic environment of a suspended function call, much less to redefine the suspended function or the types of its parameters, nor to restart the suspended call. Indeed, the JVM makes some of that stuff really inconvenient to do.
You cannot do everything from the Clojure repl in the way you can from a Common Lisp repl or from a Smalltalk worksheet.
I don't know that the Clojure language design forbids it; you might, for example, implement Clojure on top of a Lisp or Smalltalk environment and hook up their tools to Clojure through its interop. That might work, and ruricolist has been working on such an implementation called Cloture:
https://github.com/ruricolist/cloture
But existing Clojure implementations don't have the full set of tools.
What are some alternatives?
janet - A dynamic language and bytecode vm
malli - High-performance data-driven data specification library for Clojure/Script.
joker - Small Clojure interpreter, linter and formatter.
nbb - Scripting in Clojure on Node.js using SCI
clojure-lsp - Clojure & ClojureScript Language Server (LSP) implementation
racket - The Racket repository
ShellCheck - ShellCheck, a static analysis tool for shell scripts
hy - A dialect of Lisp that's embedded in Python
ArcadiaGodot
Carp - A statically typed lisp, without a GC, for real-time applications.
immer - Postmodern immutable and persistent data structures for C++ — value semantics at scale
paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"