Follow

Was re-reading, the _Story of Mel_ the Real Programmer (catb.org/jargon/html/story-of-) and saw the line —

“If a program can't rewrite its own code”,
he (mel) asked, “what good is it?”

And was reminded of the optization critique of _uxn_. @neauoire can you share a reference to that argument against code that can do self-alteration and the technical description a friend of yours gave?

@furiousgreencloud ah yes, so I'm not sure I can explain it clearly, but from what I understand, if uxn wasn't self-modifying, it could be translated to llvm ir, which is a spec that maps to modern processors. Maybe @wim_v12e can help explain this better.

@neauoire @furiousgreencloud In short, it is not impossible but self-modifying code will always be slower because it needs JIT compilation.

I wrote a longer answer but with the character limit it would be a 4-post thread, let me know if you are interested.

@wim_v12e @neauoire it might be useful to record why the uxn was not used for the web assembly. I’m not really up on web assembly, but uxn in browser with less layers of translation (than for example the ocra port) would be rad.

@furiousgreencloud @wim_v12e Oh I think you're mixing up the conversation with the wasm mailing list and uxn.

Uxn can run in the browser: metasyn.github.io/learn-uxn/

@furiousgreencloud @neauoire Basically, if some emulated architecture doesn't allow self-modifying code, it is trivial to translate/compile it to host's machine code once and be done with it. However, if self-modification is allowed it isn't as simple as you'd have to always make sure that the source machine code hasn't changed. It is of course doable, but far from trivial.
Sign in to participate in the conversation
LIVE Platform

The LIVE Performance Art International Network
—a platform supporting the Discussion, Curation and Dissemination of LIVE Arts in all it's manifold forms.