В некоторых реализациях В общем LISP мы можем сказать, что для следующего выражения (eq 'a' a) верно, потому что 'a and' а - это «тот же атом». Это может зависеть от реализации, но кажется ...
Я практиковался в интерпретаторе Scheme в Guile 1.8.8 на OS X. Я заметил кое-что интересное. Вот функция expt, которая в основном выполняет возведение в степень expt (b, n) = b ^ n: (define (квадрат x) (* x x)) ...
Какова функция списка в схеме? Он должен иметь возможность обрабатывать вложенные списки. Так что если вы сделаете что-то вроде (reverse '(a (bcd) e)), вы получите (e (bcd) a) в качестве вывода. Как мне ...
Как можно реализовать letrec без использования set !? Мне кажется, что набор! является императивной конструкцией программирования, и при ее использовании теряются преимущества функционального программирования.
Прежде чем я начну: ДА, это домашнее задание из колледжа. Прежде чем мне скажут, что я ленив и злой: эта часть домашнего задания заключалась в преобразовании двух функций, которые у нас уже были, а эта - шестая. (определить (...
Итак, я должен удалить последний элемент списка в схеме. Например, скажем, у меня есть список (1 2 3 4). Мне нужно вернуть: (1 2 3) Моя идея: обратный (список)
автомобиль (список)
reverse (list) Есть ли ...
Кто-нибудь знает, как найти свободные переменные в лямбда-выражении? Свободные переменные — это переменные, не являющиеся частью лямбда-параметров. Мой текущий метод (, который заставляет меня...
У меня возникла небольшая проблема с преобразованием текстового файла в список или строку. Скажем, у меня есть "blah.txt", который содержит :3 + 4 Теперь я хочу вызвать этот файл, который, как я знаю, можно сделать с помощью (define...
Имеется ли в Scheme или в каких-либо диалектах схемы своего рода оператор "self", поэтому что анонимные лямбды могут повторяться сами по себе, не выполняя чего-то вроде Y-комбинатора или именования в летреках и т. д ...
Я самостоятельно прохожу путь через How to Design Programs. Я не совсем разобрался со сложной линейной рекурсией, поэтому мне нужна помощь. Задача:
Дайте определение умножения, которое потребляет два натуральных ...
Я только что нашел функцию сопоставления с образцом в Racket очень мощной. > (совпадение ' (1 2 3 )[ (список a b c)(список c b a )] )' (3 2 1 )> (совпадение ' (1 2 3 )[ (список 1 a... )a] )' (2 3 )> (совпадение ' (1 2 3 )...
«Обычные» функции обычно определяются только в домене объектов данного типа, но некоторые функции, такие как список предикатов типа схемы? или процедура?, определены для аргументов любого типа,...
если у меня есть что-то вроде этого (определить s (привет,там ))тогда как я могу написать в матче нравится (соответствует s [ (,h,,t )]... )Но это не работает, потому что матч нужен, так как я могу это сделать?
Мне нужна функция, которая получает тип значения во время выполнения. Пример использования:(get -введите a ), где a было определено как произвольное значение схемы. Как мне это сделать? Или я должен реализовать это...
Кто-нибудь знает, что входит в рэкет/базовый язык. Я хочу сравнить определения пространства имен Racket/Base с черновиком R7RS, чтобы получить из первых рук представление о том, насколько Racket отличается от...
Упражнение 1.5. Бен Битдиддл изобрел тест, чтобы определить, использует ли интерпретатор, с которым он сталкивается, аппликативную -оценку порядка или нормальную -оценку порядка. Он определяет следующие два...
Я прежде всего C++ (, поэтому программирую объектно-ориентированный/императивный ), и я нахожу довольно странным, что у вас может быть только один оператор на оценку в условном операторе, таком как оператор if -в схеме, файл...
Я знаю, что это диалекты одной языковой семьи, называемой шепелявостью, но в чем именно разница? Не могли бы вы дать обзор, если это возможно, охватывающий такие темы, как синтаксис, характеристики, ...
То есть, когда вы вызываете функцию с арностью> 1 только с одним аргументом, она должна вместо отображения ошибки каррировать этот аргумент и возвращать результирующую функцию с уменьшенной арностью. Это...
Я читаю Разумный интриган. У меня есть некоторая интуиция о том, как работает Конде. Тем не менее, я не могу найти формальное определение того, что делают conde / conda /du / condi. Мне известно о https: //www.cs.indiana.edu/~ ...
Я изучаю схему и до сих пор пользуюсь лукавством. Я на самом деле просто учусь как способ научить себя функциональному языку программирования, но я хотел бы опубликовать проект с открытым исходным кодом некоторых ...
В настоящее время я использую DrRacket в Mac OS X и выбираю язык "R5RS", но когда я ввожу (random 100), я получаю сообщение об ошибке: ссылка на неопределенный идентификатор: random В чем проблема?...
DrRacket под управлением R5RS говорит, что 1### является абсолютно допустимым номером Схемы, и печатает значение 1000.0. Это наводит меня на мысль, что знаки фунта стерлингов (#) указывают на неточность числа, но это не так...
В python я могу использовать dir(), а в Racket (5.2) я могу (требуется xrepl), кстати, чтобы получить список всех определенных переменных. Какой портативный метод существует, чтобы сделать то же самое во всех схемах? Это сделано, как...
Я нашел код из этого урока в Интернете (http://groups.csail.mit.edu/mac/ftpdir/6.001-fall91 /ps4/matcher-from-lecture.scm), и я чертовски много времени пытаюсь отладить его. Код выглядит ...
Предположим, я хочу вызвать макрос схемы для чего-то другого, кроме первого элемента в s-выражении. Например, предположим, что я хочу заменить define инфиксным стилем :=, чтобы: (a := 5) ->...
Можно ли сделать flymake-mode осведомленным о синтаксических (или других) ошибках в файлах Racket, как это делается, например, для erlang или python? Я использую режим гейзера для рэкета, если это имеет значение.
Есть ли способ (или кто-нибудь может найти способ) импортировать IronScheme в VS2010? Я уже рассмотрел этот вопрос и сделал все, что мог - я даже отредактировал бинарные файлы, связанные с ...