Mission statement

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