4 ms·
This interpreter was obviously not written by hand, the author has likely written a compiler from a sane language to malbolge and used it to obtain this result.
by Thomashuet 5y ago
This interpreter was obviously not written by hand, the author has likely written a compiler from a sane language to malbolge and used it to obtain this result.
It would be much more interesting to see the source for this compiler to malbolge or have an explanation of how it works.
- poizan42 5y agoA C compiler that can output Malbolge (among many other esolangs) can be found at https://github.com/shinh/elvm https://github.com/shinh/elvm - dunno if it has any relation to this work. Note that the Malbolge (or rather LMAO/HeLL) backend was added back in July 2019, so I'm not so sure about their claim that "It's as of 2020 and 2021, the most advanced, usable Malbolge program ever created."
- palaiologos 5y agoBasically, my toolchain is built on two separate projects. The first one is a low level assembler (that lays out code on instruction cycles, handles restoring things, etc.. - generally, very similar to how Malbolge works, except with the incredibly annoying parts such as manually encrypting the code or finding instruction cycles is), and the second one is a high level assembler. I used my existing project called asm2bf: https://github.com/kspalaiologos/asmbf https://github.com/kspalaiologos/asmbf (feel free to check it out), as a base for the high level assembler. And the original Lisp has been written in a tweaked version of it. Once I was done, I optimised the high level version, and then took the asm2bf compiler output and did a few optimisations manually on it (everything that my peephole optimisation didn't catch).
- deleted 5y ago[deleted]
- AndrewDucker 5y agoDoes the "bf" stand "brainfuck", that being another ridiculously hard language?
- palaiologos 5y agoyes!
- AndrewDucker 5y agoI am impressed - are you working your way through a list of Turing tarpits?
- palaiologos 5y ago... maybe :). A while ago I published a writeup on programming in the Seed language (https://esolangs.org/wiki/Seed https://esolangs.org/wiki/Seed) and made the best Mersenne Twister cracking program to date (which is described, alongside source code on my website: https://palaiologos.rocks/posts/mersenne-twister/ https://palaiologos.rocks/posts/mersenne-twister/). It gained somewhat widespread popularity in esoteric-ish circles, but after I posted the writeup and revealed the source code I wrote, everyone seemed to have stopped caring. Which is mainly why I'll never reveal how my Malbolge tooling exactly works - uncertainity is stronger than reason. Maybe because of the mindset people have that "if an explanation is published, it must be simple" paired together with "it's incredibly long and boring, so i'm not going to read it". And indeed, there existed a small bug in my generator code, which was discovered after 1.5 years, because that's how long it took for someone to try reading and understanding the entire blog post...
- AndrewDucker 5y agoSeed is a new one to me. That is even more ridiculous than Befunge itself! Very impressive work.