lumen
hyperapp
lumen | hyperapp | |
---|---|---|
10 | 18 | |
532 | 19,023 | |
- | - | |
0.0 | 2.9 | |
over 1 year ago | 4 months ago | |
JavaScript | JavaScript | |
BSD 2-clause "Simplified" License | 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.
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. :)
hyperapp
-
VanJS (Vanilla JavaScript): smallest reactive UI framework
Please check out https://github.com/jorgebucaran/hyperapp
- Show HN: Dak – a Lisp like language that transpiles to JavaScript
-
Espresso.js – minimal React alternative – is now a decade old
The likely reason it never caught on, is that it has similar pitfalls as Backbone:
- manually attaching DOM elements to view controllers
- manually attaching child views
- models which have to be wired individually via .listenTo
- possibility of infinite loops if the events accidentally recurse
A better tiny alternative would be hyperapp[1] or even Preact, that has a similar bundle size.
[1] https://github.com/jorgebucaran/hyperapp
-
How hard is it to get a Mid FE position without any commercial framework experience?
If they're focused on performance and bundle size, it's your chance to try some minimalistic exotic stuff like hyperapp (https://github.com/jorgebucaran/hyperapp) or mithril (https://mithril.js.org/) Just for fun
-
AlpineJS
With a bit of a deadline (due to a mixture of procrastination and confidence that Vue would work) I needed something quick. I have also used Hyperapp in the past but that looks like a dead project right now (although arguably it has all the functionality you need so why keep developing it?).
-
What I learned working with a senior engineer as a new grad
I’m glad it left that impression! My thoughts have clarified a bit since I read that post, and I think what I describe is more declarative, like React. But the best places to read about it (for web devs) are in Elm!
There is also this new thing I found that seems to really lean into the core of what being functional means here: https://github.com/jorgebucaran/hyperapp
After a while, you see that basically all systems can be modeled as event-driven, functional systems. It’s a flexible model, and fits beautiful into web dev where the semantics are very clear: the system is the web app and events are clicks, keyboard events, asynchronous calls...
-
Best JS library/bundler combo for ABSOLUTE MINIMUM production build size possible
Hyperapp is 1kb.
-
What's your favorite frontend framework?
- Hyperapp (https://github.com/jorgebucaran/hyperapp) - Preact - Svelte - React / Vue
-
Divergent States in a "Single Source of Truth" Framework
I'll tell you what I've learnt from struggling with a bug that made me lose a couple of weeks. The application framework used in this post is Hyperapp, but I guess the same problem can be found in frameworks based on transforming the state of "Single Source of Truth" with pure functions (such as Elm, Redux, so on) if we use them in a wrong way.
-
Popular 'coa' NPM library hijacked to steal user passwords
Personally, I try my best to avoid bringing in dependencies as much as possible, and try to limit my exposure to only dependencies with low/shallow transitive dependency counts. Unfortunately, this is pretty hard, especially in corporate settings. What we need more of are the opposite of what we've been collectively praising: we need more monolithic packages. Case in point: lodash.template is currently vulnerable with no mitigation, even though lodash itself is not. That's just sloppy publishing practices. Esbuild is a great start over the webpack/babel maze of dependencies. There's a stdlib effort along those lines that hopefully would also help. There's a bunch of micro-frameworks that are used in production just fine and have little to no dependencies.
What are some alternatives?
Tailwind CSS - A utility-first CSS framework for rapid UI development.
Preact - ⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.
femtolisp - a lightweight, robust, scheme-like lisp implementation
tape - tap-producing test harness for node and browsers
awesome-lisp-companies - Awesome Lisp Companies
DalekJS - [unmaintained] DalekJS Base framework
uncap - Map Caps Lock to Escape or any key to any key
riot - Simple and elegant component-based UI library
sata-license - The Star And Thank Author License(SATA License)
solid - A declarative, efficient, and flexible JavaScript library for building user interfaces. [Moved to: https://github.com/solidui/solid]
stack-overflow-import - Import arbitrary code from Stack Overflow as Python modules.
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.