Постфункциональное
Подумалось тут - чем хороша функциональщина - что наконец под языками появилась строгая и гибкая семантика, что резко расширяет возможности и языкового дизайна и программирования, чем плоха - читаемость кода на том же хаскеле мне лично более всего напоминает читаемость ассмеблерного или фортового кода. С другой стороны - а что мешает плюнуть на "чистоту синтаксической идеи" и начать "отматывать" синтаксис обратно к "нормальным языкам" - не везде естественно, а только там где это можно сделать удобно и без нарушения семантики: что-то типа вместо
let (_, y) = foldl (\((x,y), elem) -> ...) (x, 0) [...] in y
писать что-то вроде:
for [x, y = 0] (elem in [...]) do
x := max (x, elem), y := y + x
done;
...
С подразумеваемой трансляцией именно в fold