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.
hissp
- Hissp
-
2 line tic tac toe
Hissp is a Python library that can compile a whole program into one Python expression.
-
What's the most hilarious use of operator overloading you've seen?
If you want Python to be as customizable as Lissp, check out Hissp (and Hebigo).
-
Pythoneers here, what are some of the best python tricks you guys use when progrmming with python
Hissp is really cool for metaprogramming Python. There's also macropy, but it's harder to use.
-
Lush – Lisp-like language for deep learning designed by Yann LeCun
I prefer https://github.com/gilch/hissp, where Hy has to use shims to pretend statements are expressions, Hissp just targets the expression subset in the first place. (though as you mentioned, hy has a lot of literature and support around it, where as you're going to have to find your own way around hissp)
-
A Python-compatible statically typed language erg-lang/erg
No shortage of options, e.g. Dg, Mochi, Coconut, and Hebigo (based on Hissp[1]).
[1]: https://github.com/gilch/hissp
-
Other than having a wider range of libraries and beingthus being more "general purpose" and "practical" is there anything that makes Python an intrinsically better programming language than Lisp?
If you want Lisp metaprogramming plus Python ecosystem, check out Hissp
- Lisp.py
-
What are some amazing, great python external modules, libraries to explore?
Hissp is really interesting. Read through the docs and you'll understand Python more deeply. It works well with Toolz and Pyrsistent.
- Why Hy?
clojure
-
Which Lisp? Beginner
Oversimplifying, there are three big variants: Common Lisp, Scheme, Clojure. Each of them has a lot of somewhat similar implementations:
* Clojure: A lot of support for immutable data. It runs in the JVM so you will have a lot of the libraries you are use to. Probably the best option for you. https://clojure.org/
* Scheme, in particular Racket: Mostly functional, and in particular Racket has a lot of support to make your own variant. This is the option I prefer but I have to disclaim it's a biased recommendation. https://racket-lang.org/
* Common Lisp: I heard a lot of good things about SBCL, in particular to add anotations to make the code faster https://www.sbcl.org/
> why this language is so special
Macros, everyone use macros, too many at the beginning, but a few where they are really necessary later.
#lang racket
-
Create a Server Driven CLI from your REST API
Another project of mine Bob can be seen as an example of spec-first design. All its tooling follow that idea and its CLI inspired Climate. A lot of Bob uses Clojure a language that I cherish and who's ideas make me think better in every other place too.
- Clojure for the Brave and True
- Vamos falar sobre programação funcional? Uma abordagem diferente para resolver problemas.
-
Glojure: Clojure interpreter hosted on Go, with extensible interop support
Glojure author here! Your analysis is spot-on :). I'll definitely take a look at clojure.core-test. As components mature, I focus on improving compatibility by porting tests from Clojure [0], but they often require modifications to accommodate differences in the host language. As you noted, there are still several fundamental features missing — most notably some core data structures. That said, the implementation is robust enough to support another non-trivial hobby project [1].
A bit more detail on some of your observations:
> No JIT or AOT compilation (right now).
I do plan to implement AOT compilation eventually. JIT, however, is more complex. Go's "plugin" standard library [2] could serve as a mechanism, but its support is limited and not without issues [3].
> it looks like the analysis could be largely a port of tools.analyzer
Exactly! Another key implementation strategy has been the handling of clojure.core. Instead of reimplementing everything from scratch, the Clojure 1.11 core libraries are programmatically transformed to work with Go [4]. However, this approach has its downsides — many functions appear to be available but are non-functional because parts of their implementation haven't yet been adapted.
And by the way, impressive progress on Jank! I've been following it closely and really admire the work you're doing.
[0] https://github.com/clojure/clojure/tree/master/test/clojure/...
-
Scheming About Clojure
Clojure is a LISP for the Java Virtual Machine (JVM). As a schemer, I wondered if I should give Clojure a go professionally. After all, I enjoy Rich Hickey's talks and even Uncle Bob is a Clojure fan. So I considered strength and weaknesses from my point of view:
-
Top FP technologies
Clojure
- Debugging a memory leak in a Clojure service
-
Clojure 1.12.0 is now available
Here's what I mean by Malli's inability to check macros.
https://github.com/clojure/clojure/blob/ad54fec/src/jvm/cloj...
clojure.spec has a privileged spot in the compiler so that it can validate the data in macros. No other library can do this, because the Clojure compiler directly calls into clojure.spec and does not expose any sort of hook for validating macros.
- Try Clojure
What are some alternatives?
hy - A dialect of Lisp that's embedded in Python
racket - The Racket repository
phel-lang - Phel is a functional programming language that transpiles to PHP. A Lisp dialect inspired by Clojure and Janet.
trufflesqueak - A Squeak/Smalltalk VM and Polyglot Programming Environment for the GraalVM.
hy-lisp-python - examples for my book "A Lisp Programmer Living in Python-Land: The Hy Programming Language"
nbb - Scripting in Clojure on Node.js using SCI