Use mit-scheme com REPL e editor juntos

1
JEL 2020-10-13 18:42.

Estou passando pelo curso SICP e, conforme recomendado, instalei o esquema mit. Desejo usar o REPL junto com um arquivo de esquema. A razão é porque posso adicionar o código do esquema no arquivo e, em seguida, executar os comandos no REPL. O que eu tenho funciona, mas o problema é que toda vez que edito o arquivo, tenho que sair do terminal e recarregar o arquivo para REPL para ver as alterações.

Existe uma maneira de recarregar o arquivo facilmente ou alguma outra maneira do REPL ver as alterações do arquivo?

Esta minha configuração:

  1. Eu instalei o esquema mit com brew install mit-scheme
  2. Eu tenho um arquivo local chamado code.scm
  3. No terminal, carrego o arquivo com mit-scheme --load /Users/name/Desktop/code.scm
  4. O Terminal agora inicia o REPL e tudo funciona. O problema é que se eu adicionar um novo código ao arquivo code.scm, tenho que sair do terminal e chamar novamente:mit-scheme --load /Users/name/Desktop/code.scm

Detalhes do sistema:

  • macOS Catalina - 10.15.6
  • Aplicativo de Terminal Mac padrão - Versão 2.10
  • Esquema MIT / GNU em execução no OS X
  • O editor de texto que uso é o Atom - 1.50.0

Edição da pergunta nº 1 (com base na resposta abaixo)

Tentei seguir as instruções, mas isso é complicado.

Isso é o que eu fiz:

  1. Corre mit-scheme < /Users/Desktop/code.scm

  2. Depois disso, corri mit-scheme --editpara abrir o Edwin. Tentei usar o código dentro do code.scmarquivo, mas não o reconhece. Este é o código no code.scmarquivo:

Isso é o que eu quero ser capaz de fazer: Observe nesta imagem, eu posso digitar um comando, pressionar enter e ele executa o comando automaticamente. No entanto, desejo poder chamar (fib 5)e fazer referência à função no code.scmarquivo.

Alguém poderia explicar passo a passo como fazer isso? É confuso olhar a documentação para sites de esquemas.

4 answers

2
William Lewis 2020-10-15 07:25.

Na verdade, há um loadprocedimento integrado disponível no REPL do Esquema do MIT. Avaliando

(load "path/to/file.scm")

faz com que o arquivo Scheme localizado em path / to / file.scm seja avaliado no nível superior (observe que as aspas duplas ao redor do nome do arquivo são obrigatórias).

E, como se constatou, essa mesma função pode ser usada para recarregar um arquivo. Com isso em mente, um possível "fluxo de trabalho" pode ter a seguinte aparência:

  • Criar novo arquivo de origem
  • Avalie (load "path/to/file.scm")no REPL
  • Editar arquivo fonte
  • Avalie (load "path/to/file.scm")no REPL
  • ... etc.

Infelizmente, não acho que haja um procedimento de "recarregamento" embutido. Mas ... se você estiver recarregando muito (como eu imagino que fará), você sempre pode escrever seu próprio rapidamente no início de uma sessão de hacking:

(define (reload)
  (load "path/to/file.scm"))

Em seguida, basta ligar (reload)sempre que fizer uma alteração no arquivo de origem.

Se você estiver interessado em usar o Emacs, eu diria que vale a pena tentar. Há uma pequena curva de aprendizado, mas não é tão íngreme quanto parece à frente :)

Além disso, não posso recomendar a (s) linguagem (s) de programação Racket o suficiente. Há uma maneira incrivelmente direta de configurá-lo para SICP e é um ambiente muito mais tolerante do que o Emacs. Deixe-me saber se você está interessado e deseja ajuda para começar.

1
alinsoar 2020-10-13 21:06.

Você deve usar emacs com xscheme.el . Funciona muito melhor.

Se continuar como faz, você também pode fazer mit-scheme < code.scmou mit-scheme --edit code.scme também obterá um *repl*buffer dentro do edwin .

Eu recomendo a você o jeito emacs, entretanto.

1
haziz 2020-12-20 01:02.

