Проект по обеспечению нового стандарта для реализации схем.
2 ответа

Схема: Передача определения внутри макроопределения в submacro?

Рассмотрим следующее определение макроса в схеме R7RS: (define-syntax foo (syntax-rules () ((_ bar) (begin (define baz 42) (define-syntax bar (syntax-rules () ((_) baz))))))) Я загрузил этот файл в ответ chibi-scheme и вошел: > (фу бар) > (бар) Вмес…
31 дек '13 в 13:21
2 ответа

Гигиенический макрос r7rs: вернуть значение второго выражения

В настоящее время я изучаю некоторые r7rs и пытаюсь реализовать макрос 'begin' следующим образом: (begin0 expr0 expr1 ... expr2) С expr, являющимся регулярным выражением (Like (set! X (+ x 1))) И begin0 как макрос, который вычисляет все выражения, н…
27 ноя '18 в 15:14
1 ответ

Что означает, что библиотека Scheme должна быть * загружена *? Когда библиотеки Scheme * загружаются *?

Я изучаю пересмотренный7 отчет по алгоритмической языковой схеме. У меня вопрос по разделу 5.6 Библиотеки. В этом разделе говорится: Когда библиотека загружена, ее выражения выполняются в текстовом порядке. Если на определения библиотеки ссылаются в…
20 янв '14 в 15:16
1 ответ

Gensym процедура с воровством r7rs

Под larceny r7r6 для схемы, я пытаюсь использовать gensym процедура, как это, по-видимому, определено в документации. При его вызове (либо в файле, либо в консоли, набрав larceny -r7r6), Я получаю сообщение об ошибке, в котором говорится, что gensym…
02 май '18 в 16:13
1 ответ

Отражающие возможности схемы R7RS

Отчет R7RS на языке программирования Scheme описывает два способа запуска кода Scheme в системе Scheme: 1) Система схем может запускать программу, как описано в разделе 5.1 отчета. 2) Система схем может предложить цикл чтения-оценки-печати, в которо…
3 ответа

Макросы и внутренние определения в схеме

Хороший вопрос был задан на #scheme канале Freenode. Рассмотрим следующий код на схеме: (define alpha 1) (define-syntax foo (syntax-rules (quote alpha) ((_ alpha msg) (define bar 2)) ((_ other msg) (syntax-error msg)) ) ) (define (beta) (foo alpha "…
23 сен '14 в 23:28
1 ответ

Схема: перечислить все привязки в области

В R7RS или chibi-схеме есть функция, которую я могу вызвать, чтобы получить список символов, содержащий все привязки в текущей области? Для сравнения, в Python я могу использовать функции globals() а также locals() чтобы увидеть, какие имена доступн…
13 ноя '17 в 05:54
2 ответа

Начиная с 2016 года, существует ли реализация Схемы, которая поддерживает 100% R7RS (малых) без отклонений?

Я желаю изучить Схему. Я хочу придерживаться R7RS, так как это последний стандарт. Тем не менее, похоже, что в текущих реализациях Схемы существует большая фрагментация, и большинство из них остаются на R5RS или на части R6RS. Единственная найденная…
03 фев '16 в 00:15
2 ответа

Схема Чиби - Простой пример определения библиотеки не работает

Я написал следующий пример, пытаясь поэкспериментировать с библиотеками R7RS в схеме Chibi 0.5.3: (define-library (example hello) (export hello-world) (import (scheme base)) (begin (define (hello-world) "hello, world"))) (import (scheme write) (exam…
03 май '12 в 21:48
2 ответа

Ракетка / базовое пространство имен

Кто-нибудь знает, что входит в racket/base язык. Я ищу, чтобы сравнить racket/base Определения пространств имен с проектом R7RS, чтобы получить из первых рук представление о том, насколько Racket отличается от Схемы.
12 июл '12 в 18:43
1 ответ

Когда можно переопределить привязки верхнего уровня в схеме (R7RS)?

Я прочитал текущий проект будущего стандарта схемы R7RS (небольшой язык), но я не понимаю, при каких условиях переопределение привязок верхнего уровня не является ошибкой. Я думаю, что это можно определить или установить! привязка, которая была введ…
09 сен '12 в 12:25
2 ответа

Разница между нагрузкой и включением в схему R7RS

В схеме R7RS есть и load а также include форма. Включить описывается как: Семантика: и include, и include-ci берут одно или несколько имен файлов, выраженных в виде строковых литералов, применяют алгоритм, специфичный для реализации, для поиска соот…
23 янв '18 в 14:45
0 ответов

BNF Спецификация R7RS-Small Scheme?

Я заинтересован в реализации схемы диалекта. После долгих исследований (первая ссылка при поиске scheme grammar ссылки на Chez Scheme...), кажется, схема-отчеты это место для современной схемы. Поскольку кажется, что R7RS-Large (на неопределенный ср…
04 сен '18 в 01:02
2 ответа

Почему Схема нуждается в специальном понятии тега местоположения процедуры?

Почему Схема нуждается в специальном понятии тега местоположения процедуры? Стандарт гласит: Каждая процедура, созданная в результате оценки лямбда-выражения, (концептуально) помечена местом хранения, чтобы сделать eqv? и экв? работа над процедурами…
03 май '14 в 00:24
1 ответ

Схема r7rs- большая интересная но... она все еще в разработке?

Я пытаюсь взглянуть на статус r7rs large, но не могу найти какую-либо информацию на странице отчетов о схемах и т. Д., Просто выступление за 2013 год. Я также безуспешно искал в Google. Он все еще жив? Где я могу найти информацию? Какой будет предва…
11 сен '14 в 07:25
6 ответов

Можно ли "расширить" функцию / лямбду / макрос в схеме?

Например: если я хочу функцию equal? узнать свой собственный тип или запись, могу ли я добавить новое поведение equal?? без стирания или перезаписи старого? Или, например, если я хочу сделать функцию "+" принять также строку?
27 май '14 в 00:34
1 ответ

Имитация первоклассной библиотеки в схеме R7RS

Я думаю о реализации подобной Дилану объектной системы для Схемы. (Желательно для полностью переносимой схемы R7RS.) В Dylan существует концепция запечатанных классов: нельзя наследовать от запечатанного класса вне модуля, в котором этот класс опред…
12 янв '14 в 16:09
1 ответ

Переопределить встроенную схему, но только если она используется в качестве аргумента для конкретной процедуры?

Как я могу переопределить процедуру and только когда он вызывается в качестве аргумента процедуры fetch? Например: ; this `and` returns #f (and #t #f) ; this `and` returns "and a b" (fetch (foo (bar (and "a" "b")))) Я хотел бы написать макрос для эт…
31 авг '18 в 23:54
1 ответ

Всегда ли cdr списка eqv?

Я пишу интерпретатор для R7RS Scheme, чтобы получить более полное понимание языка программирования Scheme. Из моего понимания, eqv? должен вернуться #t если оба аргумента списка обозначают одно и то же место в памяти. Тем не менее, я не уверен, если…
27 мар '19 в 06:42
1 ответ

Что такое действительные идентификаторы в R7RS-small?

R7RS-small говорит, что все идентификаторы должны заканчиваться разделителем, но в то же время он определяет довольно сложные правила того, что может быть в идентификаторе. Итак, что это? Предполагается, что идентификатор начинается с начального сим…
08 мар '20 в 04:11