Вопросы по теме 'r5rs'
DrRacket, R5RS и порядок действий при ошибке
Мне нравится DrRacket IDE, но в настоящее время я создаю домашний проект, в котором я хотел бы быть независимым от него, что означает, что я обязуюсь использовать только стандартные процедуры R5RS.
Дело в том, что в DrRacket есть процедура под...
2531 просмотров
schedule
05.04.2022
Многострочные комментарии в схеме (RnRS)
Я создал это решение:
; use like this:
; (/* content ... */ <default-return>)
; or
; (/* content ... */) => #f
(define-syntax /*
(syntax-rules (*/)
((/* body ... */) #f)
((/* body ... */ r) r)))
Но действительно ли это...
5681 просмотров
schedule
15.06.2023
записать новую строку в файл, используя схему R5RS
Я искал способ написать новую строку в файле, который мне нужно использовать R5RS, я видел в предыдущем вопросе (порт новой строки), но это не работает в этой версии, как и \n,
Любые идеи?
все пишется одной строкой (написать "hello" p) (написать...
2479 просмотров
schedule
28.07.2022
Создать новый идентификатор с помощью макросов
Мне нужен макрос, который создает новый идентификатор, например
(new-name first second) => first-second
которые можно использовать для определения новых привязок верхнего уровня.
(define-syntax define-generic
(syntax-rules ()...
677 просмотров
schedule
20.06.2022
Почему (eq?'bitBlt (строка-›символ bitBlt)) -> #f
R5RS 6.3.3 говорит
(eq? 'bitBlt (string->symbol "bitBlt")) ==> #f
Означает ли это, что
(eq? 'bitBlt (string->symbol (symbol->string 'bitBlt))) ==> #f?
лось возвращает #t!
R5RS также говорит
(string->symbol...
111 просмотров
schedule
30.10.2022
Различия между схемой Guile и стандартной схемой (в Racket IDE)?
У меня есть набор «устаревшего» кода Guile Scheme, который я хочу запустить в IDE Racket Scheme. Кажется, что различий достаточно, чтобы сделать это упражнение нетривиальным. (Мой уровень знаний о Схеме - это уровень, на котором я могу завершить...
4278 просмотров
schedule
31.03.2023
Как сопоставить макрос со списком - или - Как использовать макросы для определения типов данных
Мне нравится создавать REPL с моими собственными типами данных, но я не люблю писать одни и те же шаблонные функции снова и снова.
Так что это орех, который беспокоит меня.
У меня есть собственный набор примитивных типов данных (define...
286 просмотров
schedule
01.07.2022
Упражнения SICP 1.5 и 1.6
В дополнение к вопросу Каково объяснение упражнения 1.6 в SICP? . Таким образом, доктор Рэкет (R5RS) оценивает функцию sqrt-iter с «если» за конечное время, ясно показывая нормальную оценку порядка. Но если я использую пример из упражнения 1.5...
932 просмотров
schedule
07.11.2022
функция add1 из схемы в R5RS
Я написал некоторый код, но он не работает, потому что функция add1 , которую я использовал в схеме, не работает с R5RS. Чем можно заменить add1 в R5RS?
1920 просмотров
schedule
23.05.2023
Бесконечный случайный поток
У меня возникли проблемы с созданием бесконечного случайного потока чисел от 0 до 9. Вот где я сейчас:
(#%require (only mzscheme random))
(define (input_stream) (cons (random 9) (delay input_stream)))
Единственная проблема в том, что (random...
1045 просмотров
schedule
10.02.2023
Реализация чистой схемы (R5RS) SHA256?
Я могу использовать SHA256 в схеме, используя внешние библиотеки (Java, C или зависящие от системы) или используя конкретную реализацию схемы (например, курицу), но мне интересно, существует ли «чистая» реализация схемы.
1288 просмотров
schedule
10.09.2022
Процедура проверки цикличности списка (схема)
Существует ли встроенная процедура проверки цикличности списка в схеме (R5RS)? И когда список является циклическим (по определению)? Я пытался найти какую-нибудь процедуру, которая проверяет это и то, как она реализована, но мне не удалось ее найти.
2341 просмотров
schedule
09.12.2022
Добавить или удалить элемент в середине списка (Схема)
Можно ли добавлять или удалять элементы в середине связанного списка в схеме? Кажется, я не могу придумать, как сделать это с помощью car/cdr/cons, но я думаю, что должен быть такой способ.
Если у меня есть список (1 3 5 6), и мне нужно поставить...
1816 просмотров
schedule
06.10.2023
SCHEME Изменяемые функции
Последние несколько месяцев я занимался самообучением Scheme R5RS и только начал изучать изменяемые функции. Я сделал пару таких функций, но, похоже, нашел свою ошибку в этой.
(define (lst-functions)
(let ((lst '()))
(define (sum lst)...
164 просмотров
schedule
31.12.2022
Программа-схема, которая оценивает список чисел в подмножества
Это моя первая попытка в Scheme, и я, кажется, застрял в конце строки. Эта программа должна взять список чисел, два подмножества и вытащить числа, которые равны одной и той же сумме. т.е.; 5 + 2 = 7 и 4 + 3 = 7. Программа должна напечатать два...
61 просмотров
schedule
25.06.2022
Scheme Lisp Continued Fraction для квадратных корней
Мне нужно создать функцию непрерывной дроби, чтобы найти квадратный корень числа и использовать ее в функции квадратного корня. серия, которую я использую, и измененная версия кода показаны выше.
(define (contfrac x)
(cond
((= x 0) 1)...
514 просмотров
schedule
14.07.2022
Нарушение контракта
Я пытаюсь написать рекурсивную функцию, чтобы проверить, находятся ли цифры в введенном целом числе в порядке возрастания. Когда я запускаю свой код, я получаю ошибку нарушения контракта.
(define (rising-numbers n)
(if(zero? (truncate n))...
397 просмотров
schedule
29.05.2024
Процедура 'error' не определена в plt-r5rs
У меня есть этот файл с именем myprog.scm :
(error "Not found!")
Запуск программы с использованием plt-r5rs myprog.scm дает ошибку:
error: undefined;
cannot reference undefined identifier
context...:...
68 просмотров
schedule
01.03.2022
Схема::R5RS. Попытка сделать процедуру абсолютного значения
Я пытаюсь сделать процедуру абсолютного значения, и код получил ошибку. не знаю почему :/
(define (abs x)
(cond ((> x 0) x)
((= x 0) 0)
((< x 0) (- x))))
Сообщение об ошибке:
define-values: assignment disallowed;...
191 просмотров
schedule
22.09.2022
Рекурсивные определения
В настоящее время я изучаю рекурсию в Scheme. Я нашел это рекурсивное определение, но не понимаю, что оно пытается сделать. Если бы кто-то мог объяснить это мне, я был бы признателен. Вот определение:
(define (function ls)
(if (null? ls)...
26 просмотров
schedule
22.09.2022