È possibile chiamare una funzione Common Lisp
in iOS?LISP comune su iPhone/iOS
Se è così, è possibile crearlo in una libreria dinamica?
È possibile chiamare una funzione Common Lisp
in iOS?LISP comune su iPhone/iOS
Se è così, è possibile crearlo in una libreria dinamica?
Dipende da cosa intendi chiamando una funzione CL, ma molto probabilmente ECL sarà il tuo percorso più breve. Inizia qui, in quanto c'è una patch per ECL per meglio adattarsi a iOS: http://funcall.posterous.com/tag/iphone
ECL genera codice C, quindi dovresti essere in sicurezza con le politiche di spostamento di Apple.
"Gli spazi Poster non sono più disponibili": \ – Olie
@Olie http://web.archive.org/web/20130323055046/http://funcall.posterous.com/tag/iphone; link a https://github.com/kriyative/ecl-iphone-builder/tree/elf e https://github.com/kriyative/ecl-iphone-builder/tree/dragon e http: //mclide.in- progress.com/. –
Il blog si è spostato: http://kriyative.github.io/tags/#iphone – Pascal
È possibile utilizzare Gambit Scheme o Clozure Common Lisp, entrambi in grado di interfacciarsi con Cocoa, il primo perché genera C e quest'ultimo perché esiste un bridge da Clozure a Cocoa. Fai una ricerca su Google e troverai alcune cose.
Ho fatto un paio di ricerche su google e non vedo come entrambi possano aiutare. Gambit è un linguaggio di programmazione diverso. Clozure non ha una porta Darwin/ARM (le porte più vicine sono Darwin-x86 e Linux-ARM). – Ken
Gambit sembra promettente su carta, ma non produce fonti C che possono essere compilate all'interno di Xcode (7.1) attuale. Sembra esserci un tentativo parziale di supportare LLVM. Nel suo stato attuale è inutilizzabile. Clozure supporta l'associazione C oggettiva, ma AFAIK non ha mai funzionato su iOS. –
Hai provato MOCL?
Secondo il sito Web "mocl è un'implementazione CL altamente ottimizzante, che offre codice nativo stretto tramite LLVM/Clang".
Forse è possibile creare una libreria dinamica, sebbene sia progettata per essere utilizzata al contrario.
$ 199 Licenza Standard, $ 1299 Enterprise –
mocl (ciò che chiami "Common Lisp per iOS e Android"), infatti, ti permette di esportare le tue funzioni CL in modo tale che possano essere chiamate da Obj-C o Swift. – masukomi
Qualcuno conosce lo STATO ATTUALE del MOCL? È attivamente sviluppato? Supporta la più recente compilazione di bit LLVM all'interno di XCode? Le ultime informazioni disponibili ora hanno un anno ... Hai qualche notizia? –
Clozure Common Lisp (CCL) viene eseguito in Linux su ARM, e Gary Byers tempo fa ha fatto una versione sperimentale iPhone, ma sarebbe eseguito solo su un iPhone carcere spezzato . Il problema è che il compilatore CCL scrive codice eseguibile, ma iOS pronto all'uso non consente di rendere eseguibile una pagina scrivibile, quindi non è possibile eseguirne il codice.
Abbiamo discusso su come inserire il codice fornito con un'app per iOS in una sezione di codice di sola lettura e aggiungere un compilatore di codice byte, in modo che il codice creato in fase di esecuzione possa essere interpretato abbastanza rapidamente, ma nessuno si è offerto di finanziare quel progetto, quindi non è stato fatto.
Si potrebbe pensare che si possa semplicemente interpretare il codice creato in fase di esecuzione, ma l'attuale "interprete" CCL compila codice non banale prima di eseguirlo.
MOCL è probabilmente la migliore opzione per scrivere codice richiamabile da altre app, ma è solo un'ipotesi, dal momento che non l'ho usato.
La maggior parte delle risposte qui non sono aggiornate. Non è chiaro se il prodotto menzionato funzioni ancora, produca ancora codice collegabile che può essere effettivamente utilizzato in produzione: LLVM, arm64, compilazione di bit. Le ultime informazioni su MOCL, che sembra promettente, hanno un anno. –