Haskell の Lazy evaluation と Python の generator は
結果的に使う目的が似ていることはあるけど、ベースとなる考えも適用範囲もかなり違うと思うぞ。
副作用、型についての考え方は真逆だし。
Python は手続き型言語にうまく関数型言語の道具を導入したなぁという気はするけど、
(手続き色の濃い言語に List conprehension を導入したセンスはけっこう凄いと思う)
関数型言語に似ているとはいえないし、似ている必要もない。