←back to thread

145 points tomhee | 1 comments | | HN request time: 0.207s | source

Hi! I've been working on the flipjump project, a programming language with 1 opcode: flip (invert) a bit, then jump (unconditionally). So a bit-flip followed by more bit-flips. It's effectively a bunch of NOT gates. This language, as poor as it sounds, is RICH.

Today I completed my compiler from C to FlipJump. It takes C files, and compiles them into flipjump. I finished testing it all today, and it works! My key interest in this project is to stretch what we know of computing and to prove that anything can be done even with minimal power.

I appreciate you reading my announcement, and be happy to answer questions.

More links:

- The flipjump language: https://github.com/tomhea/flip-jump https://esolangs.org/wiki/FlipJump

- c2fj python package https://pypi.org/project/c2fj/

Show context
tromp ◴[] No.42743108[source]
Am I right in deducing that this language gets its power from self-modifying code? I.e. flipping bits within addresses of the opcodes of the running program?
replies(1): >>42743251 #
tomhee ◴[] No.42743251[source]
You are indeed right
replies(1): >>42743362 #
tromp ◴[] No.42743362[source]
I would have expected the language documentation to focus more on this observation and to explain for instance how self modification is used to implement while loops. But I don't even see the term mentioned anywhere?!
replies(2): >>42743413 #>>42754810 #
int_19h ◴[] No.42754810[source]
This was actually a not uncommon approach to implementing loops in earliest mainfraims.
replies(1): >>42759511 #
1. tomhee ◴[] No.42759511[source]
Do you have any article that I can read about it? Sounds interesting!