Здравствуйте, Sergey J. A., Вы писали:
С каждого по варианту! Выриант Трурля красив, но я бы предпочел что-нибудь прямолинейное, типа этого
xlist = seqFrom 1
where seqFrom x = x : (seqFrom $! if x>0 then -x-2 else -x+2)
Оператор вызова по значению $! устраняет ненужную ленивость — исключает возможность образования последовательности нуль-арных "функций", ссылающихся друг на друга, и тем самым не позволяющих освободить занимаемую ими память.
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн