by Towaway69 on 5/16/25, 2:54 PM with 102 comments
Erlang-RED has been my project for the last couple of months and I would love to get some feedback from the HN community.
The idea is to take advantage of Erlangs message passing and low overhead processes to have true concurrency in Node-RED flows. Plus also to bring low-code visual flow-based programming to Erlang.
by Arch-TK on 5/16/25, 4:10 PM
I know I can just write code, but I mean a DSL or some library specifically oriented around solving exactly these kinds of event driven sequencing/action problems.
by oersted on 5/16/25, 5:17 PM
That's great! But now that we are doing this, it kind of makes me wish that it was not multi-processing and Erlang, but a more mainstream language with a better library ecosystem and focused on multi-threading instead, Rust comes to mind but there could be a better one.
Is there a visual flow programming language based on Rust that is relatively mature?
by thinkyfish on 5/16/25, 3:25 PM
by concerndc1tizen on 5/16/25, 3:13 PM
Are there other similar projects that you're familiar with? Perhaps targeting other languages?
What are the major problems with this approach to programming? Are large programs hard to work with?
by tzarko on 5/16/25, 3:05 PM
by nilslindemann on 5/17/25, 7:30 PM
Please maintain a glossary.
by bn-l on 5/16/25, 3:40 PM
by aantix on 5/16/25, 7:12 PM
Don't bury the lede.
by fnord77 on 5/16/25, 6:31 PM
by nisten on 5/16/25, 3:52 PM
by mystraline on 5/16/25, 4:55 PM
Now? Not so much.
Well, that's not exactly true. Base NodeRed works as well as before. But the libraries of modules to interface with all sorts of websites, APIs, hardware, and other stuff is rotten to the core.
Most plugins/js modules either just don't work, or 'successfully fail'. The easier fail case is where the module can't be installed due to ancient (6mo or older JS, sigh) modules.
I abandoned NR because its basically a hyper-speed bitrot due to terrible library module versioning. And I didn't want to reinvent the wheel on every system I wanted to touch.
by pjmlp on 5/16/25, 4:15 PM
The mess most people complain about in visual languages, also happens on text ones, the biggest difference is that visual ones make it quite clear the code lacks modularity.
Get to package stuff into reusable ICs more often.
All the best for the project.
by smartmic on 5/16/25, 3:13 PM
Good. To me, that also means that no human intelligence was degraded as a result. It sounds like a quality badge.
by paddy_m on 5/16/25, 3:47 PM
1. You don't explain what flow based programming is or when it should be used. It looks like it represents some type of data pipeline, but I'm not sure.
2. Who is this repo for? PL enthusiasts, tool builders of type $X?
3. What are operators?
4. I understand that this is supposed to execute on an Erlang cluster/VM... Could you build a JS implementation of the functions so that you could build interactive demos in a browser? The lack of multithreading in JS doesn't rally matter, you just want to be able to send 10 line examples from one function to another.
5. A fun challenge for documenting projects like this, explain it as you would to a non-technical family member. It forces you to define the other things in erlang in a very direct and simple way.
6. Make a video explaining the project.
by js4ever on 5/16/25, 3:07 PM
"LICENSE - DON'T DO EVIL" https://github.com/gorenje/erlang-red?tab=License-1-ov-file#...
Also I recommend you to put screenshots higher in the readme and also provide real world use case instead of fully abstract examples