kompilieren/ausführen von Common LIsp aus dem Mac-Terminal
Gibt es eine Möglichkeit, dies zu tun? Ich habe mit Schleim, um zu erfahren, Lisp, und ich möchte beginnen mit dem Aufbau von größeren Projekten, was bedeutet, (glaube ich), dass ich mit dem schreiben beginnen einige .lisp-Dateien.
was gibt dir den Eindruck, dass Sie nicht schreiben kann, Lisp-Dateien und Lisp-Anwendungen mit dem SCHLEIM?
Rainer hat Recht. Drücken Sie einfach
Rainer hat Recht. Drücken Sie einfach
C-c C-k
in eine Schleim-Lisp-buffer zu kompilieren und laden Sie die Datei, überprüfen Sie meine Antwort für weitere details.InformationsquelleAutor hedgehogrider | 2011-03-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Ihre beste Wette für Mac Common LISP sind die LispWorks Personal Edition oder SBCL.
Vorausgesetzt, Sie haben SBCL installiert ist, können Sie erstellen ein .lisp-Datei mit einem text-editor (emacs wäre die traditionelle Wahl):
Dann führen Sie ein lisp-interpreter in einer shell:
Die Schale kann entweder ein mac-terminal-Fenster oder eine schlechter als lisp-interpreter läuft in emacs.
InformationsquelleAutor rmalouf
Schleim ist entworfen, um Unterstützung schreiben Lisp-Dateien, einschließlich definition zu finden, online-Dokumentation, Namen, Abschluss, Erstellung, und vieles mehr. Vielleicht sollten Sie einen Blick in die Anleitung, Kapitel 3 (mit Schleim-Modus).
InformationsquelleAutor Svante
Ich denke, es ist ein bisschen schwer zu sagen, was Sie wirklich wollen.
Du kann kompilieren und laden Sie eine ganze Lisp-Datei in Schleim durch die Verwendung
C-c C-k
im Puffer, und dann verwenden Sie es innerhalb des Slime-REPL, so dass Sie gar nicht ausgeführt habenLOAD
in der REPL.Dann, gibt es Lösungen für die shebang-Zeilen bekannt aus der UNIX-Derivate, die die Arbeit in der OS X-shell, wenn Sie wollen, führen Sie Ihre Lisp-Programme als Skripten von der Kommandozeile aus, aber diese unterscheiden sich von Implementierung zu Implementierung.
Möglichkeit für den Aufbau ausführbare Dateien, die dann von der Befehlszeile aus ausgeführt, ist das laden der entsprechenden Lisp-code in Ihrem Bild, dann speichern Sie das Bild mit den geladenen code. Diese Bilder können gemacht werden ausführbare Datei, die Ausführung einer bestimmten Funktion beim Start (glaube
main
). Diese Möglichkeit unterscheidet sich auch für Implementierungen, so dass, ohne zu erwähnen, dass Ihre Implementierung die Wahl, Sie werden sehen, es in seine Dokumentation.Nun, da fragst du nach "bauen größere Projekte" konkret, mein Rat wäre, kennen zu lernen mit system definition facility. Ein lisp-system ist im Grunde eine Art "Projekt", ein paar Dateien mit code, Paket-Definitionen und einen system-definition. Ich gebe Ihnen ein kleines Beispiel für ASDF, die ist (soweit ich das sagen kann) zu den beliebtesten in der open source Welt.
Nun, würde man diese in einer
asd
Datei, sagenmy-system.asd
ist, setzen Sie Ihr Paket Definitionen inpackages.lisp
Ihre Funktionalität incode.lisp
, und dann, da Sie einrichten ASDF richtig, Sie wäre in der Lage zu kompilieren und laden Sie das system in der Slime-REPL durch drücken,l my-system
. Alternativ könnten Sie(asdf:oos 'load-op 'my-system)
(oder, für die neueren Versionen von ASDF:(asdf:load-system 'my-system)
) an der REPL.Um diese Arbeit zu machen, müssen Sie installieren ASDF für Ihre Lisp-Implementierung, wenn es nicht geliefert, und das Verzeichnis mit Ihrem
asdf
-Dateien eingeführt werden, um die inasdf:*central-registry*
. Eine einfache Lösung ist, um symlink-Ihreasdf
-Dateien auf einem zentralen Verzeichnis, aber es gibt andere Möglichkeiten. Überprüfen Sie die ASDF-Dokumentation oder andere tutorials erfahren Sie mehr über ASDF.InformationsquelleAutor danlei
Ja, Sie werden wollen, schreiben Sie Ihre eigenen Lisp-Dateien anstatt sich auf Bilder.
Empfehle ich CLISP für OSX für eine out-of-the-box-Erfahrung. Es hat eine schöne REPL Erfahrung.
Berufliche Entwicklung getan, die mit der F/OSS, die heute im Allgemeinen verwendet, SBCL oder CCL.
InformationsquelleAutor Paul Nathan