Re[13]: вдогонку
От: deniok Россия  
Дата: 27.10.08 09:57
Оценка: +4
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>В этом смысле — мб, и да, если знать Хаскель, конечно. Но меня вообще-то больше интересует эффективность его выполнения


Ключевым моментом, которого пока не касались в этой дискуссии, является высокоуровневая оптимизация, про которую никакой ассемблер не знает. Например, в Хаскелле есть дефорестация (list fusion). Вася взял список, применил к его элементам функцию f, получив другой список:
vasja lst = map f lst

Петя взял васин код, и поэлементно применил к возвращаемому этим кодом списку функцию g
petja lst = map g (vasja lst)

Оля взяла петин код, поэлементно применила к возвращаемому этим кодом списку функцию h
olja lst = map h (petja lst)

Компилятор Хаскеля взял эту конструкцию с кучей промежуточных списков и оптимизировал в
olja_oplimized lst = map (h . g. f) lst

Без единого промежуточного списка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.