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

Схема. Рекурсивная проверка эквивалентности в списке
У меня проблема с функцией, которая должна удалить первое вхождение указанного элемента из списка. И я не могу использовать равные. Что я делаю неправильно? (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