O Emacs é um software que funciona basicamente como editor de textos, mas pode ser programado para funcionar como ambiente de desenvolvimento (na verdade, pode ser programado para fazer qualquer coisa, porque funciona como uma máquina virtual). Um ambiente de desenvolvimento muito bom para Scheme é o Quack, feito para o Emacs. Esta página é um guia ultra-rápido para começar a usar o Quack.
Agora temos instruções para instalação no Windows!.
O Emacs deve vir já "empacotado" para sua distribuição de Linux ou versão de Unix. Procure pelo pacote "emacs". A versão deve ser recente (23.x ou 24.x).
Vá ao Emacs Wiki -- em particular, na seção em Português há um texto para iniciantes
Se você usa Debian ou Ubuntu,
No Debian/Ubuntu, inclua esta linha no seu arquivo de configuração do Emacs (˜/.emacs):
(require 'quack)
Em outros sistemas, você pode ter que dar o caminho completo do quack. No ˜/.emacs, ponha a linha:
(load "/home/fulano/quack.el")
Após iniciar o Emacs e abrir um arquivo Scheme, o comando M-x run-scheme para iniciar o interpretador Scheme. Aqui, M-x significa "meta-x"; a tecla "meta" em teclados modernos comuns é ALT, portanto digite ALT-x, run-scheme e ENTER. O Emacs perguntará qual interpretador você quer usar. Digite "csi" Em seguida, a janela se dividirá em duas e o REPL do interpretador ocupará a janela de baixo:
Na janela do REPL você pode interagir com o interpretador Scheme normalmente, enviando expressões.
Na outra janela, onde estiver editando um arquivo Scheme, você pode enviar expressões e definições que estejam neste arquivo para o REPL: para fazê-lo, deixe o cursor no final de uma expressão e use o comando C-x C-e.
Quando o cursor estiver com o foco em um buffer Scheme, você verá uma aba "Quack" no menu do Emacs. A partir deste menu você poderá:
Alguns dos atalhos de teclado do Quack são:
C-c C-q m Ver um manual no web browser do Emacs C-c C-q k Ver a documentação para uma palavra-chave (infelizmente só funciona para PLT Scheme) C-c C-q s Ver uma SRFI. C-c C-q r Iniciar um pocesso Scheme C-c C-q f Find a file using context of point for default. C-c C-q l Liga/desliga a sintaxe 'lambda' para definições. C-c C-q t Ajusta a formatação do buffer