hebigo
TailRec.jl
Our great sponsors
hebigo | TailRec.jl | |
---|---|---|
21 | 3 | |
21 | 16 | |
- | - | |
1.9 | 0.0 | |
about 1 year ago | over 3 years ago | |
Python | Julia | |
Mozilla Public License 2.0 | GNU General Public License v3.0 or later |
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.
hebigo
-
What is the point of the if __name__ == "__main__":, i.e. why use a file as both script and module?
The Lissp transpiler incrementally compiles and executes each top-level form to Python. It needs to do this in case there's a macro definition that might affect the compilation of a subsequent form. If it's only executing definitions, this is harmless, but if you want to precompile the main module, it needs the guard, or the side effects will happen too.
-
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).
-
Want cleaner code? Use the rule of six
Python's lambdas can have as many lines as you want. Just wrap parens around it. Hissp uses this form as a compilation target. Its REPL shows the Python compilation. Play around with it til you get it: https://github.com/gilch/hissp
- What would be your “perfect” programming language?
- Kamby – A programming language based on Lisp that doesn't seems like Lisp
- Wisp: Whitespace to Lisp
-
Is ECMAScript really a dialect of Lisp?
The original Lisp's S-expression syntax was just supposed to be an intermediate language used by the compiler when processing the real language based on M-expressions, which kind of never took off. Numerous alternatives to S-expressions have been proposed, and some retain homoiconicity, another feature diagnostic of a Lisp (and one that ECMAScript lacks). For example, see Hebigo's readme, which shows a direct correspondence between its Python-like syntax and that of Hissp's default reader (Lissp), which uses the S-expressions. Julia can also be written in S-expressions, but this usually only used in macro definitions.
- Why Hy?
-
Land of Lisp
I think LoL is too CL-specific. If you know both languages first, you can pretty much translate, but since they'd be trying to learn Lisp in the first place, this is a bad idea.
On the other hand, [Hissp][1] has a pretty good tutorial for anyone coming from a Python background.
[1]: https://github.com/gilch/hissp
-
Interesting or distinctive lisps?
Hebigo: a whitespaceLisp isomorphic to Hissp that looks like Python.
TailRec.jl
What are some alternatives?
hy - A dialect of Lisp that's embedded in Python
Cython - The most widely used Python to C compiler
hy-lisp-python - examples for my book "A Lisp Programmer Living in Python-Land: The Hy Programming Language"
wenyan - 文言文編程語言 A programming language for the ancient Chinese.
slime - The Superior Lisp Interaction Mode for Emacs
OffsetArrays.jl - Fortran-like arrays with arbitrary, zero or negative starting indices.
smtfmt - An SMT-LIB formatter.
py2many - Transpiler of Python to many other languages
smart-imports - smart imports for Python
jax - Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.
StarWarsArrays.jl - Arrays indexed as the order of Star Wars movies