Um (load "/path/to/file")comando deve estar disponível para você no MIT Scheme e no editor Edwin que o acompanha. No entanto, eu realmente recomendaria que você use o Emacs e use o Geiser dentro dele para acessar o REPL e para ajudar na edição do arquivo de esquema. Ele também torna o tratamento de vários REPLs de esquema, como Esquema Chez , Racket , Esquema MIT , Guile , Chicken , Gambit e Esquema Chibi bastante fácil. O mesmo (load "/path/to/file")comando estaria disponível para você dentro do REPL rodando sob Geiser , dentro do Emacs , mas geralmente é muito mais poderoso e contínuo do que ao usar o REPL "simples". O Emacs está muito bem ajustado para uso com Scheme e LISP. Altamente recomendado.

0
Will Ness 2020-12-21 05:01.

Avalie o buffer inteiro: pressione Mo (M é Alt no Windows). Quando estiver na janela do arquivo de origem, pressione-o. Ele avaliará todo o buffer, ou seja, (re) carregará todo o arquivo de origem (sem nem mesmo salvá-lo primeiro). Eu encontrei googling "mit scheme edwin tutorial" . Edwin é o próprio Emacs.

Esta página diz: "Cc Cs quando feito em um buffer de modo de esquema [isto é, janela do arquivo de origem do esquema], mudará para o buffer de interação do esquema [isto é REPL]". ou seja, você pressiona Cx Cs para salvar o arquivo , Mo para avaliar (ou seja, carregar), Cc Cs para alternar para o REPL.

Se você dividiu sua tela C-x 2entre um buffer de arquivo de origem e o REPL ("buffer de interações"), pode alternar entre eles pressionando C-x o(para "ir para a outra janela").

MORE COOL STUFF

Jana Duggar: tudo o que ela disse sobre o amor e sua janela de 5 anos para encontrar o 'escolhido'

Jana Duggar: tudo o que ela disse sobre o amor e sua janela de 5 anos para encontrar o 'escolhido'

Jana Duggar foi aberta sobre sua busca pelo amor. Aqui está tudo o que ela disse sobre o assunto e sua janela de cinco anos para o casamento.

Sam Heughan sabe exatamente o que vai tirar do set de 'Outlander' - 'Eu me sinto como Jamie quando os coloco'

Sam Heughan sabe exatamente o que vai tirar do set de 'Outlander' - 'Eu me sinto como Jamie quando os coloco'

O astro de 'Outlander', Sam Heughan, revelou recentemente o que vai levar do set para relembrar Jamie Fraser, o papel que o tornou uma estrela.

A música dos primeiros Beatles que foi uma das 'apresentações mais emocionantes' da banda, de acordo com um Fab Four Insider

A música dos primeiros Beatles que foi uma das 'apresentações mais emocionantes' da banda, de acordo com um Fab Four Insider

'She Loves You' foi escrita em uma hora, gravada em um dia, e foi a música dos Beatles com uma de suas melhores apresentações de sua carreira.

Dolly Parton ajudou sua avó 'inválida' quando nenhum dos outros netos o faria - ela também pregaria uma peça nela

Dolly Parton ajudou sua avó 'inválida' quando nenhum dos outros netos o faria - ela também pregaria uma peça nela

Dolly Parton e sua avó Bessie tiveram um relacionamento especial. Vovó Parton estava muito doente, mas isso não impediu Dolly de pregar uma peça nela.

Qual é a madeira mais dura do mundo?

Qual é a madeira mais dura do mundo?

Você pode achar que o carvalho ou a nogueira são madeiras resistentes, mas quando se trata da madeira mais dura do mundo, elas nem chegam perto.

10 das criaturas marinhas mais assustadoras que espreitam nas profundezas do oceano

10 das criaturas marinhas mais assustadoras que espreitam nas profundezas do oceano

O oceano é repleto de beleza, mas também esconde algumas das criaturas marinhas mais assustadoras do planeta. Muitos desses animais espreitam nas profundezas do oceano, no mundo escuro e de alta pressão do fundo do mar.

10 Melhores Encantamentos de Espada no Minecraft

10 Melhores Encantamentos de Espada no Minecraft

Se você está enfrentando criaturas hostis ou se preparando para cenários PvP, conhecer os melhores encantamentos de espada no Minecraft pode te dar uma grande vantagem. Encantar espadas permite causar mais dano, aumentar a quantidade de itens obtidos de criaturas e prolongar a durabilidade da sua espada.

