vogon

the evil "Website Boy"

member of @staff, lapsed linguist and drummer, electronics hobbyist

zip's bf

no supervisor but ludd means the threads any good


twitter (inactive)
twitter.com/vogon
bluesky
if bluesky has a million haters I am one of them, if bluesky has one hater that's me, if bluesky has no haters then I am no more on the earth (more details: https://cohost.org/vogon/post/1845751-bonus-pure-speculati)
irl
seattle, WA

my first instinct was to say "this is just malbolge" but I think you can do better than this -- while the mapping between source code and operations in malbolge is an absolute nightmare, it's the same nightmare every time for the same input program

taking this idea at face value, this is easy to sketch out the fundamentals of: randomly reshuffle the meanings of operators and/or function calls at every compilation, and if compilation fails or program execution crashes, delete the object code and source code.

choosing constraints on the first half to make it "fun", though, is an interesting problem. e.g. you would probably only want to shuffle operations within a given arity, to prevent failure states stemming from unbound arguments, and create a hierarchy of "dangerousness" on operations to allow the program to get its bearings and reset itself to a known state after a brief exploratory period before beginning its execution proper.


You must log in to comment.

in reply to @vogon's post:

for the permadeath part, you have invented a repl

more specifically, 'writing code in ipython like its an IDE, with every possible unstable magic like %autoreload'

but! because of how nice python is, you can also randomize the builtins and standard library, fully realizing the shitpost

The closest thing I can think of on the permadeath side is Suicide Linux.

I think a more interesting variant would be to have it so that only one builtin is changed when you make mistake, but you don't know which one, and certain builtins are boobytrapped to end the whole session.

I think Ruby would be a good playground for something like this, since it allows you to actually inspect code pretty deeply.