Re: ФП и абстракция списка
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 31.05.07 23:31
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Конечно почти все ФЯ подерживают полиморфизм списков в том смысле, что позволяет создавать процедуры которые обрабатывают списки с различными типами хранимых значений. Но вот сам список — это всегда "однонаправленный связанный, неизменяемый список". Мы не можем (если я конечно не ошибаюсь) создать единую процедуру которая обрабатывала бы и список и (скажем) массив (коие все же есть в болшинстве ФЯ).


Можем, почему нет? Списки разделяют самые разные интерфейсы с самыми разными типами.
Тебя, скорее всего, заинтересует Data.Foldable

Обрати внимание на типы функций:

sum :: (Foldable t, Num a) => t a -> a


Т.е. любой "сворачиваемый" контейнер может быть обработан этой функцией для подсчёта суммы его элементов.
Погляди на дефолтные инстансы — там есть и список и массив.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.