Вопросы по теме 'r6rs'

Есть ли в схеме R6RS способ получить текущую среду для использования с eval?
Есть ли способ в схеме R6RS получить текущую среду, а затем передать ее в качестве второго аргумента eval ? Например, какими должны быть вопросительные знаки, чтобы следующее выражение вернуло 9? (let ((x 4) (y 5)) (eval '(+ x y) ???))
653 просмотров
schedule 09.11.2022

разница между бесплатным идентификатором =? и связанный идентификатор =?
Пытаетесь понять free-identifier=? и связанный идентификатор =?. Может ли кто-нибудь дать мне эквивалентные примеры кода, где используется free-identifier=? вернет true и с помощью bound-identifier=? вернет ложь. Спасибо
1224 просмотров
schedule 10.11.2022

равный? и тип записи
Предположим, у меня есть следующий код схемы (R6RS): (define-record-type typeA (fields (mutable A))) и что я создаю две записи: (define X (make-typeA 123)) (define Y (make-typeA 123)) Я не могу понять, почему (equal? X Y) и...
149 просмотров
schedule 23.10.2023

Как правильно реализовать наследование объектов в Scheme
В качестве упражнения я пытаюсь реализовать небольшую объектно-ориентированную программу с двумя классами: point1d: 1 attribute (x), getter and setter point2d: inherits from point1d, add a new attribute (y) and its getter and setter Я...
86 просмотров
schedule 05.07.2023

получение аргументов командной строки в схеме с использованием функции `командной строки`
Этот вопрос определенно задавался раньше, здесь . Некоторые из представленных решений работали (в Windows), за исключением функции command-line , упомянутой в значения доступа и выхода из командной строки в r6rs-lib . Мне удалось добиться...
2007 просмотров
schedule 26.05.2024

Как изменить поведение печати в DrRacket для R6RS, чтобы печатать результаты, как с #lang racket
Когда я запускаю программу в среде IDE, версия 5.3.5--2013-06-18(-/f), для #lang racket , например. #lang racket (+ 4 5) (/ 10 2) При нажатии Run > окно взаимодействия "9\n5\n" печатается в окне взаимодействия. Та же версия, что и...
305 просмотров
schedule 22.06.2022

лексическая область видимости и синтаксический регистр
Я пытаюсь написать макрос сопоставления с образцом. Я не продвинулся очень далеко, но я уже запутался. Мой тестовый код выглядит следующим образом #!r6rs (import (for (rnrs base (6)) run expand) (for (rnrs syntax-case (6)) expand)...
60 просмотров
schedule 08.05.2023

Можно ли расширить функцию/лямбда/макрос в схеме?
Например: если я хочу, чтобы функция equal? распознавала мой собственный тип или запись, могу ли я добавить новое поведение equal? ? без стирания или перезаписи старого? Или, например, если я хочу, чтобы функция "+" принимала также строку?
563 просмотров
schedule 10.02.2023

Поддержка Racket R6RS: syntax-case
Эта простая программа R6RS: #!r6rs (import (rnrs base) (rnrs syntax-case) (rnrs io simple)) (define-syntax stest (lambda (x) (syntax-case x () ((_ z) #'(z 0))))) (stest display) работает с Chez, Guile и Ypsilon,...
195 просмотров
schedule 17.07.2023