2015-03-09 1 views
0

A 4-year-old old post предполагает, что можно получить доступ к текущим секундам и связанным с ними функциям на языке r5rs.Какое расширение позволяет получить доступ к функции времени в r5rs?

Вот почему я спрашиваю: я учитель средней школы, новый для Racket, и мы используем язык r5rs. Я хотел бы представить ученикам функции, начиная с функции, которая не требует аргументов, чтобы иметь смысл. Пример, который возникает для меня, - это минуты минувшего часа. Но я не знаю, как сделать эти функции распознанными в программе r5rs.

Спасибо за любой полезный совет.

ответ

1

Прежде всего, почему бы не использовать #lang racket вместо r5rs? Ракетка очень построена с учетом образования. У него даже есть различные обучающие языки для использования с учебником How to Design Programs (или его second edition, который все еще работает). Реализация


ракетки по R RS намеренно ограничена-это обычно не предназначено для использования для чего-нибудь практического, так как сама ракетки переросла свои корни Scheme. Он может быть полезен как инструмент обучения, но, как вы видели, он не включает никаких специальных расширений (за пределами небольшого набора внутренних форм).

Если вы действительно заинтересованы в использовании R RS Scheme, существует реализация SRFI 19: Time Data Types and Procedures в комплекте с ракеткой. R RS не имеет модульной системы, поэтому формально не указан способ загрузки внешних библиотек в чистую схему. Вы должны будете использовать расширение Ракетки #%require загрузить реализацию SRFI:

(#%require srfi/19) 

Это даст вам доступ ко всем SRFI 19 функций и значения.

Вы также можете включить только те функции, которые вы хотите от Racket, поскольку языки фактически совместимы. Чтобы включить current-seconds, вы хотите сделать что-то вроде этого:

(#%require (only racket/base 
       current-seconds)) 

Если вы собираетесь сделать это, хотя, кажется, почти бессмысленно использовать r5rs язык. Просто используйте racket или racket/base.

+0

Большое спасибо, особенно за включение синтаксиса образца. Я планирую переключить языки этим летом, но прямо здесь, в середине потока, я должен, вероятно, придерживаться лошади, чьи особенности и сообщения об ошибках, о которых я немного знаю. – DavidHolmes

Смежные вопросы