awesome-clojure-likes
janet
awesome-clojure-likes | janet | |
---|---|---|
3 | 85 | |
209 | 3,521 | |
- | 1.5% | |
4.3 | 9.5 | |
12 months ago | 11 days ago | |
C | ||
- | 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.
awesome-clojure-likes
- GitHub - chr15m/awesome-clojure-likes: Curated list of Clojure-like programming languages.
-
Clojure, but without the JVM?
I really sympathize here, Clojure is such a cool kid. Unfortunately, I did not find a satisfying clojure-like langage, here is a good list of similar or inspired langages : https://github.com/chr15m/awesome-clojure-likes
-
State of Clojure 2021
I think Clojure will be a very hard language to supersede. Lisp syntax in general is not very common, so lots of people dismiss it just because of that. The ones that don't, usually look on programming languages differently, and won't leave Clojure unless a serious contender with a seriously awesome team behind it pops up, which since I started doing Clojure (~2010) hasn't happened yet and seems unlikely to happen.
Although there are some nice efforts on getting wider support for Clojure. Babashka is one of my favorite projects, that leverages SCI (Small Clojure Intreper) and GraalVM to build a subset of Clojure that can startup much faster, making Clojure suitable for CLIs and desktop apps.
Then we have the Clojure-like languages that takes the best ideas of Clojure with some differences and different runtimes. Joker comes to mind as one of those. Here are some others: https://github.com/chr15m/awesome-clojure-likes
I also think ClojureScript is still a hidden gem in the frontend world. Now with the rise of shadowcljs, it becomes easier to get started, which is seemingly super important for the JS world (rather than focus on longterm experience, first timer experience is the focus), so more people will see the strength in Clojure for client-side clients, especially if the data structures you're dealing with is coming from 3rd party clients instead of you making them up on the backend.
All in all, Clojure will be hard to replace, but definitely not impossible, it'll just take a lot. For now, Clojure is the king on the hill, with it's small versions eating up some smaller hills. In my view, it's time has yet to come.
janet
-
Raku Programming Language
I first came across something like this in janet, which includes a PEG system in the standard library. It definitely changed how I think about text processing. Very much of the time what I find myself doing with regex is defining a grammar, but I didn't realize that. I wish more languages included the tools for it, it's a core operation of practical programming.
https://janet-lang.org
-
Rawdrawandroid – Build Android apps without any Java, in C and Make
...I of course would rather embed Janet [1], but I realize what is going to have an easier time gaining popularity %) Also, Lua has Löve [2] which could be immediately usable, among other things.
[1]: https://janet-lang.org/
[2]: https://www.love2d.org/
-
The Fennel Programming Language
I don't think it has absolutely all that, but janet might be close?
https://janet-lang.org/
- CIEL Is an Extended Lisp
-
How the Curse of Lisp impacts your business (even if you don't use Lisp)
> Would you write your own JSON parser, is it that easy in LISP?
I only dally with Lisp(s) but probably not, I'd reach for a library in quicklisp.
However, in Janet (https://janet-lang.org/) there's a PEG parser and I wrote a JSON parser for fun in 134 lines that passes most of the test suite by Nicolas Seriot.
So I'd say it's reasonably easy for a better-skilled programmer than I am.
-
Homoiconic Python
Only tangentially related, but for anyone interested in the idea of a simple, quick Python-like scripting Lisp, there are two Clojure-style languages to look at:
1) Hy (https://hylang.org/, compiles to Python bytecode, usually slower than Python but compatible with all Python libraries)
2) Janet (https://janet-lang.org/, very light Lua-style embeddable VM ~1 Mb, roughly twice as fast as Python for similar ops, very easy C interop)
-
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
What are some alternatives?
Fennel - Lua Lisp Language
hy - A dialect of Lisp that's embedded in Python
get-started-with-clojure - Learn Clojure and Interactive Programming – Zero install
lumo - Fast, cross-platform, standalone ClojureScript environment
babashka - Native, fast starting Clojure interpreter for scripting
joker - Small Clojure interpreter, linter and formatter.
scheme-for-max - Max/MSP external for scripting and live coding Max with s7 Scheme Lisp
clojerl - Clojure for the Erlang VM (unofficial)
ferret - Ferret is a free software lisp implementation for real time embedded control systems.
ClojureCLR - A port of Clojure to the CLR, part of the Clojure project
kaboom.js - 💥 JavaScript game library **Abandoned** Succeeded by KAPLAY