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

Лисп в реальном мире
Я экспериментировал с Lisp (на самом деле Scheme) и обнаружил, что это очень красивый язык, о котором мне интересно узнать больше. Однако похоже, что Lisp никогда не используется в серьезных проектах, и я не видел, чтобы он указывался как желаемый...
32613 просмотров
schedule 24.02.2024

Что я делаю не так с этой оценкой Схемы?
Оценивать: ((((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3) 4) 5) Вот что я сделал: оценить ((((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3) 4) 5) evaluate 5 -> 5 оценить (((lambda (x) (lambda (y) (lambda (x)...
131 просмотров
schedule 09.06.2024

Как бы я мог более четко выразить эту функцию схемы?
(define (repeated f n) if (= n 0) f ((compose repeated f) (lambda (x) (- n 1)))) Я написал эту функцию, но как бы я выразил это более четко, используя простую рекурсию с повторением? Извините, я забыл определить свою функцию...
1667 просмотров
schedule 30.05.2024

Как добавить в файл с помощью Scheme?
Я использую TinyScheme (на самом деле Script-Fu в GIMP) и не могу найти хороший способ открыть файл и добавить к нему строку текста. Я пытаюсь записать некоторую информацию в файл для отладки, и транскрипция, похоже, не реализована... Прямо...
1541 просмотров
schedule 27.09.2022

Простейший пример необходимости унификации при выводе типов
Я пытаюсь понять, как реализован вывод типов. В частности, я не совсем понимаю, где и почему в игру вступает тяжелый подъем «объединения». Я приведу пример на «псевдо-C #», чтобы прояснить ситуацию: Наивный способ сделать это будет примерно...
1707 просмотров
schedule 25.10.2022

Программно заполняем летрек в Scheme. Макросы или eval?
Я просто играю с NFA для распознавания строк. У меня есть макрос, который создает функцию, которая потребляет ввод и передает остальное некоторым другим функциям. Поскольку в моем графике NFA могут быть петли, я использую letrec, чтобы собрать все...
445 просмотров
schedule 09.12.2022

Ошибка возврата определения типа в DrScheme
Когда я пытаюсь запустить define-type на DrScheme, я получаю сообщение об ошибке «ссылка на идентификатор перед его определением: define-type». Почему это происходит? я ввожу: (define-type GUI [label (text string?)] [button (text...
973 просмотров
schedule 17.04.2024

Какие языки имеют легкодоступные безопасные оценочные среды?
Я имею в виду что-то вроде оценщика make Scheme PLT . Он будет запускать код схемы, но при определенных условиях: Он использует только определенный объем памяти и прекратит выполнение, если скрипту потребуется больше. Аналогично ведет себя...
130 просмотров

используя лямбда вместо впускной схемы
В SICP 1.2.1 есть функция, которая делает рациональное число следующим образом: (define (make-rat n d) (let ((g (gcd n d))) (cons (/ n g) (/ d g)))) Мне просто любопытно, как вы можете реализовать то же самое, используя лямбда вместо...
5983 просмотров
schedule 16.03.2024

Схема передачи по ссылке
Как я могу передать переменную по ссылке в схеме? Пример функциональности, которую я хочу: (define foo (lambda (&x) (set! x 5))) (define y 2) (foo y) (display y) ;outputs: 5 Кроме того, есть ли способ вернуться по ссылке?
5233 просмотров

Почему звуковой сигнал означает, что моя непрерывная дробь не приближается должным образом?
Читая больше SICP, я застрял на упражнение 1.3.8 . Мой код правильно работает для аппроксимации 1/фи, но не работает для аппроксимации e-2. (define (cont-frac n d k) (define (frac n d k) (if (= k 0) 1.0 (+ (d k)...
382 просмотров

Позиция файла в Racket
Мне интересно, есть ли что-то в Racket для управления положением файла во входном порту. В моем случае мне нужно сделать так, чтобы указатель файла возвращался в одну позицию на случай, если я прочитаю то, что не должен был читать. например "Я...
248 просмотров
schedule 14.02.2024

Библиотека автоматического дифференцирования в Scheme / Common Lisp / Clojure
Я слышал, что одной из первоначальных мотиваций Маккарти для изобретения Лиспа было создание системы для автоматического распознавания. Несмотря на это, мой поиск в Google не дал никаких библиотек / макросов для этого. Существуют ли какие-либо...
3264 просмотров

Схема: Почему вычисление этой рекурсивной функции, определенной в letrec, не удается?
Я пишу глупый летрек в Scheme (DrRacket Pretty Big): (letrec ((is-creative? (lambda (writing) (if (null? writing) #f (is-creative? (eval writing)))))) (is-creative? (quote is-creative?)))...
370 просмотров
schedule 11.06.2024

Проблемы со встраиванием Guile в C++
Я программист Scheme и пытаюсь использовать Guile для вызова функций Scheme из кода C++ в рамках спецификации Bison. Документация по Guile и C великолепна; однако я не нашел много актуальной актуальной информации о Guile и C++. Поскольку каждая...
1903 просмотров
schedule 27.09.2022

Каковы фактические различия между Scheme и Common Lisp? (Или любые другие два диалекта Лиспа)
Примечание. Я не спрашиваю, что изучать, что лучше или что-то в этом роде. Я выбрал бесплатную версию SICP, потому что счел, что ее было бы неплохо прочитать (я слышал о ней хорошие отзывы, и меня интересует такая сторона программирования). Я...
31337 просмотров
schedule 22.01.2024

Определение факториальной процедуры в Charme
Мне нужна помощь в определении факториальной процедуры в Charme. Процедуру необходимо выразить в виде строки в Python, определив переменную с именем charmeFactorialDefinition. Когда вы оцениваете evalInGlobal(charmeFactorialDefinition), он должен...
107 просмотров
schedule 08.03.2024

Сортировка трех чисел в порядке возрастания
Вчера я вернулся домой и решил попробовать написать программу-схему, которая сортировала бы три числа в порядке возрастания. Вот что я придумал: (define a 3) (define b 2) (define c 1) (define temp 0) (cond ( (> a c) (set! temp c) (set! c...
1539 просмотров
schedule 05.11.2022

Быстрый вопрос по синтаксису по конкретной схеме/рэкету. Отображение строки без кавычек?
Я пишу программу по схеме, которая в конечном итоге выводит в указанный файл и выводит как строки, так и списки. Я использую команду (display ), но когда я отображаю строку, она отображается с кавычками вокруг нее. ПРИМЕР: «Множества» (a (b (c d)))...
953 просмотров
schedule 24.10.2023

ANTLR решает проблемы, отличные от LL(*), и синтаксические предикаты
учитывайте следующие правила в парсере: expression : IDENTIFIER | (...) | procedure_call // e.g. (foo 1 2 3) | macro_use // e.g. (xyz (some datum)) ; procedure_call : '(' expression expression* ')' ;...
1131 просмотров
schedule 12.11.2022