13 países socialistas muito diferentes entre si

13 países socialistas muito diferentes entre si

Quando as pessoas falam sobre países socialistas, geralmente imaginam o controle total do governo e a ausência de propriedade privada. Mas, na prática, as economias socialistas variam muito.

Recapitulação do Urso: Marcus é o homem mais gentil, gentil e sincero de Chicago?

Recapitulação do Urso: Marcus é o homem mais gentil, gentil e sincero de Chicago?

“Children” traz uma participação especial de grande nome e algumas notícias devastadoras

Por US $ 9.800, você os colocaria neste Toyota RAV4 2008 de sete lugares?

Por US $ 9.800, você os colocaria neste Toyota RAV4 2008 de sete lugares?

Este RAV4 está em excelentes condições e está preparado para um jogo de cadeiras musicais.

Van de entrega da Amazon pega fogo em explosão de fogo durante o calor do verão em Houston

Van de entrega da Amazon pega fogo em explosão de fogo durante o calor do verão em Houston

Imagens de drone capturaram bombeiros parecendo lutar para apagar o incêndio.

O programa dos Panteras Negras da Marvel será o programa de animação mais importante até agora

O programa dos Panteras Negras da Marvel será o programa de animação mais importante até agora

Eyes of Wakanda está diretamente relacionado ao MCU, além de atualizações sobre X-Men '97, What If..., Demolidor e muito mais.

Tudo sobre o deslumbrante anel de noivado de safira de Kate Middleton (e a herança real que o inspirou!)

Tudo sobre o deslumbrante anel de noivado de safira de Kate Middleton (e a herança real que o inspirou!)

O anel de noivado de Kate Middleton pertenceu à Princesa Diana antes do Príncipe William pedi-la em casamento. Descubra tudo o que há para saber sobre a peça histórica aqui.

Quem é a esposa de John Cleese? Tudo sobre Jennifer Wade

Quem é a esposa de John Cleese? Tudo sobre Jennifer Wade

John Cleese se casou com sua esposa, Jennifer Wade, em 2012. Aqui está tudo o que você precisa saber sobre a esposa de John Cleese, Jennifer Wade.

Quem é a esposa de Patton Oswalt? Tudo sobre Meredith Salenger

Quem é a esposa de Patton Oswalt? Tudo sobre Meredith Salenger

Patton Oswalt se casou com sua esposa, a também atriz Meredith Salenger, em 2017. Aqui está tudo o que você precisa saber sobre a esposa de Patton Oswalt, Meredith Salenger.

Quem é o marido de Mena Suvari? Tudo sobre Michael Hope

Quem é o marido de Mena Suvari? Tudo sobre Michael Hope

Mena Suvari é casada com o marido Michael Hope desde 2018. Aqui está tudo o que você precisa saber sobre o marido de Mena Suvari.

pronomes são super assustadores

Isso me atinge De repente, como tantas vezes acontece É o meio do caminho tudo de novo <Não, não aquele no Pacífico, seu marrom, aquele no carnaval> Todas as manchetes em voz alta…..

3 maneiras comprovadas de melhorar sua habilidade de escrita

Os benefícios de escrever e estratégias para ajudá-lo a fazê-lo

3 maneiras comprovadas de melhorar sua habilidade de escrita

Em 2022, com o lançamento do GPT-3, a habilidade de escrita parece se tornar menos importante. Com a IA, pessoas com redação ruim também podem gerar funcionários de qualidade.

A lenta erosão: revelando como as pessoas desperdiçam em suas carreiras

A lenta erosão: revelando como as pessoas desperdiçam em suas carreiras

No mundo acelerado e competitivo de hoje, a carreira desempenha um papel significativo no crescimento pessoal, na estabilidade financeira e na satisfação geral com a vida. No entanto, muitos indivíduos encontram-se presos em um ciclo implacável de estagnação e insatisfação, definhando gradualmente em suas vidas profissionais.

O que torna um podcast influente?

O que torna um podcast influente?

Na semana passada, notei um comunicado de imprensa, enviado via PressGazette (um site de notícias da mídia britânica). O artigo anunciava que a Acast, a empresa de publicidade e hospedagem de podcast Scandi, lideraria um consórcio de "provavelmente os editores mais influentes" em podcasting.

Language