Следуя инструкциям в http://www.scheme.com/csug8/libraries.html, я мог бы построить библиотеку smcho.ss
.Использование пользовательских библиотек с верхнего уровня в Схеме (Racket 6.3)
(library (smcho simple (1))
(export hello factorial)
(import (rnrs (6)))
(define (hello x)
(+ x 10))
(define (factorial n)
(cond
[(<= n 0) 1]
[else (* n (factorial (- n 1)))]))
)
Затем установите его plt-r6rs --install smcho.ss
(http://lists.racket-lang.org/users/archive/2009-September/035465.html).
Однако, когда я пытался использовать его в top_level.ss,
(import (smcho simple) (rnrs (6)))
(print (factorial 10))
У меня есть сообщения об ошибках
scheme> plt-r6rs top_level.sc
get-module-code: no such file: #<path:/Users/smcho/Desktop/scheme_lib/top_level.sc>
context...:
Что может быть не так? Я проверил, что каталог ~/Library/Racket/6.3/collects
хранит правильно скомпилированную библиотеку, поэтому проблема не должна быть из библиотеки.
Racket предоставляет функцию 'print', но R6RS этого не делает. Стандарт R6RS определяет только 'display'. –