数列」なので「las」です(わかりづらい)。las関数は再帰的に定義されています。las関数の中でlas関数が使われてますから「再帰的」ということです。初項は「"1"」ですね。「map」関数で「reverseRle」関数をそれぞれの要素に適用してやります。Haskellは「遅延評価」が採用されていますから、lasの値が決定されてねぇじゃんってならないんです。初項は「"1"」ですから、先ほどの「reverseRle」関数をこれに適用させます。すると返り値は「"11"」です。今の段階でlasは["1","11"]です。次に適用するのは、「"11"」です。返り値は「"21"」です。今の段階でlasは["1","11"."21"]です。この要領で次々に無限に生成できます。定義的には無限リストです。は?やばくね?って普通の人は思うかも知れませんが、さっきも言ったように、Haskellは遅延評価を採用していますから、大丈夫なんです。必要なときに評価するのです。上の関数を、Haskellの式を対話的に評価したりプログラムを解釈実行したりできる、GHCiというGHCの対話環境を使って、loadして使うといいですね。「ghci」でGHCiは起動できます。「haskellファイル」」でloadしてやります。lasは無限リストなので、「take」とか「!!」を使ってやって処理しましょう。lst」ってやると、lstを10項分返してくれます。「lst!!10」ってやると10項目じゃなくて11項目が返ってきます。Haskellのリストは0からですから。ありがとうございました。こんにちはゾディアックです。