Описание тега scheme

Scheme - это функциональный язык программирования в семействе Lisp, тесно смоделированный на основе лямбда-исчисления с активным (аппликативным порядком) вычислением. ПО ВОПРОСАМ о схемах URL, ПОЖАЛУЙСТА, ИСПОЛЬЗУЙТЕ тег "url-scheme".
1 ответ

Включение файла r5rs в другой файл в ракетке

Один из моих курсов использует DrRacket для некоторых разделов SICP. Мы работаем над метациклическим оценщиком, и у меня есть файл кода R5RS (set-car! а также set-cdr!), который мне нужно использовать с моей работой. Поскольку файл R5RS содержит при…
28 ноя '11 в 03:12
1 ответ

На любую основную функцию, которую я пишу в ракетке, я получаю следующую ошибку

На каждой четной базовой функции, которую я пишу на своей ракетке, я получаю сообщение об ошибке. Например, это моя функция: #lang racket (define f (lambda (x) (+ x 2))) Вот моя командная строка: > (f 2) Вот ошибка: Type Checker: missing type for…
28 мар '16 в 11:20
3 ответа

Что эквивалентно выражению Mathematica в Racket?

Я ищу что-то похожее на ToExpression, которое доступно в Mathematica. Я просто хочу преобразовать строку в выражение и оценить выражение. В качестве первого прохода мои строки будут содержать только числа и арифметические операторы, а не даже скобки…
29 фев '12 в 21:01
1 ответ

Схема удаления элемента первого экземпляра

Я хочу удалить первую встречу элемента в списке пример > (remove-first '(10 20 30 40 50 40 30 20 10) 10) (20 30 40 50 40 30 20 10) > (remove-first '(10 20 30 40 50 40 30 20 10) 40) (10 20 30 50 40 30 20 10) > (remove-first '("A" "B" "C" "d"…
17 апр '18 в 01:13
1 ответ

Лямбда в процедуре

Может кто-нибудь объяснить мне, что происходит с двумя лямбда-операторами в следующем коде? (define (remove x ls) (if (null? ls) '() (let ((h (car ls))) ((if (eqv? x h) (lambda (y) y) (lambda (y) (cons h y))) (remove x (cdr ls)))))) Что такое "у" в …
31 июл '17 в 15:32
2 ответа

Может ли Схема расширить список в качестве аргументов?

Считается, что у меня есть процедура (plus x y) ведьма берет ровно два аргумента И теперь у меня также есть список, который содержит два объекта, такие как (list 1 2), Итак, если есть какой-то волшебный способ расширить список двумя аргументами. У н…
11 июн '13 в 02:39
2 ответа

Выполнение запросов к списку списков в схеме

Я застрял в середине моего проекта. У меня есть список списков, как: '((a for apple) (b is book) (c in cat) (ronn live in NY)) Теперь я хочу сделать запрос в виде списка, чтобы он отображал правильную запись в моем списке списков. Например, если я в…
23 апр '11 в 16:11
2 ответа

Это лучший способ разработать эту функцию?

Меня зовут Майкл Бутрос, и я сейчас учусь в старшей школе. В следующем году я буду учиться в Университете Ватерлоо и в качестве учебного пособия по их курсам CS я выполнил и выполнил некоторые задания. Язык, который они используют, - это Схема, и я …
20 июн '11 в 07:12
1 ответ

Список частот 2 - проект Хаффмана

Ранее у меня был вопрос о добавлении символа в список частот ( Добавить символ в список частот), он был решен, но у меня снова возникли проблемы с остальной частью проекта. Следующие 2 функции работают: Напишите функцию, которая создает список часто…
15 дек '13 в 19:49
1 ответ

Создать поток чисел, которые имеют только определенные простые факторы

Я хочу взять бесконечный поток чисел 1, 2, 3, 4 ... и отфильтровать его так, чтобы в нем находились только числа с простыми множителями 7 и 13. (т.е. 7, 13, 49, 91, 169, 343, ...) У меня запущена следующая функция, но я запутался в том, как правильн…
30 ноя '14 в 23:49
2 ответа

(схема) Минусы номер в передней части подсписки?

У меня есть функция, которая находит расстояние в 2 координаты и помещает его перед соответствующим подсписком. Прямо сейчас он находит только расстояние первых координат. Я думаю, что с рекурсией что-то не так, поскольку она, похоже, не переходит к…
03 апр '13 в 20:19
2 ответа

Как я могу остановить чтение ввода, когда вводится определенный символ?

Я пытаюсь реализовать мою собственную функцию вычитания в схеме. Я должен использовать метод apply, чтобы применить вычитание к вводу пользователя. Дело в том, что пользовательский ввод должен быть между (), [] или {} (я пишу небольшой переводчик дл…
22 апр '13 в 16:03
1 ответ

Как функции определены в схеме?

Согласно моему назначению, некоторые значения, определенные ниже в нотации схемы, являются функциями. Мне нужно определить значение, если это не функция. В противном случае я должен определить, что вычисляет функция. First: (define res (+ 1 1)) Seco…
19 мар '18 в 21:27
1 ответ

Схема, какая разница в стеке вызовов

(define d (append '(a) (call/cc (lambda (k) (k (append '(b) '(c))))))) (define e (append '(a) (append '(b) '(c)))) Какая разница в стеке вызовов между d и e?
25 июл '12 в 18:29
1 ответ

Добавление обратного списка в Схеме

Я изучаю Scheme и хотел написать рекурсивную программу, которая переворачивает заданный список. Однако в одном тестовом случае я заметил, что a (b c) e -> e (b c) a, То, что я пытаюсь получить, это a (b c) e -> e (c b) a, Вот что у меня есть: (defin…
1 ответ

Как написать распаковать, используя карту?

Я читаю книгу "Язык программирования схем". Я пытаюсь сделать упражнение 2.8.7: Используйте map для определения процедуры, транспонирования, которая берет список пар и возвращает пару списков следующим образом. (транспонировать '((a. 1) (b. 2) (c. 3…
03 авг '12 в 02:43
2 ответа

Возврат списка в схеме

Я хочу решить проблему в Схеме (R5RS). Вот мои примеры данных: (define zipcodes '( (96774 ookala hawaii) (90001 losangeles california) (90263 malibu california) (10044 newyork newyork) )) Каждый элемент списка имеет форму (ZIP CITY STATE), Я хочу со…
24 май '11 в 21:45
2 ответа

Рэкет eof-объекта, считанный из входного порта

Я пытался прочитать строку из входного порта в Racket, но независимо от того, какие функции API я использовал для чтения (read, read-string, read-bytes и т. д.), возвращаемое значение этих функций никогда не было равно eof-object, (define (some_proc…
02 фев '11 в 17:04
1 ответ

Схема - Мемоизация с "силой" и "задержкой" сравнения скорости

(define fibo ; fibonacci (lambda (n) (cond ((= n 0) 0) ((= n 1) 1) ((= n 2) 1) (else (+ (fibo (- n 1)) (fibo(- n 2)) ))))) (time (fibo 20)) (define (fiboN n) ; fibonacci (delay (cond ((= n 0) 0) ((= n 1) 1) ((= n 2) 1) (else (+ (force (fiboN (- n 1)…
25 окт '15 в 04:40
3 ответа

Ходить случайным образом через двоичное дерево?

Я делаю программу, которая берет дерево и случайным образом выбирает ветку (влево или вправо) и возвращает эти значения в списке. По какой-то причине это не работает. Любая помощь? Пример: ~(rand-walk (tree 1 (leaf 2) (leaf 3))) (1 2) Это то, что я …
27 мар '13 в 00:39