pod-registry
clojure-scheme
pod-registry | clojure-scheme | |
---|---|---|
2 | 3 | |
87 | 565 | |
- | - | |
8.1 | 0.0 | |
13 days ago | over 4 years ago | |
Clojure | Clojure | |
- | - |
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.
pod-registry
-
Babashka: GraalVM Helped Create a Scripting Environment for Clojure
babashka supports html parsing through pods:
https://github.com/babashka/pod-registry
Pods can be written in any language and they can expose functions to babashka by implementing a protocol.
One pod exposing HTML parsing is:
https://github.com/retrogradeorbit/bootleg
Here is an example of how to use that:
https://github.com/babashka/pod-registry/blob/master/example...
-
Lokke: Clojure for Guile
This is not how babashka (or the underlying sci interpreter) works: babashka doesn't transpile to another language, but directly executes the code (via an intermediate analyzed representation). Babashka (and sci) are implemented on the JVM in Clojure itself and can leverage libraries directly from that ecosystem, without re-implementing everything for a different host than the JVM. A bb (or sci) program consists of pre-compiled Clojure code (via GraalVM native-image) and interpreted glue code. It aims to be as compatible as possible with JVM Clojure. Babashka integrates with tools.deps.alpha and can execute several existing Clojure libraries "as is" (https://github.com/borkdude/babashka/blob/master/doc/projects.md). It aims to be as compatible as possible with JVM Clojure. With the introduction of pods (https://github.com/babashka/pod-registry) it is able to leverage libraries from other ecosystems as well.
clojure-scheme
-
Years in Common Lisp: 2022 in review
For me it's microcontrollers, however I've heard in spite of the unmaintained status, clojure-scheme[1] is very usable. It uses gambit to produce C-code you can compile anywhere.
https://github.com/takeoutweight/clojure-scheme
-
ClojureRS – Clojure interpreter implemented in Rust
> But wouldn't it make more sense to first rewrite Clojure itself in some small/minimal scheme-y subset of Clojure
How about Scheme?: https://github.com/takeoutweight/clojure-scheme
Note that this project is unmaintained and the last updates are ~10 years old.
-
Lokke: Clojure for Guile
lokke seems to use Guile's tooling (compiler tower, to be specific) to compile clojure-esque code to objects understood by said Guile's tooling. This is a little different from Clojurescript's approach which use ClojureJVM to transpile to javascript. There was actually another Clojure to Scheme project that leverages Clojurescript JVM transpiler: https://github.com/takeoutweight/clojure-scheme - It targets Gambit scheme instead of Guile
What are some alternatives?
lokke - Lokke: Clojure for Guile
ClojureRS - Clojure, implemented atop Rust (unofficial)
babashka-sql-pods - Babashka pods for SQL databases
farolero - Thread-safe Common Lisp style conditions and restarts for Clojure(Script) and Babashka.
cloroutine - Coroutine support for clojure
cloture - Clojure in Common Lisp
process - Clojure library for shelling out / spawning sub-processes
babashka - Native, fast starting Clojure interpreter for scripting
sci - Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs