Вопросы по теме '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 просмотров
schedule
21.11.2023
используя лямбда вместо впускной схемы
В 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 просмотров
schedule
03.02.2024
Почему звуковой сигнал означает, что моя непрерывная дробь не приближается должным образом?
Читая больше 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 просмотров
schedule
20.11.2022
Позиция файла в Racket
Мне интересно, есть ли что-то в Racket для управления положением файла во входном порту. В моем случае мне нужно сделать так, чтобы указатель файла возвращался в одну позицию на случай, если я прочитаю то, что не должен был читать.
например "Я...
248 просмотров
schedule
14.02.2024
Библиотека автоматического дифференцирования в Scheme / Common Lisp / Clojure
Я слышал, что одной из первоначальных мотиваций Маккарти для изобретения Лиспа было создание системы для автоматического распознавания. Несмотря на это, мой поиск в Google не дал никаких библиотек / макросов для этого. Существуют ли какие-либо...
3264 просмотров
schedule
16.10.2022
Схема: Почему вычисление этой рекурсивной функции, определенной в 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