1. Эта запись о работе со степенными рядами в Хаскеле напомнила мне, почему я влюбился в этот язык, когда изучал его два года назад (увы, с тех пор с ним не работал). Это неверноятно прекрасно - когда можешь определить функции вот так, и оно просто будет работать:
integral fs = 0 : (int1 fs 1) where
int1 (g:gs) n = g/n : (int1 gs (n+1))
expx = 1 + (integral expx)
sinx = integral cosx
cosx = 1 - (integral sinx)
2. Знаете ли вы, что можно составить сархивированный файл, который разворачивается сам в себя? Ссылка на файл selfgz.gz в этом старом сообщении не работает, но его можно скачать отсюда.
3. Вот эта запись в n-category cafe, и особенно статья, которую она упоминает - очень и очень интересны, но бедный мой мозг, кажется, с ними сейчас не справляется. Сносит крышу.
integral fs = 0 : (int1 fs 1) where
int1 (g:gs) n = g/n : (int1 gs (n+1))
expx = 1 + (integral expx)
sinx = integral cosx
cosx = 1 - (integral sinx)
2. Знаете ли вы, что можно составить сархивированный файл, который разворачивается сам в себя? Ссылка на файл selfgz.gz в этом старом сообщении не работает, но его можно скачать отсюда.
3. Вот эта запись в n-category cafe, и особенно статья, которую она упоминает - очень и очень интересны, но бедный мой мозг, кажется, с ними сейчас не справляется. Сносит крышу.
no subject
Date: 2008-02-23 06:30 pm (UTC)можно на питоне подобное написать, с генераторами вместо ленивых списков.
получается, правда, не так красиво:
integral = lambda s, c0=0: chain([c0], (c/(n+1.) for n,c in enumerate(s))) def exp(): for x in integral(exp(), 1.): yield x