News for hackers. Stuff that matters.
Re:Factor: An impressive stack-based language environment by lispm on Saturday August 11, 2018 @02:35PM (#17740939)
LispWorks has a native compiler and supports Android and iOS: http://www.lispworks.com/products/lw4mr.html

The iOS situation is difficult, because Apple does not allow runtime compiled/loaded code in general. LispWorks pre-compiles Lisp code and one creates an App with the help of Apple's Xcode. LispWorks has still an Interpreter at runtime. Generally it is a very complete implementation of Common Lisp (minus the runtime compilation), but without a Lisp-based GUI library. They also had to write a special Garbage Collector for the 64bit ARM iOS. Seems like it was not possible to have their usually more advanced GC, which for example is available with their 64bit ARM Linux port of LispWorks.

Re:Factor: An impressive stack-based language environment by ppseafield on Saturday August 11, 2018 @04:34PM (#17741369)
That's not exactly Apple's policy - there are React Native apps in the iOS store, and that runs on nodejs. Apple specifically forbids applications that download and run code or allow for other code outside of the application's code to be run. I.e. any and all code that your application will execute has to be submitted with your app.

https://developer.apple.com/app-store/review/guidelines/ specifically 2.5.2

Re:Factor: An impressive stack-based language environment by lispm on Saturday August 11, 2018 @05:24PM (#17741622)
https://code.janeasystems.com/nodejs-mobile

> On iOS, V8 cannot run because the operating system forbids just-in-time compilation; so instead of V8, we use our own port of the ChakraCore engine, on top of the integration with Node that Microsoft created in Node.js on ChakraCore. ChakraCore has a well-optimized, pure interpreter mode which complies with iOS’ restrictions.

http://www.janeasystems.com/blog/node-js-meets-ios/

> Apple does not allow Just-In-Time compilation on iOS (except for its own JavaScriptCore engine).

So the claim is that Apple will not allow a third-party Javascript engine which provides a JIT - even though interpreted code engines are allowed and this is what their node.js version did.

My impression is also that this is a technical restriction.

Has that changed?

Re:Factor: An impressive stack-based language environment by ppseafield on Saturday August 11, 2018 @08:02PM (#17742211)
Ah, you're right. I should have read your comment more carefully.

> ChakraCore has a well-optimized, pure interpreter mode which complies with iOS’ restrictions.

(Which does not include runtime-compilation.)