|
|
|
entrix |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 25.4.2010 Репутация: нет Всего: нет |
Такая вот тема.
Попался в поле зрения так называемый комбинатор Y (подробности тут http://www.wikiznanie.ru/ru-wz/index.php/К...одвижной_точки) Так вот, как работает, например, вот такая комбинация для вычисления длины списка (код на scheme)
Понять не сложно, но вот как работает такой код.
Я до конца понять не смог. Можно ли использовать это определение y-комбинатора для вычисления факториала или длины списка, Например,
зависает в рекурсии. Это сообщение отредактировал(а) entrix - 25.4.2010, 21:16 |
||||||
|
|||||||
k0rvin |
|
||||
Опытный Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: нет Всего: 5 |
вообще непонятна мне эта мания некоторых функциональщиков выражать рекурсию через несколько анонимных лямбд. я понимаю с теоретической точки зрения это интересно, но на практике совершенно нечитаемо и непонятно. Вы можете 1) дать правильную ссылку, 2) переписать код в более понятной форме? Добавлено через 2 минуты и 14 секунд
кстати, зачем? P.S. статью про точку сам нашел (Комбинатор неподвижной точки) -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||
|
|||||
Ryukzak |
|
||||
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 12.9.2006 Репутация: нет Всего: 1 |
Можно, когда-то давно считал так факториал, что бы понять как именно это работает. (на листочке) Вообще очень хорошо это описано вот тут: http://www.cl.cam.ac.uk/~lp15/papers/Notes/Founds-FP.pdf 4.3 Usage of Y Вроде бы где-то видел и перевод.
Могу конечно жестоко ошибать, но вроде rec в ML языках и есть это самый комбинатор. И вполне себе читаемо. |
||||
|
|||||
k0rvin |
|
||||
Опытный Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: нет Всего: 5 |
не знаком с ML вообще, Вы имете в виду этот rec (Ocaml):
без которого нельзя было бы определить рекурсивную функцию? Это сообщение отредактировал(а) k0rvin - 25.4.2010, 21:53 -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||
|
|||||
Ryukzak |
|
|||
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 12.9.2006 Репутация: нет Всего: 1 |
||||
|
||||
adejneka |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 105 Регистрация: 8.7.2005 Где: Москва, Россия Репутация: 9 Всего: 11 |
|
||||
|
|||||
qweqwe |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 55 Регистрация: 31.1.2007 Репутация: нет Всего: 0 |
||||
|
||||
Правила форума LISP | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | LISP | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |