Qual è la cosa più vicina a Slime for Scheme?
-
02-07-2019 - |
Domanda
Faccio la maggior parte del mio sviluppo in Common Lisp, ma ci sono alcuni momenti in cui voglio passare a Scheme (mentre leggo Lisp in Small Pieces , quando voglio giocare con le continuazioni, o quando Voglio fare alcuni script in Gauche, per esempio). In tali situazioni, la mia principale fonte di disagio è che non ho Slime (sì, potresti chiamarmi tossicodipendente).
Qual è la controparte più vicina di Scheme a Slime? In particolare, sono più interessato a:
- Integrazione di Emacs (questo punto è ovvio;))
- Completamento della scheda decente (idealmente, la TAB c-w-c-c dovrebbe espandersi fino alla chiamata con continuazione corrente). Potrebbe anche essere basato su una tabella di simboli (cioè non deve notare una funzione che ho definito in un
let
contemporaneamente). - Suggerimenti sull'argomento della funzione nel minibuffer (se ho digitato
(map |)
(la posizione del cursore è indicata da|
)), vorrei vedere(elenco predicato. liste)
nel minibuffer - Invio di moduli all'interprete
- Integrazione con un debugger.
Ho ordinato le funzionalità in ordine decrescente.
Le implementazioni preferite del mio schema sono:
- MzScheme
- Ikarus
- Gauche
- Bigloo
- Pollo
Sarebbe bello se funzionasse almeno con loro.
Soluzione
Potresti anche considerare Scheme Complete:
http://www.emacswiki.org/cgi-bin/wiki/SchemeComplete
Fornisce sostanzialmente il completamento delle schede.
Altri suggerimenti
La directory contrib di SLIME sembra avere implementazioni SWANK per MIT Scheme e Kawa.
Geiser offre un ambiente eccellente per Scheme. L'ultima versione ora può anche interagire con Chez Scheme , Schema di Chibi , Schema di pollo così come il vecchio standby Schema MIT , oltre a Guile e Racchetta . Suggerirei installandolo tramite Melpa , in particolare per ottenere l'ultima versione che gestisce la selezione molto più ampia di REPL.
Un commentatore ha detto: " DrScheme IDE ha le associazioni dei tasti emacs " ed è un IDE molto apprezzato con molte delle funzionalità che hai elencato esplicitamente.
Inoltre, la modalità schema per Emacs fornisce alcune delle funzionalità di SLIME: il REPL integrato, la possibilità di inviare moduli a quel REPL e di caricare interi file. Per quanto ne so, non esiste un equivalente, in generale, per lo schema che hai elencato, per cose come la connessione remota a un'immagine in esecuzione (rispetto a uno schema che sostituisce un buffer Emacs) o l'integrazione del debugger.
Beh ... direi che Melma per schema è la cosa più vicina a Slime per Schema;)
Per il mio lavoro con mzscheme di solito uso cmuscheme + ciarlatano, che fornisce quasi ciò di cui ho bisogno durante lo sviluppo.
Bigloo ha una modalità ape molto potente.
E per gauche puoi usare il pacchetto GCA che fornisce il completamento dei nomi, la visualizzazione delle descrizioni delle funzioni e amp; inserimento di modelli di codice
Aggiornamento : ho pubblicato articolo sull'integrazione di Scheme + Emacs sul mio sito
Puoi usare Chicken Scheme con melma usando swank-chicken.
Suggerirei di dare un'occhiata alla modalità geiser , ma al momento supporta solo Racket e Guile che non ho " vedere nella tua lista.
Non l'ho usato, ma potresti provare Quack con
SLIME è piuttosto difficile da battere però. C'è molta gentilezza in atto alla fine di SWANK.