4 ms·
What is "code"? Everybody who has programmed in LISP or Scheme knows that there is no essential distinction between code and data (only many programming languag
by wolfgke 10y ago
What is "code"? Everybody who has programmed in LISP or Scheme knows that there is no essential distinction between code and data (only many programming languages make it a little hard to see that it is all the same). Thus Apple would have to see not only all code, but also all data that goes onto the devices. But this would imply that Apple disallows all apps that read data from a foreign (i.e. at least not Apple-controlled) server if one does not want to get into a self-contradiction.
- Spivak 10y agoWhich is why you're not allowed to use a Lisp interpreter or use any method of evaluating data as code. In this model the only thing that data can do is change which code paths run, not what they do.
- kazinator 10y agoThat characterization isn't enough to distinguish a Turing complete interpreter from something that trivially manipulates an input datum. An interpreter is just a program containing code paths, which are activated in response to the input (the interpreted code).
- wolfgke 10y ago> That characterization isn't enough to distinguish a Turing complete interpreter from something that trivially manipulates an input datum. An interpreter is just a program containing code paths, which are activated in response to the input (the interpreted code). It is surprisingly simple to make an interpreter that is "accidentally" Turing complete (this IMHO so often happens by accident that I love to say that if an interpreter is not "obviously" more restricted than a Turing machine, it probably is Turing complete). This is not just my opinion - there lots of pages in the internet of things that are "accidentally" Turing complete, for example: http://beza1e1.tuxen.de/articles/accidentally_turing_complete.html http://beza1e1.tuxen.de/articles/accidentally_turing_complet... https://www.gwern.net/Turing-complete https://www.gwern.net/Turing-complete
- cortesoft 10y agoChanging a code path is the same as changing what they do.
- nevir 10y agoThey do allow things like pushing updated JS bundles to react native apps. My guess: RN constrains the surface area of the native API it comes into contact with (e.g. no performSelector, or similar)
- st3v3r 10y ago"What is "code"?" Apple has decided that, and you're not going to get around their policies with a clever rhetorical question.
- wolfgke 10y ago> "What is "code"?" > Apple has decided that, and you're not going to get around their policies with a clever rhetorical question. Apple cannot change mathematical facts by "decisional" rhetoric.
- paddyoloughlin 10y agoApple doesn't need to change mathematical facts, they just don't let you publish on their AppStore.
- st3v3r 10y agoThey're not changing anything. They're deciding the rules for their platform.
- zodiac 10y agoSo what is Apple's decision about what code is?