Вопросы по теме '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