Вопросы по теме 'r5rs'
Как получить системную дату в R5Rs в Scheme/DrRacket
В DrRacket IDE я смог получить системную дату следующим образом, когда языковая настройка была «Swindle»:
(define currentMonth 0)
(let ((date (seconds->date (current-seconds))))
(set! currentMonth (date-month date))
)
Теперь мне нужно...
593 просмотров
schedule
21.01.2023
Схема - стандартный способ в R5RS выполнить внешнюю команду?
Есть ли способ в Scheme Revision 5 вызвать внешнюю программу? Например:
(system "ls")
Если нет, есть ли какой-либо «официальный» способ сделать это, например, указанный в SRFI или более поздней версии спецификации схемы (R6RS и т. д.)?
386 просмотров
schedule
21.06.2022
Схема, SICP, R5RS, почему задержка не особая форма?
Это касается главы 3.5 из SICP, в которой обсуждаются потоки. Идея в том, что:
(cons-stream 1 (display 'hey))
Не следует оценивать вторую часть cons-потока, поэтому он не должен печатать «привет». Это происходит, я получаю следующий вывод:...
1445 просмотров
schedule
25.12.2022
Как написать программу Scheme (языки R5RS) для подсчета максимальной глубины (без использования функции max)?
Вот что у меня есть для программы глубины, но как это сделать без функции max (использовать только define, lambda, quote (‘), car, cdr, cons, cond, eq? И equal?)?
(define depth
(lambda (expr)
(cond ((null? expr) 0)...
1505 просмотров
schedule
02.11.2022
Грамматика ANTLR для схемы R5RS
Я новичок в ANTLR и изучаю это на примере. Я использую C в качестве целевого языка. Примером является файл грамматики Scheme R5RS, взятый из этого вопроса с небольшими изменениями (переименуйте имя грамматики и добавьте некоторые параметры, не...
849 просмотров
schedule
30.08.2022
Можно ли расширить функцию/лямбда/макрос в схеме?
Например: если я хочу, чтобы функция equal? распознавала мой собственный тип или запись, могу ли я добавить новое поведение equal? ? без стирания или перезаписи старого?
Или, например, если я хочу, чтобы функция "+" принимала также строку?
563 просмотров
schedule
10.02.2023
Реализация встроенной функции схемы begin () с использованием самой схемы, один и тот же код ведет себя по-разному в MIT-SCHEME и Racket?
Я читаю стандарт схемы r5rs и обнаруживаю, что begin () на самом деле является синтаксисом библиотеки, что означает, что он может быть определен самой схемой, а стандарт дает реализацию в конце стандарта.
Я последовал за r5rs, чтобы реализовать...
581 просмотров
schedule
23.02.2023
Схема. Рекурсивная проверка эквивалентности в списке
У меня проблема с функцией, которая должна удалить первое вхождение указанного элемента из списка. И я не могу использовать равные. Что я делаю неправильно?
(define f
(lambda (E X)
(list? X)
(check E X)))
(define check
(lambda (E...
81 просмотров
schedule
09.10.2022
Написание цикла while в схеме
Я пытаюсь реализовать цикл while, используя рекурсию с лямбдой, но я просто не понимаю, как это сделать.
Я должен начать с этого лямбда-выражения:
((lambda (x) (x x)) (lambda (x) (x x))
Мой первый вопрос: почему это вызывает «вечную»...
1957 просмотров
schedule
02.11.2022
Как перебрать каждый элемент в списке, не удаляя элементы в схеме
Моя проблема состоит в том, чтобы сделать простую программу плюс-минус на языке Racket R5RS. Основная идея задачи состоит в том, чтобы поставить знаки плюс/минус перед каждым элементом в списке и проверить, является ли результат одним из элементов в...
1222 просмотров
schedule
18.02.2024
Функция, вычисляющая значение лямбда, не может использоваться для определения новой функции в пределах области видимости.
В схеме вы можете определить функции, которые возвращают лямбда-выражение, и использовать их для определения новых функций. Например, вы можете написать этот код
(define (pow-iter base exp r)
(if (= exp 1)
r
(pow-iter base (- exp 1)...
218 просмотров
schedule
14.06.2023
Сортировка списка списков по их первому элементу в схеме
Я работаю над сортировкой списка списков по их первому элементу, например (sort (list '(2 1 6 7) '(4 3 1 2 4 5) '(1 1))))
ожидаемый результат => ('(1 1) '(2 1 6 7) '(4 3 1 2 4 5))
Алгоритм, который я использовал, — пузырьковая сортировка. И я...
966 просмотров
schedule
11.11.2022
Схема программы, не оценивающая вложенные списки?
Я пишу программу-схему, которая оценивает список с оператором в конце.
Пример: (вычислить '(1 2 +)) --> 3
У меня есть функция, работающая для основных операторов (+, -, *, /), но проблема возникает, когда у меня есть вложенный список.
Пример:...
244 просмотров
schedule
14.07.2022
Разделение номера в R5RS
Во время стажировки меня попросили написать программу R5RS, которая создает функцию, скажем, два подмножества. Эта функция должна возвращать #t, если список L содержит два подмножества с одинаковыми суммами элементов и с равным количеством элементов,...
170 просмотров
schedule
05.08.2022
оценка моих собственных функций из списка с eval, R5RS
У меня проблемы с этим
например у меня есть
(define (mypow x) (* x x))
и мне нужно оценивать выражения из данного списка. (Я пишу симулятор и получаю в качестве аргумента последовательность команд в списке)
Я уже читал, что стандарт...
520 просмотров
schedule
10.05.2023
Схема: + это не процедура?
Я пытаюсь изучить схему (точнее, R5RS) и хочу определить процедуру, которая принимает на вход список из 3 элементов, например: '(5 + 2), где средний аргумент всегда является оператором, а 1-й и 3-й всегда являются операндами.
Примеры:...
498 просмотров
schedule
14.04.2022
Как изменить схему переменных
Я пытаюсь суммировать список, используя изменяемые объекты для задания. let используется здесь, чтобы позволить мне изменять x общую сумму и counter . Я не очень хорошо разбираюсь в схеме, поэтому использую операторы if для каждого числа в...
222 просмотров
schedule
04.07.2023
сумма всех целых чисел от a до b, что не так с моим кодом?
Цель состоит в том, чтобы создать код, который будет вычислять сумму всех целых чисел от a до b, и если a > b, то он должен равняться 0.
(define (sum-from-to a b)
(if (> a b)
0
(+ a (sum-from-to (- a 1) b))))
Моя проблема в...
123 просмотров
schedule
07.05.2023
Объединить две кучи с учетом отношения первого порядка
Что я должен сделать:
Определите процедуру SCHEME с именем (combine f Ha Hb), которая принимает три аргумента, f, отношение первого порядка, которое используется для упорядочения элементов в куче, и две структуры кучи, Ha и Hb, которые были...
231 просмотров
schedule
18.03.2023