Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет kouzdra ([info]kouzdra)
@ 2007-07-12 16:02:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:Компутерщина

О предрассудках:
Из старого треда:

Список, насколько моя знать, это объект, удовлетворяющий следующему индуктивному определению:

1) Пустой список есть список.
2) Если L - список, а t - объект, могущий быть элементом списка рассматриваемого вида, то результат "приписывания" t к L - тоже список.

Суть этого определения в том, что любой "реальный" список можно эффективно "раздеть" до пустого


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

При том, что речь идет о реальных списках в реальных языках программирования.

PS: Еще очень забавная вещь происходит, если на отношение равенства списков посмотреть с точки зрения принципа тождества неразличимых (в компьютерном варианте) - там очень странные вещи начинают происходить - например из того, что B /= C, не следует,
что A++B /= A++C (++ - конкатенация) - во многих примерах они реально будут различны, но способов обнаружить этот факт не будет.

Забавная на самом деле вещь - "интуитивная очевидность конструктивной математики" :)



(Читать комментарии) - (Добавить комментарий)


[info]ppkk
2007-07-12 17:38 (ссылка)
То есть: базовое определение ни о чём не думает, например, в нём не отражено, что сравнение порядка двух элементов делается не в одно действие и т.п.

Условие конечности не ограничивает длину константой.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]polytheme
2007-07-12 18:20 (ссылка)
да, но, например, приятно, создавая список,
не говорить, какой он длины:

repeat (repeat true) создает нам бесконечную битовую
плоскость,
а когда нам нужно что-то напечатать, мы делаем
take 8 (map (take 8) bitField)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ppkk
2007-07-12 18:24 (ссылка)
Так этого и так никто почти не делает. Правда, потом из-за глючности управления памятью программы могут не работать (если создавал с пустого списка, а надобавлял много миллионов элементов: синтаксически верно, памяти должно хватать, а вылетает).

Это что за язык?

(Я, кстати, решил узнать про функц. программирование и заказал книжку про Haskell, чтобы в транспорте прочесть.)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]polytheme
2007-07-12 18:26 (ссылка)
это хаскель и есть :)
отличие тут, например, в том, что нигде в список элементы не добавляются
(это заняло бы слишком много времени :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ppkk
2007-07-12 18:36 (ссылка)
Если внутрь не добавлять, то это скорее не одно-двухсвязный список, а просто динамический массив ("складывать" их можно).

Что есть FP???

Книжка про хаскел ещё не пришла, так что я ничего не понял.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]polytheme
2007-07-12 18:42 (ссылка)
ну зачем же так кричать ? :)
я же написал, что такое FP

там написано следующее:

1. функция repeat x возвращает бесконечный список из элементов x
2. таким образом, repeat (repeat true) возвращает бесконечный список бесконечных
списков false, т.е. бесконечное битовое поле.
3. функция take n l возвращает голову длиной n списка l
4. функция map f l возвращает список, составленный из результата применения функции f ко всем
элементам l

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ppkk
2007-07-12 18:44 (ссылка)
На первый взгляд это какая-то плюшевая бесконечность. От неё обязательно будет геморрой…

Почитаю книжку, может уточню мнение.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]polytheme
2007-07-12 18:49 (ссылка)
вот очень хорошая книжка,
правда, она по scheme :
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html
(кстати, интересно, как Антон к ней отнесется)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ppkk
2007-07-12 18:57 (ссылка)
Скачаю, когда прочитаю — понятия не имею.

(Ответить) (Уровень выше)


[info]phantom
2007-07-12 23:20 (ссылка)
дык эта книжка это типа классека,
отношение всегда как классеке.

(Ответить) (Уровень выше)


(Читать комментарии) -