compiler/exécuter Common LIsp de la Mac Terminal
Est-il un moyen de faire cela? J'ai été en utilisant mucus pour apprendre Lisp, et je voudrais commencer à construire de grands projets qui signifie (je pense) que j'aurais à écrire un peu .lisp fichiers.
ce qui vous donne l'impression que vous ne pouvez pas écrire Lisp fichiers Lisp et les applications de boue?
Rainer est droit. Appuyez simplement sur
Rainer est droit. Appuyez simplement sur
C-c C-k
dans un Slime Lisp tampon pour compiler et charger le fichier, vérifiez que ma réponse pour plus de détails.OriginalL'auteur hedgehogrider | 2011-03-14
Vous devez vous connecter pour publier un commentaire.
Je pense que vos meilleurs paris pour Mac Common LISP sont les LispWorks Personal Edition ou SBCL.
En supposant que vous avez SBCL installé, vous pouvez créer un .fichier lisp à l'aide d'un éditeur de texte (emacs serait le choix traditionnel):
Ensuite, vous pouvez exécuter l'interpréteur lisp dans un shell:
La coque pourrait être soit un mac fenêtre de terminal ou d'un inférieure interpréteur lisp cours d'exécution dans emacs.
OriginalL'auteur rmalouf
Slime est conçu pour le support de l'écriture Lisp fichiers, y compris la définition à trouver, la documentation en ligne, nom de l'achèvement, à la compilation, et plus encore. Peut-être que vous devriez jeter un oeil sur le manuel, chapitre 3 (à l'aide de micro-mode).
OriginalL'auteur Svante
Je pense que c'est un peu dur de dire ce que vous êtes vraiment se demander pour.
Vous peut compiler et charger un ensemble de fichier Lisp dans Slime en utilisant
C-c C-k
dans la mémoire tampon, puis l'utiliser à partir de l'intérieur de la Pituite, REPL, de sorte que vous n'avez même pas à exécuterLOAD
dans le REPL.Ensuite, il existe des solutions pour shebang lignes connu à partir d'unix qui va travailler dans l'OS X shell, si vous souhaitez exécuter vos programmes Lisp comme des scripts à partir de la ligne de commande, mais ceux qui diffèrent de la mise en œuvre de la mise en œuvre.
Une possibilité pour construire des exécutables, qui peut alors être exécuté depuis la ligne de commande, est de charger le code dans votre Lisp image, puis enregistrer l'image avec le code chargé. Ces images peuvent être prises exécutable, l'exécution d'une fonction donnée au démarrage (pensez
main
). Cette possibilité est également différent pour les implémentations, sans mention de votre mise en œuvre de choix, vous devez regarder dans la documentation.Maintenant, puisque vous posez des questions à propos "de construire de grands projets" plus précisément, mon conseil serait de se familiariser avec un système de définition de l'installation. Un système lisp est fondamentalement une sorte de "projet", quelques fichiers avec code, les définitions de paquetages, et un système de définition. Je vais vous donner un petit exemple pour ASDF, qui est (pour autant que je puisse dire) le plus populaire dans le monde open source.
Maintenant, vous pouvez mettre ceci dans un
asd
fichier, disonsmy-system.asd
, mettre votre paquet définitions danspackages.lisp
, votre fonctionnalité danscode.lisp
, puis, compte tenu de configurer ASDF correctement, vous serez en mesure de compiler et charger votre système dans la boue REPL en appuyant sur,l my-system
. Alternativement, vous pouvez entrer(asdf:oos 'load-op 'my-system)
(ou, pour les versions plus récentes de FASD:(asdf:load-system 'my-system)
) à la REPL.Pour faire ce travail, vous devrez installer la FAA pour votre Lisp mise en œuvre, si elle n'est pas livrée avec elle, et le répertoire contenant votre
asdf
-fichiers devront être mis enasdf:*central-registry*
. Une solution facile est votre lien symboliqueasdf
-les fichiers d'un répertoire central, mais il y a d'autres possibilités. De vérifier la ASDF documentation ou d'autres tutoriels pour en savoir plus sur ASDF.OriginalL'auteur danlei
Oui, vous voulez écrire votre propre Lisp fichiers au lieu de s'appuyer sur les images.
Je recommande CLISP pour OSX pour un out-of-the-box de l'expérience. Il a une belle REPL expérience.
Développement professionnel fait avec les F/OSS aujourd'hui, on utilise généralement SBCL ou de la CCL.
OriginalL'auteur Paul Nathan