Описание тега 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…
25 сен '16 в 16:33
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