Buscando Simplesmente idiomas esquema para Dr. Scheme
Pergunta
Eu estou trabalhando meu caminho através SICP, usando tanto o Ableson / Sussman palestras e as palestras Berkeley 61a, que são muito mais minha Rapidez. Eu gostaria de fazer algum do trabalho de casa Berkeley, mas precisa do definições para sentença, butfirst, butlast e assim por diante. Parece que ao mesmo tempo não havia uma linguagem simples esquema embutido para Dr. Scheme, mas a versão 4.1.5, a mais recente, não tem isso. De Planeta PLT Eu pensei que eu poderia simplesmente adicionar (require (planeta "simplesmente-scheme.ss" ( "dyoo" "Simplesmente-esquema" 1 0))) em minha janela definições. I get
require: PLaneT
could not find the requested package: Server had no matching package:
No package matched the specified criteria
Eu tentei pegar o arquivo simply.scm de aqui e colou-a em minha janela definições Esquema Dr, mas ele não funciona:
No modo aluno avançado, recebo leia-se: "" uso ilegal de
Para a linha (lambda (string. Args) no código a seguir.
(define whoops
(let ((string? string?)
(string-append string-append)
(error error)
(cons cons)
(map map)
(apply apply))
(define (error-printform x)
(if (string? x)
(string-append "\"" x "\"")
x))
(lambda (string . args)
(apply error (cons string (map error-printform args))))))
Em R5RS I get conjunto !: não pode sofrer mutação identificador exigida-módulo em: número-> string (Linha 7 do código a seguir)
(if (char=? #\+ (string-ref (number->string 1.0) 0))
(let ((old-ns number->string)
(char=? char=?)
(string-ref string-ref)
(substring substring)
(string-length string-length))
(set! number->string
(lambda args
(let ((result (apply old-ns args)))
(if (char=? #\+ (string-ref result 0))
(substring result 1 (string-length result))
result)))))
'no-problem)
Solução
Student Avançada nunca vai realmente trabalhar para você a menos que você está seguindo exemplos que foram projetados para isso. A maioria dos livros e exemplos assumirá R 5 RS ou algo parecido. Eu recomendaria usando a linguagem Big Bonito, como que inclui R 5 RS, bem como a sintaxe PLT require
, e algumas outras coisas.
Para usar o pacote Simplesmente Esquema de planeta, você precisará usar o novo requerem sintaxe (você pode encontrar isso na pacote de página de listagem ; parece que o docs para o pacote não foram atualizados):
(require (planet dyoo/simply-scheme:1:2/simply-scheme))
Outras dicas
No seguimento; a Simplesmente biblioteca de suporte Esquema para Racket pode ser encontrado em: http://planet.plt-scheme.org/display .SS? package = simplesmente-scheme.plt & proprietário = dyoo Eu fiz algumas atualizações de documentação luz em http://planet.plt-scheme.org/package-source/dyoo/simply-scheme.plt/2/1/planet-docs/manual/index.html .