![]() |
|
![]() ![]() ![]() |
|
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. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Prolog | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |