Mission statement

I think rebol's human language power comes not necessarily from its syntax, which is more functional in style than English-like:

head remove back tail insert head copy blk last blk

I think the language power comes from the ability to create your own dialects, little declarative mini-languages or markup languages which can be about as English-like as you want.

Rebol's syntax is pleasant in that it's clean and removes most symbols/punctuation, but I don't think it's a significant selling-point either way. People who are willing to write code are typically able to overcome syntax challenges. I still can't believe how popular regular expressions are.

1 Like

Let's definitely not say (or think) that!

Absolutely.

Yep.

I don't know if I'd say "English", so much as I'd say that the goal is to build upon the language-making centers we already have in our head. I believe extending the power of infix expressions has done a lot for this.


My statement has been The Minecraft of Programming. To break that down into facets:

  • It must be Fun. DocKimbel also included slides in the "What is Red" presentation emphasizing this (a picture of an old Atari BASIC cartridge, and SpongeBob holding the letters F-U-N). He said "We want the fun back, that feeling from the 80s."...but I think of Red as being too willing to carry forward the WAT of older Rebol, as well as adding more of it. It's hard for me to have fun with a system that doesn't follow invariants...it simply feels too "cheap".

  • The mechanic should be Easy to Grasp. People need to be able to get a very visceral feeling of the evaluator, really early on. I've focused a lot on composability, so you don't get surprising results by combining things. Truly having an easy to grasp system isn't going to happen until there's more progress on the debugger (ideally even a Time-Traveling Debugger).

  • It should have strong elements of Personalization. (See also Back to "Personal Computing") While other languages are about declaring functions, Rebol is about declaring languages. With Rebol you shouldn't be afraid to make a language even as a one-off...to solve one problem you had, in one day.

On the technical side of things:

  • The only prerequisite for building is an ANSI C Compiler from 1989 (more or less, but mostly enough that you can still say that). People who've read the the K&R C book and can make it through the comments should be able to understand the interpreter. This is not just a "technical stunt" but a heuristic guideline for helping curb complexity and look for more grounded ways of solving problems.

  • The only prerequisite for running the EXE is What came with your OS.


So as a mission statement I might say something more approximating the lines of:

The Easy-To-Grasp Personalizable System for Writing Concise Programs in Languages that You Specify

1 Like

So how's that different from forth which is classically the dialect making language?

Clearly many goals are the same. Forth is older and its mechanics somewhat simpler and better hammered through than Rebol2/R3-Alpha.

But I believe that relatively speaking, Forth is illegible. And I think many of the real differentiating advantages over Forth are factors that have been advanced and refined in Ren-C, which has the hope of bringing in some rigor as well.

I can confirm from my (very recent) experiences with Forth that it is definitely a pain to program in.

3 Likes