Our great sponsors
hy | Fennel | |
---|---|---|
51 | 90 | |
4,747 | 2,273 | |
0.7% | - | |
9.0 | 9.1 | |
7 days ago | 17 days ago | |
Python | Fennel | |
GNU General Public License v3.0 or later | 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.
hy
-
How to Write a (Lisp) Interpreter (In Python)
Not exactly the same (doesn't embed into the source like this did), but I believe Hylang[0] is the best Lisp package available for modern Python.
-
Sapling: A highly experimental vi-inspired editor where you edit code, not text
Isn't that a bit what hy (https://hylang.org/) tries to do ? AIUI it is a lisp interacting directly with the AST of Python, allowing seamless interop: Python modules can be used from hy and vice versa, everything is transparent.
-
Hissp
I’ve been keeping loose tabs on this and Hy[1] for a while, but I’ve had some trouble figuring out the major differences between them and the use-cases for either. Would love to see an in-depth comparison in the form of a blog post sometime (though maybe the answer here is to do the research and write one up myself).
-
Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?
“Python is for scientists. Lisp is for engineers.”
Then what does that make Hy language?
Re Languages with lots of example code and LLM’s
With translators or things like Hy lang, one could get the LLM’s to solve your problem in Python before converting it to another form. Then, you just need a translator. If lacking one, it’s easy to translate by hand.
The practicality of this concept will probably vary by use case. My experiments had GPT doing sketching, implementations, boilerplate, and even porting Python to Rust. A legally-clear LLM trained on multiple languages could probably be fine-tuned to do Python to LISP conversions. If not, Hy might be a stepping stone, too.
-
Sharing Saturday #469
One of the funny things about Hy is that it's a Lisp for Python, and so one of its primary selling points is that it provides a macro system for Python, but Python is so dynamic that things that would require macros in many other languages can be done entirely at run-time. For example, I define all my monster, scenery, and item types with (defitem …), which could look like a macro call to the casual reader, but is actually just a function call with keyword arguments. One way Hy makes this kind of call more convenient than Python does is that it allows multi-statement anonymous functions, so you don't have to predefine all your callbacks. Here, for example, you can see the method definition for hook-player-walked-into for exits embedded right in the call to deftile.
You could say so: I've been maintaining the compiler since 2016 ;). Infinitesimal Quest 2 + ε (SQ) exists more to advance Hy than for its own sake.
-
Best implementation of CL for learning purposes
If you are using Python - you might find Hylang (https://hylang.org) interesting.
-
I'm considering moving from Clojure to Common Lisp
Have you had a look at https://hylang.org/ ?
-
Ask HN: What's the best Lisp for a Python hobbyist looking to learn?
A good starting point might be Hy [0]. Its claim to fame is being a LISP embedded in Python.
-
Elixir for Humans Who Know Python
I don't think it's nonsensical to use less popular/exotic languages. I prefer to write code in languages that I like to write in, as long as it's a good enough tool for the job.
The real problem with them is that while you and I might be interested in functional languages, our coworkers/managers aren't and we have to stick with the languages we might not find as immediately exciting, like python.
Side node, python has Hy (https://hylang.org), which is essentially a lisp implementation that compiles to Python's AST. The entire python ecosystem and stdlib is available to Hy, so it's as batteries included as python is. It's a blast to use, but similarly I wouldn't expect my job to be excited about it.
Fennel
-
Pluto, a Modern Lua Dialect
Eh it's not just luajit and luajit didn't create that problem either. It's a symptom of lua actually succeeding at its design goal of being easily embedded as an extension language. A significant number of incompatible runtimes are more popular than the most recent puc lua, including I believe the older official lua 5.2 released in 2011.
I've done a fair bit of professional lua development and I don't think I've ever written standalone up-to-date puc lua except maybe for some tooling & scripts. It's such a small language and used in such a way that the runtime, distribution method, and available APIs have much more impact on your use (and compatibility) than the version.
Virtually everyone shipping a lua environment is also shipping changes to it that make it a unique target, if only extensions to the standard library. This is why I think syntax layer-only approach like fennel's is the correct choice for improving on lua. It mirrors lua's runtime semantics exactly, and allows you to access the implementation peculiars on their own terms and so can just be run on time of any lua system.
-
LÖVE: a framework to make 2D games in Lua
Just learned about https://fennel-lang.org/ , could have probably used that as well to avoid Lua.
May be used with Fennel if you prefer a more lisp-alike programming language.
-
The Bipolar Lisp Programmer
> I’m positive that there is a Lispy language out there (actually in existence, or the aether) that is appropriate for embedded work, but the constraints of the target make it difficult to envision.
Perhaps Fennel* fits the bill?
-
The Future of the Vim Project
I've also seen neovim plugins written in fennel [0], so if you want something lispy, that's possible now.
[0]: a Lisp that compiles to Lua, https://github.com/bakpakin/Fennel
- Qual a linguagem que vocês mais gostam de programar?
-
TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
Something similar: Fennel (https://fennel-lang.org/) is a lisp that compiles into Lua, which nvim can use as plugins, so you can write nvim plugins in a lisp. Aniseed (https://github.com/Olical/aniseed) makes this really easy.
-
Announcing automation-service: write and schedule home automation scripts in Lua
If you want a more FP language on the Lua runtime, you might be interested in Fennel. I wrote a post about adding Fennel compiler to a hslua interpreter a while back, which might be useful for you.
- 916 Days of Emacs
-
What's your opinion on Lua programming language?
There's fennel if you're a fan of LISP syntax. I like embedding lua because it's light and easy and doesn't re-engineer itself every six months like python; but I agree, the lua syntax certainly is fugly.
What are some alternatives?
janet - A dynamic language and bytecode vm
hissp - It's Python with a Lissp.
urn - Yet another Lisp variant which compiles to Lua
nvim-lspconfig - Quickstart configs for Nvim LSP
Lua-RTOS-ESP32 - Lua RTOS for ESP32
lua-languages - Languages that compile to Lua
webassembly-lua - Write and compile WebAssembly code with Lua
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
Carp - A statically typed lisp, without a GC, for real-time applications.
awesome-lisp-companies - Awesome Lisp Companies
babashka - Native, fast starting Clojure interpreter for scripting
kaboom.js - 💥 JavaScript game library