Arch-TK

I saw Node-RED recently, and now this. While I think these are cool (and I would rather Erlang than NodeJS), is there some code based system for these kinds of things?

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.

show comments
oersted

> Node-RED is a amazing[*] tool for creating flows that describe concurrent processing, it is just a shame the NodeJS is single threaded. So why not use something that is multi-process from the ground up?

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?

show comments
concerndc1tizen

I've been interested in this for years.

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?

show comments
tzarko

This is neat - maybe move the example section higher up; it looks great and gives a much better idea of what the system looks like visually, which to me is key in node-based envs.

show comments
bn-l

Can someone recommend an Erlang course / book?

show comments
thinkyfish

I was just thinking of making something like this last night but using FLENG instead of Erlang ;) I'm really glad more people are taking inspiration from Node-RED, I will definitely be playing with this!

show comments
aantix

I would move your sample images to the top of the README.

Don't bury the lede.

fnord77

for a visual environment, I was expecting more images to show me what this tool is

show comments
nisten

the hivemind thinks alike

mystraline

I was an early adopter of NodeRed. Earlier, it worked exceptionally well.

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.

show comments
pjmlp

I am a big fan of visual programming, and also think visual and digital circuit design tools overlap quite nicely with functional programming languages.

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.

show comments
paddy_m

Nice work! A couple of comments

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.

show comments
smartmic

> No Artificial Intelligence was harmed in the creation of this codebase. This codebase is old skool search engine (ddg), stackoverflow, blog posts and RTFM technology.

Good. To me, that also means that no human intelligence was degraded as a result. It sounds like a quality badge.

js4ever

Congratulations for the launch! Also I never heard of that license before:

"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

show comments