Вопросы по теме 'chicken-scheme'

как получить доступ к ключам в многомерной хэш-таблице в схеме?
У меня есть хеш-таблица в Chicken Scheme, в хеш-таблице есть ключи со значениями, соответствующими этим ключам, которые снова являются хэшами с соответствующими значениями хэшей. Ключи «внутренних хэшей» имеют соответствующие значения, которые...
898 просмотров
schedule 28.07.2022

Как выполнить бенчмаркинг в схеме?
Я хочу протестировать различные конструкции Scheme для целей сравнения, и мне было интересно, как это сделать. Я знаю, что в Ruby есть специальный модуль для такого бенчмаркинга, а веб-поиск, похоже, не дает готовой версии Scheme. Может ли...
164 просмотров
schedule 04.07.2022

Лучший способ измерить прошедшее время в схеме
У меня есть какой-то «основной цикл», использующий перенасыщение. Я хотел бы иметь возможность измерить, сколько времени требуется для рендеринга кадра. Время, используемое для рендеринга кадра, может быть использовано для других вычислений....
2154 просмотров
schedule 27.04.2023

Куриная схема: процедуры модуля используют только внутренние процедуры модуля?
Предположим, у меня есть следующие два модуля: (module mod1 (func2) (define (func1) ...) (define (func2) ... (func1) ...)) (module mod2 () (import (only mod1 func2)) (define (func1) ...) (define (func3) ... (func2) ...)) Использует...
56 просмотров
schedule 01.08.2022

Последовательное выполнение схемы Do for (do*)
В Common Lisp есть последовательная форма (do *vars* *test* *body*) ; точно так же, как последовательный параллельный let* let , он работает через *vars* по одному, так что вы можете ссылаться на ранее определенные переменные следующим образом:...
101 просмотров

Синтаксис пусть в схеме
Я не могу понять это использование let в примере, который я нашел. Я использую куриную схему. (let loop () (print "hello world") (loop) ) Это простой бесконечный цикл, он рекурсивно вызывает сам себя, чего я не могу понять, так это...
3609 просмотров
schedule 09.06.2023

Обработка ошибок в Chicken Scheme
Я делаю базовый сканер портов. Я пытаюсь напечатать «закрыто», когда подключаюсь к закрытому порту, и «открыто», когда подключаюсь к открытому порту. Прямо сейчас я делаю это: (condition-case (tcp-connect (list-ref host 0) port) [(exn)...
243 просмотров
schedule 22.07.2022

В чем разница между этими макросами?
У меня есть несколько вопросов о том, как работают макросы в Scheme (в частности, в Chicken Scheme), давайте рассмотрим этот пример: (define (when-a condition . body) (eval `(if ,condition (begin ,@body) '()))) (define-syntax when-b...
98 просмотров
schedule 22.01.2024