![]() |
|
|
![]()
|
|
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
в соседней теме при попытке помочь товарищу наткнулся на пробелему: не смог описать список неограниченной глубины вложенности без использования функторов(как требовалось). Единственное, что попробовал, это:
на что(вполне ожидаемо) услышал мат компилятора. Какой же выход? И есть ли он, этот выход? |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 2 Всего: 78 |
Только что пытался пошаманить с твоим примером... Долго запаривался, и наконец понял:
Рекурсия в списке... Неограниченная. Вот интерпретатор и ругается, так как явно вызывать из списка список без использования функторов нельзя Добавлено @ 16:44 И я думаю, что выхода без функторного вообще здесь нет. -------------------- Ll 2 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
Guedda, в таком варианте указанная задача товарища не может быть решена на уровне предикатов, если они требуют указания типов аргументов(а у меня компилятор требует
А что тут плохого? И синтаксическую обработку вполне представляю: только, как и в рекурсивных предикатах, нерекурсивные варианты должны стоять впереди - тогда на реальных данных рано или поздно вышли бы из рекурсии при синтаксическом анализе |
|||
|
||||
| Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 6 Всего: 50 |
-------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
![]()
|
| Правила форума Prolog | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Prolog | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |