Comment exécuter scheme avec Emacs?
j'ai suivi ce tutoriel et installé avec succès Emacs, STk, Quack.
la question Est Comment puis-je charger mon programme comme je le fais en raquette?
dans Racket je peux éditer mon code dans la fenêtre supérieure, taper quelques codes, enregistrer et exécuter. Puis la fenêtre inférieure chargera automatiquement le code que je viens d'écrire. Alors je peux jouer avec elle.
j'ai essayé m-x run-scheme. Ça m'amène seulement au type mit-scheme. Puis il dit Aucun fichier ou répertoire exister. Puis j'ai essayé F5 (l'auteur du site a écrit un .le fichier emacs me permet d'appuyer sur F5). Puis le STk s'ouvre. Je peux charger mon fichier scheme dans STk. Mais ça me ramènera au plan MIT avec edwin.
je veux avoir la même chose dans Racket (écrire/REPL). Mais plus de flexibilité avec le mouvement clé. Dans le Racket vous n'avez pas C-f C-n C-A...etc.
quelqu'un Pourrait-il m'apprendre à le faire?
3 réponses
j'ai littéralement configurer mon Macbook. Puisque vous n'avez pas précisé sur quel système vous êtes, j'espère que vous utilisez un peu de saveur Unix... Je ne suis pas vraiment familier avec STk, mais cela pourrait vous aider à régler les problèmes que vous avez, qui semblent vraiment similaires aux problèmes que j'ai rencontrés.
si vous installez une implémentation Scheme (J'utilise MIT Scheme, édité pour ajouter que cela fonctionne aussi avec Racket, en utilisant mzscheme) il peut venir avec un lien symbolique nommé "scheme" - C'est ce qu'Emacs recherche, je pense.
si ce n'est pas le cas (MIT Scheme ne semble pas l'être sur OS X), vous pouvez éditer votre configuration Emacs, en tapant M-x customize-group
tapez scheme
. Descendez un peu et de trouver le Scheme program name
champ. Changez-le en votre commande Scheme implementation, comme mit-scheme
ou mzscheme
. Vous pouvez aussi créer un lien symbolique dans votre chemin qui pointe vers le binaire droit:
sudo ln -s /Applications/mit-scheme.app/Contents/Resources/mit-scheme
/usr/local/bin/scheme
pour le schéma MIT, vous devez également définir La variable MITSCHEME-LIBRARY-PATH, ajoutez donc ceci à votre .emacs
.
(setenv "MITSCHEME_LIBRARY_PATH"
"/Applications/mit-scheme.app/Contents/Resources")
alors vous devriez être en mesure de lancer un tampon Scheme inférieur avec M-x run-scheme
. Et le code pour le REPL C-x C-e
, qui évalue l'expression avant le point.
si cela ne fonctionne pas (ce n'est pas le cas pour moi), vous devrez vous assurer que le chemin utilisé par Emacs pour exécuter les commandes shell inclut le scheme
symlink ou n'importe quel répertoire contenant le binaire pour votre implémentation. Avec quelques expérimentations, j'ai corrigé cela en ajoutant ceci à mon .emacs
fichier:
Emacs ignore mon chemin quand il exécute une commande de compilation
Pour les références, l'autre question que j'ai utilisé pour cela:
Comment puis-je faire travailler un interpréteur de schéma à L'intérieur D'Emacs?
le téléchargement 64 bits de GNU a maintenant le .application nommée "MIT:GNU Régime.App."J'ai essayé les instructions de @spacemanaki mais j'ai continué à obtenir:
bash-3.2$ export MITSCHEME_LIBRARY_PATH=/Applications/MIT:GNU\ Scheme.app/Contents/Resources
bash-3.2$ scheme
scheme: can't find a readable default for option --band.
searched for file all.com in these directories:
/Applications/MIT
/Applications/MIT:GNU Scheme.app/Contents/Resources/GNU Scheme.app/Contents/Resources
finalement j'ai réalisé que le point-virgule agissait comme un séparateur de chemin. Donc, assurez-vous juste de le renommer:
mv MIT:GNU\ Scheme.app/ mit-scheme.app
alors les instructions ci - dessus fonctionneront très bien-bien que vous puissiez avoir à utiliser Finder pour faire le renommage, parce que quand je l'ai fait sur le shell mon dossier de ressources a disparu.
je vous recommande d'utiliser Homebrew
pour installer le mit-scheme avec la commande simple brew install mit-scheme
si vous êtes sur un Mac. Trouvez votre ~/.emacs file
si elle n'existe pas alors en créer un, ajoutez ceci à la fin du fichier:
(setq scheme-program-name "your/mit-scheme/path")
Utiliser which mit-scheme
commande pour savoir où votre mit-scheme a été installé.
Prenez mon MacOS X comme exemple:
(seq scheme-program-name "/usr/local/bin/mit-scheme")
Sauvegarder et quitter.
Puis redémarrez votre Emacs et tapez M+x
et vous êtes dans le mit-sheme.