Red Programming Language

62 hotpocket777 20 5/20/2025, 6:14:02 PM red-lang.org ↗

Comments (20)

kstrauser · 2h ago
This is a successor to REBOL[0], designed by Carl Sassenrath[1] who designed the Amiga kernel.

I've looked it a few times over the years. It's neat. I've never written a single line of it, though.

[0]https://en.wikipedia.org/wiki/Rebol

[1]https://en.wikipedia.org/wiki/Carl_Sassenrath

gt0 · 46m ago
I wrote a small app in REBOL once, just too automate some stuff for some managers in a job about 20 years ago. It's quite nice, but I don't think I'd want to write anything significant with it.
kbelder · 1h ago
I used it once to build a simple web scraper and image downloader, and it worked really great for that. It was right in the wheelhouse for the language. (That was REBOL, not RED, and many years ago.) Honestly I'd just do it in Python, now, even though it's not as interesting.
dev_l1x_be · 1h ago
"In 1988, Sassenrath left Silicon Valley for the mountains of Ukiah valley, 2 hours north of San Francisco. From there he founded multimedia technology companies such as Pantaray, American Multimedia, and VideoStream. He also implemented the Logo programming language for the Amiga, managed the software OS development for CDTV, one of the first CD-ROM TV set-top boxes, and wrote the OS for Viscorp Ed, one of the first Internet TV set-top boxes."

What a legend!

kstrauser · 1h ago
Right? And I think that's what keeps bringing me back to REBOL, and thus Red. They don't appeal to me on the face of them. Like, the code examples look interesting but in a "magical" kind of way that strikes a little bit of fear into my engineering heart. But with that kind of pedigree, I can't dismiss the ideas. If Sassenrath came up with it, I bet there's a kernel of awesomeness inside.
justin66 · 2h ago
I figured they were cooked when they started doing weird cryptocurrency-related stuff. I really hope they get to their 1.0 release someday.
7thaccount · 2h ago
Same. I was regularly following it until they started talking about an ICO and began focusing too much on making a dialect for block chain stuff.

The idea between having the red system language, regular scripting language, cross platform gui, and native executables was really cool though. I remember being interested back in ~2015, so my question is...what's going on as it's been a decade. I know the project is crazy ambitious of course, but how close are we to where this is at a stage where most would consider it production worthy.

troupo · 1h ago
IIRC think their original roadmap had 1.0 around 2020. And that was going to include everything, including async written from scratch in a language where nothing was made for async.

Then the roadmap slipped, and then never mentioned again.

But I haven't looked at the language or discussions around it for a long while now.

Edit: found some old discussion here. In 2018 they were at version 0.6.4 https://news.ycombinator.com/item?id=18864840

In 2025 they are at version 0.6.6: https://github.com/red/red/releases

ttoinou · 1h ago
This is like the only programming language I could never learn. I just don't understand anything and I can't build any mental model of what's going on behind the hood
TOGoS · 1h ago
I wrote a paper on REBOL back in college. It is very interesting, but the syntax is definitely weird. You might think of the function call syntax as being sort of Forth-like, but with the tokens in reverse order. So like a Lisp, but without required parentheses. e.g. in the example

  send friend@rebol.com read http://www.cnn.com
`read` knows that it takes one argument, and `send` knows that it takes two, so this ends up being grouped like

  (send friend@rebol.com (read http://www.cnn.com))
(which I think is valid syntax; that AST node is called a 'paren').

Weirdly, the language also has some infix operators, which seem a bit out-of-place to me. I have no idea how the 'parser'[1] works.

[1] 'parsing' happens so late that it feels funny to call it that. The thing that knows how to treat an array as a representation of an evaluatable expression and evaluate it.

dmitrygr · 35m ago
>This is like the only programming language I could never learn.

Wait till you hear of Urbit and see this: https://developers.urbit.org/overview/nock

almostgotcaught · 1h ago
it's lisp with square braces instead of parens (and then a whole bunch of other random things like a gui library in the standard library?)
timbit42 · 1h ago
It's actually more like Logo, which is Lisp with square brackets instead of parens and fixed arity.

Sassenrath wrote Amiga Logo before starting REBOL.

TOGoS · 1h ago
The square brackets aren't really analogous to Lisp's parentheses; REBOL / RED use parentheses for the same purpose, if you need them. The square brackets are more like square brackets in Factor or Joy; they are 'quotations' around a list of words (or other syntactic structures; basically they make a list that is not evaluated immediately).
croemer · 1h ago
The website looks like 2013 and much of the content is as well. There's a GitHub repo that I couldn't find from the website: https://github.com/red/red
worldsayshi · 57m ago
The repo seems to be alive and kicking.
zerealshadowban · 23m ago
ah, this is not about the Red Language that Intermetrics designed in 1977-79 to satisfy the Steelman requirements of the DoD's High Order Language Working Group... (the Green Language won and became known as Ada).

I thought maybe someone had put the DoD's Red language spec online.

And yes, someone has: https://iment.com/maida/computer/redref/

niek_pas · 1h ago
I haven’t looked at this in detail, but it seems they confuse “human-friendly syntax” with “absence of (<[{“.
ConanRus · 2h ago
32 bit only
38 · 25m ago
red was terrible in 2018:

https://github.com/red/red/issues/3412

and its terrible now - just tried the example in that issue, and its even worse now, 48 seconds to compile hello world, no thanks.