Reviving the Rebmu Dialect

Rebmu was conceived as something of a puzzle, but not entirely a joke. My futurist mindset is that code golf will be a growing recreational domain with time...played by humans and AI alike. And I've identified code golf as one of the key target domains for the Ren-C project, in its "Minecraft of Programming" objectives.

My intuition is that a truly good code golf language would wind up being useful in other ways; as some sort of compressed bytecode platform.

But I wouldn't be all that bothered if it didn't have great utility...and it was just truly fun, generating a corpus of work comparable to the circuitry that people have been putting together on the Game of Life Wiki.

Rebmu Needs To Be Brought Up To Date

I haven't run any of the samples in quite a long time. So they're in a broken state. I've said that if Rebmu and its puzzles were added as Travis CI tests, they would probably provide particularly good checks of pathological codebases. (As much of a headache as it is to debug such things, it's worth it in the end.)

  • I'm looking forward to taking better advantage of the function deriving mechanisms to make the definition of Rebmu itself easier. apd: :append/dup to specialize append is a lot easier than what had to happen before.

  • Need to take advantage of ISSUE! replacing CHAR!...not only do character literals shorten from #"a" to #a for those not needing delimiters, but the non-spacing character of #abc in print gives a way to tighten up formatted output.

  • The landscape of names needs a rethink, as things like E could mean ELSE now, which is generic and powerful.

  • Mushing has to be rethought for new constructs like predicates, as things like until .not [...] will be very useful.

  • IO always presented a problem, simply because we didn't know how functions like PRINT should actually work. (I've lamented that we're still trying to figure out how to write "Hello World"). These things are better understood now, and we're a tiny bit farther on things like the ASK dialect

What has historically happened when I've gone and tried to poke at Rebmu is that it just draws my attention to some issue or feature in the interpreter, so I wander off and lose momentum. But it's probably time to bite the bullet and get it knocked into enough shape...and then add puzzles to it on Travis gradually.

1 Like

I just recently learned about Rebol and ReMU, and I'd be glad to help with development(if you are accepting contributors).

3 Likes

It would be fantastic if someone else besides me wanted to work on it.

One prerequisite to start is getting a Ren-C built on your system--because that's what Rebmu will target to run in. I'm sorry that we don't provide prebuilt packages, but the plus side is that anyone who works with it has the means to fix things:

https://github.com/metaeducation/ren-c

Learning Rebol lore with a stable Rebol2 is a good starting place for general ideas (especially while I attack a bit of an update to get Rebmu working against the current interpreter.) But there's a universe of difference in Ren-C...especially in the areas which would be applied to code golf. So bear that in mind.

I'll try and slot some time to get a baseline Rebmu working this week.