Подтвердить что ты не робот

Общий LISP на iPhone/iOS

Можно ли вызвать функцию Common Lisp в iOS?

Если да, возможно ли создать его в динамической библиотеке?

4b9b3361

Ответ 1

Это зависит от того, что вы подразумеваете под вызовом функции CL, но, скорее всего, ECL будет вашим самым коротким путем. Начните здесь, так как есть исправление для ECL, чтобы лучше разместить iOS: http://funcall.posterous.com/tag/iphone

ECL генерирует код C, поэтому вы должны находиться на безопасной территории с политиками перехода Apple.

Ответ 2

Вы пробовали MOCL?

Согласно веб-сайту, "mocl - это высоко оптимизирующая реализация CL, предоставляющая жесткий собственный код через LLVM/Clang".

Возможно, вы можете создать динамическую библиотеку, хотя она предназначена для использования по-другому.

Ответ 3

Clozure Common Lisp (CCL) работает в Linux на ARM, и Гари Байерс давно сделал экспериментальную версию для iPhone, но она будет работать только на iPhone с iPhone. Проблема заключается в том, что компилятор CCL пишет исполняемый код, но iOS из коробки не позволяет записываемой странице быть выполненной, поэтому вы никогда не сможете ее запустить.

Мы обсуждали вопрос о том, что код, который поставляется с приложением iOS, находится в разделе кода только для чтения и добавляет компилятор байтового кода, так что код, созданный во время выполнения, может быть довольно быстро интерпретирован, но никто не предлагал финансировать этот проект, поэтому он не получил.

Вы можете подумать, что мы могли бы просто интерпретировать код, созданный во время выполнения, но текущий интерпретатор CCL компилирует нетривиальный код перед его выполнением.

MOCL - это, пожалуй, лучший вариант для написания кода, который можно использовать из других приложений, но это только предположение, поскольку я его не использовал.

Ответ 4

Вы можете использовать Gambit Scheme или Clozure Common Lisp, оба могут взаимодействовать с Cocoa, первый, потому что он генерирует C и последний, потому что есть мост от Clozure до Cocoa. Сделайте поиск в Google, и вы найдете несколько вещей.

Ответ 5

Существует также Mobile Common Lisp 1

Ответ 6

Возможно, вы захотите следить за этим (новым) проектом. Он будет доступен для общественности в течение октября 2019 года: EQL5 iOS EQL5iOS libs