Можно ли вызвать функцию Common Lisp
в iOS?
Если да, возможно ли создать его в динамической библиотеке?
Можно ли вызвать функцию Common Lisp
в iOS?
Если да, возможно ли создать его в динамической библиотеке?
Это зависит от того, что вы подразумеваете под вызовом функции CL, но, скорее всего, ECL будет вашим самым коротким путем. Начните здесь, так как есть исправление для ECL, чтобы лучше разместить iOS: http://funcall.posterous.com/tag/iphone
ECL генерирует код C, поэтому вы должны находиться на безопасной территории с политиками перехода Apple.
Вы пробовали MOCL?
Согласно веб-сайту, "mocl - это высоко оптимизирующая реализация CL, предоставляющая жесткий собственный код через LLVM/Clang".
Возможно, вы можете создать динамическую библиотеку, хотя она предназначена для использования по-другому.
Clozure Common Lisp (CCL) работает в Linux на ARM, и Гари Байерс давно сделал экспериментальную версию для iPhone, но она будет работать только на iPhone с iPhone. Проблема заключается в том, что компилятор CCL пишет исполняемый код, но iOS из коробки не позволяет записываемой странице быть выполненной, поэтому вы никогда не сможете ее запустить.
Мы обсуждали вопрос о том, что код, который поставляется с приложением iOS, находится в разделе кода только для чтения и добавляет компилятор байтового кода, так что код, созданный во время выполнения, может быть довольно быстро интерпретирован, но никто не предлагал финансировать этот проект, поэтому он не получил.
Вы можете подумать, что мы могли бы просто интерпретировать код, созданный во время выполнения, но текущий интерпретатор CCL компилирует нетривиальный код перед его выполнением.
MOCL - это, пожалуй, лучший вариант для написания кода, который можно использовать из других приложений, но это только предположение, поскольку я его не использовал.
Вы можете использовать Gambit Scheme или Clozure Common Lisp, оба могут взаимодействовать с Cocoa, первый, потому что он генерирует C и последний, потому что есть мост от Clozure до Cocoa. Сделайте поиск в Google, и вы найдете несколько вещей.
Существует также Mobile Common Lisp 1
Возможно, вы захотите следить за этим (новым) проектом. Он будет доступен для общественности в течение октября 2019 года: EQL5 iOS EQL5iOS libs