coffi
janet
coffi | janet | |
---|---|---|
6 | 80 | |
253 | 3,325 | |
- | 1.1% | |
3.7 | 9.4 | |
4 months ago | 4 days ago | |
Clojure | C | |
Eclipse Public License 1.0 | MIT License |
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.
coffi
-
JEP Draft: Prepare to Restrict the Use of JNI
Honestly, Project Panama seems much more promising for interop with the C ABI from the Java platform. This is anecdotal, but a lot of commercial Clojure projects seem to have a small JNI-using library that nobody dares to touch with a 10 ft. pole lest something in it breaks and debugging is tedious, if possible at all. I've been eagerly waiting for the release of Java 21 since it means projects like coffi[1] can be used in a stable release of Java, and the API is honestly much more ergonomic than dealing with SWIG and using JNI directly.
[1] https://github.com/IGJoshua/coffi
- Scala native equivalent to Clojure
-
Which Programming language libraries can Clojure use as its own?
Yes hello I am new kid. There's Project Panama which is wrapped by https://github.com/IGJoshua/coffi
-
Reflecting on 18 months of Clojure - Building a SaaS business with Clojure
coffi
- Coffi, a Foreign Function Interface for Clojure on JDK 17
- Coffi, a Foreign Function Interface for JDK 17
janet
-
Scriptable Operating Systems with Lua [pdf]
Seems like a perfect use-case for Janet. (https://janet-lang.org/) A fast minimal VM like Lua, but even more extensible than Lua by being a "Lisp" with macro and C extension capabilities. Not a true Lisp, it's very pragmatic and performance-oriented. But it keeps the good stuff.
-
Ask HN: A Lisp with Cargo/NPM like build system?
You might be looking for: https://janet-lang.org/
It comes with a build tool `jpm` which installs dependencies globally by default, but you can have it be installed in your project folder as well.
-
Babashka: Fast native Clojure scripting runtime
I like Clojure, but I never had any good opportunities to use it other than for a few small hobby projects. It is unfortunate that it is so huge with tons of dependencies and no simpler native implementation. I started looking at various LISPs and Schemes to find something lighter to use instead and ended up settling for Janet that I think is Clojure-like enough to be comfortable to use, but in a small native binary with no dependencies and can be embedded in other native programs. I am sure for big, real, projects that Clojure makes more sense, but for my hobby projects and scripts I do not think I will install it again. I am still happy for the things I learned from learning Clojure. It was a real eye-opener for an old OO-programmer.
https://janet-lang.org/
- Janet Language
- Why Fennel?
- Embeddable Common Lisp 23.9.9
-
Sharpscript: Lisp for Scripting
One might also check out Janet for quick scripting tasks.
https://janet-lang.org
-
Red Programming Language
Thanks!
I thought about another multiplatform, homoiconic, highly compact language: https://janet-lang.org/ (takes 803 kb on my machine).
It has no types though.
-
Systems Programming with Racket
Racket is great, and if you like it you might find Rash interesting:
https://rash-lang.org/
Janet and Gerbil Scheme are also worth a look:
https://janet-lang.org/
https://cons.io/
-
how did you finally reach Lisp enlightenment?
Point here is that, for instance Janet language does not have cons / pair type but tuple (and so is lispoid, not lisp), but clearly this is sufficient for macros & hence seamless language construction: all you need is to be a lispoid although being a lisp gives another useful feature.
What are some alternatives?
xtdb - An immutable database for application development and time-travel data compliance, with SQL and XTQL. Developed by @juxt
Fennel - Lua Lisp Language
libapl-clj - GNU APL native interop for Clojure
get-started-with-clojure - Learn Clojure and Interactive Programming – Zero install
sente - Realtime web comms library for Clojure/Script
babashka - Native, fast starting Clojure interpreter for scripting
libjulia-clj - Julia bindings for Clojure -- Currently somewhat unstable --
scheme-for-max - Max/MSP external for scripting and live coding Max with s7 Scheme Lisp
jnr-posix - Java Posix layer
ferret - Ferret is a free software lisp implementation for real time embedded control systems.
clong - A wrapper for libclang and a generator that can turn c header files into clojure apis.
kaboom.js - 💥 JavaScript game library