Форум Tolkien.SU

Архив => Архив => Тема начата: Gloredhel от 02/12/2003, 19:32:13

Название: [Архив] Смерть ака Лисп.
Отправлено: Gloredhel от 02/12/2003, 19:32:13
Опять я с жалобами  :-[ А проблема такая

Лямбда - исчисление.
1 альфа-переименование
2 lambda substitution (по-русски наверное лямбда-замена)
3 бета-редукция (+ спрсоб избежать бесконечную редукцию)

и все это на лиспе. и весь курс в полном ауте...

Любые советы принимаются до понедельника... даже до вторника.. потом меня просто не будет в живых         
Название: Re:Смерть ака Лисп.
Отправлено: Vantela от 02/12/2003, 19:49:22
хм....ну я знаю лисп.....
а что нужно обьяснить в том что было перечислено?
все?
виртуально? это мне так слабо.....
до вторника? помоему я уже опоздал.....

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Gloredhel от 02/12/2003, 19:56:13
нужно не объяснить. нужно написать это все

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 03/12/2003, 01:05:26
Лямбда-подстановка.

Что значит "написать"? Реферат сваять? Конспект? Так извините, никто этого за вас делать не будет. А информации по Сети много - ищите, и обломится вам по запросам вашим...

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Gloredhel от 03/12/2003, 17:27:07
Мунин, ты как всегда невероятно добр? тем более, что лично от тебя я ничего не требовала..

имелось ввиду "объяснить, как это написать на лиспе", если лямбда-термин представлен в виде  
(lambda (x) x)

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 03/12/2003, 18:18:36
А это практически и есть на лиспе. В стандартном, насколько я помню, символ lambda так и обозначен. Если нет - копай в сторону defun-а.

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Mellon от 05/12/2003, 13:22:47
Не, конечно изначально было сильное желание сказать: "Тузик, фас!" и посмотреть, чем дело кончится, но…
Гло, может я не прав и ничего не понимаю, но ты мне напомнила рассказ Шекли об каком-то аппарате, настроенном на то, чтобы отвечать на важные вопросы. Там проблема оказалась в том, что все задававшие вопросы, формулировали их не правильно, и, посему, умная машина не могла им ничего сказать (как же я ценю Мунина, как оказалось! ::)). Просто дело в том, что для того, чтобы точно сформулировать вопрос, нужно знать большую часть ответа.

Начнем сначала:
Гло, будь добра, изложи проблему внятно! Как я предполагаю, у тебя или контрольная, или что-то подобное. Тебе задали какие-то вопросы и ты должна написать на них ответ? Изложи вопросы здесь так, как тебе их задали (по-английски – тут народ не глупый), с переводом, видимо, подстрочным. И скажи, для чего и в каком, предположительно, варианте тебе нужен ответ.
Ворон, реши ребенку задачку, плиз!!! Не будь букой! Она же все провалит и не приедет на праздники, кто ж меня тады воспитывать будет!? (Торжественно клянусь, в качестве благодарности, отсыпать тебе крошек. Свежих, от белой булки. :-\)

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 06/12/2003, 00:42:59
Я бы и рад, была бы задачка... Кстати, интересно будет (пере)читать теорию - не так-то хорошо я её и знал...

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Gloredhel от 06/12/2003, 13:55:56
Сознаю свою  вину, меру, степень, глубину.

Задание звучит так:

Implement lambda-calculus in Lisp. Using a simple Lisp representation (such as (lambda (x) x y)  for lambdax.xy) implement

1. alfa-renaming of lambda-terms
2. lambda-term substitution: this should take care to avoid name clashes
3. beta-reduction of a lambda-term: this should include some simple heuristic to try to avoid infinite reduction.

You shold hand in the sourse code listing which should be accompanied by lots of examples that show that you have tested your programs thoroughly. Also include any information that you feel will help the examiner to understand your program, such as (but not limited to)  a description of the datastructure you use to represent Lambda terms and the halting heuristic you use.

Извиняюсь за несколько корявый перевод:

Используя простое обозначение (lambda (x) x y)  для lambdax.xy осуществить в Лиспе:

1. альфа-замену лямбда-термина
2. лямбда - подстановку:  избегая совпадения названий переменных
3. бета-редукция лямбда-термина: в т.ч. способ избежать бесконечной редукции.

Вы должны предоставить распечатку исходного кода программы и примеров, показывающих, что вы тщательно ее протестировали. Также можете включить любую информацию, которая, на ваш взгляд, поможет проверяющему лучше понять вашу программу, например описание термина, который вы используете для обозначения лямбда-термина и метода прерывания бесконечной редукции.


зы: использовать надо лямбда термины одного аргумента


Цитата:
Ворон, реши ребенку задачку, плиз!!! Не будь букой! Она же все провалит и не приедет на праздники, кто ж меня тады воспитывать будет!? (Торжественно клянусь, в качестве благодарности, отсыпать тебе крошек. Свежих, от белой булки. )  
 ну и с меня бутылка шоколада, естественно


               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 07/12/2003, 00:34:32
