emacs - solo - ¿Qué es lo más parecido a Slime for Scheme?
recetas de slime con 2 ingredientes (8)
Bueno ... yo diría que Slime para el esquema es lo más parecido a Slime para Scheme;)
Hago la mayor parte de mi desarrollo en Common Lisp, pero hay algunos momentos en los que quiero cambiar a Scheme (mientras leo Lisp en Small Pieces , cuando quiero jugar con continuaciones, o cuando quiero hacer scripts en Gauche, para ejemplo). En tales situaciones, mi principal fuente de incomodidad es que no tengo Slime (sí, puedes llamarme adicto).
¿Cuál es la contraparte más cercana de Scheme a Slime? Específicamente, estoy más interesado en:
- Integración de Emacs (este punto es obvio;))
- Finalización de tabulación decente (lo ideal es que cwcc TAB se expanda a call-with-current-continuation). Puede estar incluso basado en una tabla de símbolos (es decir, no tiene que notar una función que definí en un
let
de una vez). - Sugerencias de argumento de función en el minibúfer (si he escrito
(map |)
(la posición del cursor está indicada por|
)), me gustaría ver(map predicate . lists)
en el minibúfer - Envío de formularios al intérprete
- Integración con un depurador.
He ordenado las características por importancia descendente.
Las implementaciones de mi Scheme de elección son:
- MzScheme
- Ikarus
- Desmañado
- Bigloo
- Pollo
Sería genial si funcionaba al menos con ellos.
El directorio contrib de SLIME parece tener implementaciones SWANK para MIT Scheme y Kawa.
No lo he usado, pero puedes probar Quack con mzscheme
.
SLIME es bastante difícil de superar sin embargo. Hay un montón de amabilidad en el final de SWANK.
Para mi trabajo con mzscheme, generalmente uso cmuscheme + quack, que proporciona casi lo que necesito durante el desarrollo.
Bigloo viene con un modo abeja muy poderoso.
Y para Gauche puede usar el paquete GCA que proporciona la finalización de nombres, la visualización de las descripciones de funciones y la inserción de plantillas de códigos
Actualización : publiqué un artículo sobre la integración de Scheme + Emacs en mi sitio
Puedes usar Chicken Scheme con baba usando swank-chicken.
Sugiero echarle un vistazo al modo geiser , pero solo ahora admite Racket y Guile, que no veo en tu lista.
También podría considerar Scheme Complete:
http://www.emacswiki.org/cgi-bin/wiki/SchemeComplete
Básicamente proporciona la finalización de pestañas.
Un comentarista ha dicho: "DrScheme IDE tiene enlaces de teclas de emacs" y es un IDE de gran prestigio con muchas de las características que usted mencionó explícitamente.
Además, el modo de esquema para Emacs ofrece algunas de las características de SLIME: el REPL integrado, la capacidad de enviar formularios a ese REPL y cargar archivos completos. Hasta donde yo sé, no existe un equivalente, en general para el esquema que ha enumerado, para cosas como conectarse a una imagen en ejecución de forma remota (frente a un esquema de réplica en un búfer de Emacs) o la integración del depurador.
Geiser proporciona un excelente entorno para Scheme. La última versión ahora también puede interactuar con Chez Scheme , Chibi Scheme , Chicken Scheme y con el viejo MIT Scheme en espera, además de Guile y Racket . Sugeriría instalarlo a través de Melpa , especialmente para obtener la última versión que maneja la selección mucho más amplia de REPL.