pymen | lumen | |
---|---|---|
4 | 10 | |
12 | 532 | |
- | - | |
0.0 | 0.0 | |
12 months ago | over 1 year ago | |
JavaScript | JavaScript | |
BSD 2-clause "Simplified" License | BSD 2-clause "Simplified" 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.
pymen
-
Pyffi – Use Python from Racket
Neat! Nicely done.
fwiw, I wrote a Lisp in Python whose sexprs ended up looking similar: https://github.com/shawwn/pymen
That’s the runtime for it, which is self hosted, so it supports that dot syntax but doesn’t actually use it in its own code. (If you add a new feature like dot syntax to a self hosted lisp, then you start using the feature, and later decide it was a bad idea, it becomes incredibly difficult to revert — So the compiler sticks to a minimal subset.
But it can run code almost exactly as you’ve written, minus the backslashes. It also has:
(for x in (list 1 2 3 4)
- The most misunderstood aspect of Python
-
Can continuation passing style code perform well?
Glad you asked. Like this: https://github.com/shawwn/pymen/blob/68b66dccc96910869ab370d...
(=defun choose-bind-test ()
lumen
- Lumen: A Lisp for Lua and JavaScript
-
Gerbil Scheme – A Lisp for the 21st Century
I agree! That’s actually not a jeer, it’s one of my main criticisms of lisp. You don’t need lists to have lisp. In many respects it works better without them; https://github.com/sctb/lumen proves it, since hash tables and arrays are the fundamental data structure. They have to be, because that’s the only way lumen can run in JS or Lua.
Every time I can’t delete the first element of a list in lisp (I.e. del x[0] in the python sense) I get annoyed with racket.
The reason I look past it is because the benefits are so good that they outweigh the annoyances. I wouldn’t trade it away.
-
Show HN: Dak – a Lisp like language that transpiles to JavaScript
Where h is the raw function for hyperapp, not a macro.
I'd intended to develop my own mini-lisp with the same syntax, but got sidetracked by other projects. Maybe someday I'll get back to it. (Currently, I'm deep in the weeds trying to learn how to write a dependent typed language that compiles to javascript.)
[0]: https://github.com/sctb/lumen
-
“There Is No List”
It wasn’t my idea, too. It was Scott Bell’s. I’m not sure if he thought of it or got it from somewhere else, but it’s shockingly effective.
If you want to try it out for yourself, give Lumen a spin: https://github.com/sctb/lumen
-
The project with a single 11,000-line code file
> What do you develop with Arc usually?
I try to use Arc for as much as possible. We wrote our TPU monitoring software in it: http://tensorfork.com/tpus
Eventually I became frustrated with Racket's FFI. So I eventually made my own arclike language called elflang: https://github.com/elflang/elf
... which itself is a fork of Lumen (https://github.com/sctb/lumen) by Scott Bell.
The performance is good enough to run a minecraft-style game engine: https://i.imgur.com/iyr0YrB.png which was satisfying.
Nowadays I've been trying to implement Bel, mostly for the challenge of it than for any practical reason.
> I like how the "html" and "css" part was embedded in that "news.arc" file. Do you think that VIM script will highlight and lint the "css" part of an "arc" file?
Nope. https://i.imgur.com/o9aUG6j.png
But it has one very important feature: it can properly highlight atstrings: https://i.imgur.com/wO4f742.png
It's probably hard to tell, but the "@(hexrep border-color*)" would normally be highlighted as if it were a string. Arc has a feature called atstrings, where you can use @foo to reference the enclosing variable "foo". It can also call functions, e.g. "The value of 1 plus 2 is @(+ 1 2)" will become "The value of 1 plus 2 is 3".
- Lumen – self-hosted Lisp for Lua and JavaScript
-
The most misunderstood aspect of Python
Not mine! That was all Scott Bell. It's forked from Lumen: https://github.com/sctb/lumen
But, I did make an interactive tutorial here: https://docs.ycombinator.lol/
If you have any questions about it, I'd be happy to answer. This stuff is pure fun mixed with a shot of professionalism.
For what it's worth, as someone with narcolepsy, I relate quite a lot to your chronic pain. (https://twitter.com/theshawwn/status/1392213804684038150) For me, it mostly translated into wandering aimlessly from job to job, since I thought no one would have me. I hope that you find your way -- there's nothing wrong at all with taking it slow and spending years on something that takes others a few months. Everyone is different, and it's all about the fun.
-
Julia and the Incarceration of Lisp
You could go the opposite route, and run Lisp in your favorite language. Here's a Lisp in JavaScript and Lua: https://github.com/sctb/lumen
Integration is easy because there's no integration. You can just call whatever functions you'd normally call.
- Lumen, a Lisp for Lua and JavaScript
-
Just Wanted to Say Thanks
Not at all. I've been thanking Scott for making lumen every thanksgiving for several years now. https://github.com/sctb/lumen
I just close the issue immediately after opening it. :)
What are some alternatives?
stack-overflow-import - Import arbitrary code from Stack Overflow as Python modules.
Tailwind CSS - A utility-first CSS framework for rapid UI development.
koka - Koka language compiler and interpreter
femtolisp - a lightweight, robust, scheme-like lisp implementation
wasm-effect-handlers - WebAssembly specification, reference interpreter, and test suite with effect handlers extension.
awesome-lisp-companies - Awesome Lisp Companies
python - An interface to Python for Gambit Scheme
uncap - Map Caps Lock to Escape or any key to any key
libpython-clj-examples - Examples using libpython-clj
sata-license - The Star And Thank Author License(SATA License)
stm8ef - STM8 eForth - a user friendly Forth for simple µCs with docs