0
ответов

В clojure (= 'a' a) относится к 'одному и тому же атому'?

В некоторых реализациях В общем LISP мы можем сказать, что для следующего выражения (eq 'a' a) верно, потому что 'a and' а - это «тот же атом». Это может зависеть от реализации, но кажется ...
вопрос задан: 11 April 2013 23:21
0
ответов

Странное поведение умножения в интерпретаторе Guile Scheme

Я практиковался в интерпретаторе Scheme в Guile 1.8.8 на OS X. Я заметил кое-что интересное. Вот функция expt, которая в основном выполняет возведение в степень expt (b, n) = b ^ n: (define (квадрат x) (* x x)) ...
вопрос задан: 24 January 2013 08:39
0
ответов

Как перевернуть список?

Какова функция списка в схеме? Он должен иметь возможность обрабатывать вложенные списки. Так что если вы сделаете что-то вроде (reverse '(a (bcd) e)), вы получите (e (bcd) a) в качестве вывода. Как мне ...
вопрос задан: 28 December 2012 22:09
0
ответов

Как «letrec» ​​реализуется без использования «set!»?

Как можно реализовать letrec без использования set !? Мне кажется, что набор! является императивной конструкцией программирования, и при ее использовании теряются преимущества функционального программирования.
вопрос задан: 19 December 2012 02:15
0
ответов

Преобразование функции с двумя рекурсивными вызовами в схеме, чтобы сделать ее хвостовой рекурсивной

Прежде чем я начну: ДА, это домашнее задание из колледжа. Прежде чем мне скажут, что я ленив и злой: эта часть домашнего задания заключалась в преобразовании двух функций, которые у нас уже были, а эта - шестая. (определить (...
вопрос задан: 16 December 2012 16:00
0
ответов

удаление последнего элемента списка (схемы)

Итак, я должен удалить последний элемент списка в схеме. Например, скажем, у меня есть список (1 2 3 4). Мне нужно вернуть: (1 2 3) Моя идея: обратный (список) автомобиль (список) reverse (list) Есть ли ...
вопрос задан: 1 October 2012 13:15
0
ответов

найти свободные переменные в лямбда-выражении

Кто-нибудь знает, как найти свободные переменные в лямбда-выражении? Свободные переменные — это переменные, не являющиеся частью лямбда-параметров. Мой текущий метод (, который заставляет меня...
вопрос задан: 15 September 2012 03:38
0
ответов

преобразование файла в список или строку в схеме

У меня возникла небольшая проблема с преобразованием текстового файла в список или строку. Скажем, у меня есть "blah.txt", который содержит :3 + 4 Теперь я хочу вызвать этот файл, который, как я знаю, можно сделать с помощью (define...
вопрос задан: 15 September 2012 03:35
0
ответов

Анонимные лямбды, напрямую ссылающиеся на самих себя

Имеется ли в Scheme или в каких-либо диалектах схемы своего рода оператор "self", поэтому что анонимные лямбды могут повторяться сами по себе, не выполняя чего-то вроде Y-комбинатора или именования в летреках и т. д ...
вопрос задан: 11 September 2012 18:33
0
ответов

Умножение без + или *

Я самостоятельно прохожу путь через How to Design Programs. Я не совсем разобрался со сложной линейной рекурсией, поэтому мне нужна помощь. Задача: Дайте определение умножения, которое потребляет два натуральных ...
вопрос задан: 1 September 2012 22:20
0
ответов

Существуют ли в Python такие функции сопоставления с образцом?

Я только что нашел функцию сопоставления с образцом в Racket очень мощной. > (совпадение ' (1 2 3 )[ (список a b c)(список c b a )] )' (3 2 1 )> (совпадение ' (1 2 3 )[ (список 1 a... )a] )' (2 3 )> (совпадение ' (1 2 3 )...
вопрос задан: 15 August 2012 16:02
0
ответов

Как определить предикаты типов в схеме

«Обычные» функции обычно определяются только в домене объектов данного типа, но некоторые функции, такие как список предикатов типа схемы? или процедура?, определены для аргументов любого типа,...
вопрос задан: 6 August 2012 05:17
0
ответов

Как сопоставить в матче в Racket?

если у меня есть что-то вроде этого (определить s (привет,там ))тогда как я могу написать в матче нравится (соответствует s [ (,h,,t )]... )Но это не работает, потому что матч нужен, так как я могу это сделать?
вопрос задан: 27 July 2012 03:23
0
ответов

Как получить тип значения в Scheme?

Мне нужна функция, которая получает тип значения во время выполнения. Пример использования:(get -введите a ), где a было определено как произвольное значение схемы. Как мне это сделать? Или я должен реализовать это...
вопрос задан: 19 July 2012 18:14
0
ответов

пространство имен ракетки/базы

Кто-нибудь знает, что входит в рэкет/базовый язык. Я хочу сравнить определения пространства имен Racket/Base с черновиком R7RS, чтобы получить из первых рук представление о том, насколько Racket отличается от...
вопрос задан: 12 July 2012 19:21
0
ответов

SICP Упражнение 1.5

Упражнение 1.5. Бен Битдиддл изобрел тест, чтобы определить, использует ли интерпретатор, с которым он сталкивается, аппликативную -оценку порядка или нормальную -оценку порядка. Он определяет следующие два...
вопрос задан: 4 July 2012 19:37
0
ответов

Есть ли возможность нескольких операторов внутри тела условного оператора?

Я прежде всего C++ (, поэтому программирую объектно-ориентированный/императивный ), и я нахожу довольно странным, что у вас может быть только один оператор на оценку в условном операторе, таком как оператор if -в схеме, файл...
вопрос задан: 29 June 2012 16:19
0
ответов

Каковы различия между Clojure, Scheme/Racket и Common Lisp?

Я знаю, что это диалекты одной языковой семьи, называемой шепелявостью, но в чем именно разница? Не могли бы вы дать обзор, если это возможно, охватывающий такие темы, как синтаксис, характеристики, ...
вопрос задан: 27 June 2012 16:35
0
ответов

Можно ли реализовать автоматическое -каррирование для языков семейства Lisp -?

То есть, когда вы вызываете функцию с арностью> 1 только с одним аргументом, она должна вместо отображения ошибки каррировать этот аргумент и возвращать результирующую функцию с уменьшенной арностью. Это...
вопрос задан: 27 June 2012 03:15
0
ответов

Конда, Конди, Конде, Проводник

Я читаю Разумный интриган. У меня есть некоторая интуиция о том, как работает Конде. Тем не менее, я не могу найти формальное определение того, что делают conde / conda /du / condi. Мне известно о https: //www.cs.indiana.edu/~ ...
вопрос задан: 20 June 2012 19:03
0
ответов

сет-кар! и пусть на языке схем

Меня немного смущает результат этого примера: (define mk-q (lambda () (let ([l '(x)]) (cons ll)))) (define q (мк-д)) д => ((x) x) (set-car! (cdr q) 'y) => ((y) y) I ...
вопрос задан: 18 June 2012 01:31
0
ответов

Написание переносимой схемы кода. Что-нибудь «стандартное» помимо самого R5RS?

Я изучаю схему и до сих пор пользуюсь лукавством. Я на самом деле просто учусь как способ научить себя функциональному языку программирования, но я хотел бы опубликовать проект с открытым исходным кодом некоторых ...
вопрос задан: 16 June 2012 09:37
0
ответов

случайная функция в DrRacket

В настоящее время я использую DrRacket в Mac OS X и выбираю язык "R5RS", но когда я ввожу (random 100), я получаю сообщение об ошибке: ссылка на неопределенный идентификатор: random В чем проблема?...
вопрос задан: 11 June 2012 12:22
0
ответов

Значение # в числовых литералах Схемы

DrRacket под управлением R5RS говорит, что 1### является абсолютно допустимым номером Схемы, и печатает значение 1000.0. Это наводит меня на мысль, что знаки фунта стерлингов (#) указывают на неточность числа, но это не так...
вопрос задан: 7 June 2012 16:15
0
ответов

Перечислите все пользовательские переменные в схеме

В python я могу использовать dir(), а в Racket (5.2) я могу (требуется xrepl), кстати, чтобы получить список всех определенных переменных. Какой портативный метод существует, чтобы сделать то же самое во всех схемах? Это сделано, как...
вопрос задан: 5 June 2012 13:51
0
ответов

Есть ли линт для Common Lisp или Chicken Scheme?

Есть ли линт для Common Lisp или Chicken Scheme? Возможно, что-то вроде splint C, HLint Haskell, B :: Lint Perl и т. Д.?
вопрос задан: 2 June 2012 20:02
0
ответов

Выполнение кода подстановки на основе правила сопоставления с образцом SICP

Я нашел код из этого урока в Интернете (http://groups.csail.mit.edu/mac/ftpdir/6.001-fall91 /ps4/matcher-from-lecture.scm), и я чертовски много времени пытаюсь отладить его. Код выглядит ...
вопрос задан: 30 May 2012 21:00
0
ответов

Макрос схемы, запускаемый ключевым словом, которое не находится в начале списка.

Предположим, я хочу вызвать макрос схемы для чего-то другого, кроме первого элемента в s-выражении. Например, предположим, что я хочу заменить define инфиксным стилем :=, чтобы: (a := 5) ->...
вопрос задан: 28 May 2012 23:33
0
ответов

Racket flymake-mode для emacs

Можно ли сделать flymake-mode осведомленным о синтаксических (или других) ошибках в файлах Racket, как это делается, например, для erlang или python? Я использую режим гейзера для рэкета, если это имеет значение.
вопрос задан: 20 May 2012 18:39
0
ответов

Интеграция IronScheme в Visual Studio 2010

Есть ли способ (или кто-нибудь может найти способ) импортировать IronScheme в VS2010? Я уже рассмотрел этот вопрос и сделал все, что мог - я даже отредактировал бинарные файлы, связанные с ...
вопрос задан: 19 May 2012 12:23