Ясно. Пошёл читать.

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 07/12/2003, 01:23:35
Какая ссылка забавная:

http://progr.tsi.lv/research/lambda.ppt (http://progr.tsi.lv/research/lambda.ppt)

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 07/12/2003, 01:32:28
И ишшо одна:

http://skif.pereslavl.ru/docs/tdoc/foil03.html (http://skif.pereslavl.ru/docs/tdoc/foil03.html)

Там даже куски кода на Лиспе. Мне кажется, там уже понятно, откуда плясать.

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Gloredhel от 07/12/2003, 21:33:58
Мунин, спасибо... Только вот в теории-то я вроде соображаю... а с Лиспом полная труба

Цитата:
Мне кажется, там уже понятно, откуда плясать.
 Везет тебе! Поделись соображениями, плз!

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 08/12/2003, 02:26:38
Так ты чего, прогу написать не умеешь? Не, это не ко мне, это за неделю не лечится...

А если на других языках, не лиспоподобных, чего-то получалось, то подсказочка: в лиспе есть операторы последовательного выполнения, ветвления, цикла - всё, как в цивилизации...

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Gloredhel от 08/12/2003, 12:15:02

Цитата:
Так ты чего, прогу написать не умеешь?
 Эру! а о чем я тут ору-то?

На других языках, это другой вопрос. А с Лиспом мои мозги категорически несовместимы.

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Mellon от 08/12/2003, 12:51:01
Эру! Ворон, ну помним мы, помним, что ты – наш самый большой зануда! Плиз, ну не нуди, реши ты ей задачку, а? :-\ Ну не понимает у меня бабка ничего в вашем Лиспе (теперь я понимаю, в кого я такой – гений местный), да помоги ты существу, не будь букой!
Блин, ну что я тебя уговариваю, аки барышню на выданье? :-\

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Gloredhel от 09/12/2003, 01:34:09

:-[


               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 09/12/2003, 01:52:47
Решить задачку - это одно; написать (немаленькую) систему, да ещё и отладить - совсем другое.

Gloredhel, слушай внимательнее. Пишешь всё, что надо, в виде обычных алгоритмов (хоть на псевдокоде, хоть на сях), а потом перетаскиваешь в лисповый синтаксис и ключевые слова. Последний шаг - почти автоматический.

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Gloredhel от 09/12/2003, 12:31:19
Мунин-сэнсей, так проблема как раз в Лисповом синтаксисе, который моя голова отказывается понимать ваще.. :-[

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Mellon от 09/12/2003, 12:42:21
Читаю, тихо фигею…
Ворон, надеюсь, ты в преподавание не пойдешь? :-\

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 10/12/2003, 00:45:54
Слушай, Мэллорн, да я бы объяснил всё, но не через форум же! Узко!!!

А лисповый синтаксис примитивный...

Последовательное выполнение (как блок {} в сях) - (progn ... ... ...) Заодно последнее выражение работает как возвращаемое значение.
Условие - (if (condition) (then-part) (else-part))
Цикл - (while (condition) body)

Присваивание переменной - (setq variable value)

Определение функции - (defun name (argument-list) body)

Короче, всё как обычно, только скобочки немного другие. И не говорите мне, что вы этого всего не знали: это во всех книжках написано...



               

               
Название: Re:Смерть ака Лисп.
Отправлено: Mellon от 10/12/2003, 12:01:20

Цитата из: Мунин on 10-12-2003, 00:45:54
Слушай, Мэллорн,...

В полном восторге:
Нет, все таки я его доканал!
Радость наша, проблема была не в том, что ту не можешь все рассказать на форуме, а в том, что человек просил нормальную шпору для сдачи задания, которую, как я понимаю, ты так и не дал, решив открыть курсы по Лиспу. Я понимаю, что тебе нравиться передавать накопленный опыт, но выучить что-либо за столь короткий срок, тем более, как ты правильно заметил, на форуме, очень сложно. Все, что я могу пообещать – когда Гло будет в городе, я тебе это сообщу через форум или ЖиЖикалку – сможешь с ней пересечься, если будет желание, и поведать все, что посчитаешь нужным.

Гло, надеюсь ты сдашь задание. Удачи тебе, бабо! ;)

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Мунин от 11/12/2003, 00:00:17
Шпор не дождётесь. Цель преподавания - не в обмане преподавателей.

               

               
Название: Re:Смерть ака Лисп.
Отправлено: Mellon от 11/12/2003, 11:57:09
Гло, ну разве не прелесть? Так и убил бы!
Мог бы сразу сказать, а не компостировать мозги неделю!? ::)

               

               
Название: Потом утонула Надежда, и Вера, и Маша и Клава
Отправлено: Gloredhel от 11/12/2003, 12:13:43
Все. Все сроки вышли, отсрочки тоже. Мунин, твой благородный порыв я не оценила. Но тебе, я думаю, это до лампочки....

Тема закрыта