セカイノカタチ

世界のカタチを探求するブログ。関数型言語に興味があり、HaskellやScalaを勉強中。最近はカメラの話題も多め

マーブルワーズ

輪廻はIOモナドだった。またはIOモナドは輪廻だった

Loop

みなさん、輪廻してますか?

「輪廻とはなんなのでしょうか?」という話題にも興味があるのですが、それは今回は置いといて、この話は完全にネタです。^^;

まず、輪廻と一口に言っても、仏教だけの用語ではなく、インド方面に広く浸透している考え方なので、様々な解釈があり得ると思います。

そのため、ここでは、輪廻のモデルを「仏教思想のゼロポイント: 「悟り」とは何か」から引用します。

まず、「無我」であるところの衆生が輪廻する仕組みについて確認しておこう。この点については、明治生まれの仏教学者で、かつての東京帝国大学教授であった木村泰賢による図式がわかりやすいので、次にそのまま引いておこう。

A-A'-A''-A'''-An...anB-B'-B''-B'''-Bn...bnC-C'-C''-C'''-Cn...cnD......dnE...

ここにA、B、C、D、Eとあるのは、木村の用語で言えば「五蘊所成の模型的生命」、さきほどの私の解説の言葉で言えば、「認知のまとまり」もしくは「経験我」に当たるものである。例えば「太郎」という名前の人がいたとして、それも実際には縁生の五蘊の和化合であり、したがって誕生時から死没時まで常に変化を続けていて、そこに固定的な実体は存在しないのだが、いちおうその「変化する認知のまとまり」を、仮に「太郎」(右の図ではAあるいはBなど)と一貫して名付けておくわけだ。

そして、A-A'-A'‘-A’‘’-Anというのは、もちろんそのAの時系列にしたがった変化を表す。右に述べたように、Aと名指される認知のまとまり(経験我)も、実際には縁生の現象に過ぎないから、それは時々刻々と(仏教用語を使えば刹那ごとに)流動・変化を続けており、それは誕生時から死没時まで続くわけである。

そのように変化し続けるAは、ある時点(An)で死を迎える。そこで起こるのが転生である(図式の…はそれを示す)。そこでBという新しい五蘊の和化合を得たとすると、その形は大いにAと相違しているようではあるが、そこにはやはり、anというAの「経験的積聚」、即ち、Aの積み重ねてきた行為(業)の結果が、潜勢力としてはたらいている。そしてそのBという認知のまとまりが、また刹那ごとの変化を続けていく(anB-B'-B'‘-B’‘’-Bn)。

仏教思想のゼロポイント P92-93より

つまり、輪廻というのは人の生死にかかわらず、刹那(非常に短い時間)の間でも「少しづつ」輪廻しているということです。

我々の体をとってみても、同じ主体でありながら、時間とともに全く同じということは無く、少しずつの変化が積み重ねられています。そして、それがある時、生命としての身体は朽ちて、次の主体に移り、そこでまた輪廻していくという考え方になります。

ここでは、この考え方を輪廻として捉えます。

IOモナド

ここで話を一旦変えて、IOモナドについてです。

qtamaki.hatenablog.com

モナドが何かについては、今までも色々な人が挑戦しては微妙に手応えがない感じになるという難解な問題なので、以前に書いたブログを晒してお茶を濁したいと思います。

IOモナドの詳細については、専門的になりますので割愛しますが、正確さを犠牲にして単純化すると、こんな感じのものです。

世界 → 処理1 → 世界' → 処理2 → 世界'' → 処理3 → 世界'''

つまり、「世界を受け取って何らかの操作を行い、変化した世界を返す処理」があった時に、その処理を色々つなげて連鎖していく事により、複雑な処理をあたかもブロックを組み合わせるかのように作り上げていくことが出来るという、便利なプログラミングテクです。

僕は、先程の「輪廻の図示」を見た時に「ピン」と来てしまいました。

この形、何かに似ています。

そうです、輪廻の図とIOモナドの図が驚くほどそっくりなのです!

輪廻というと、どうしても「個人の魂」のような物の変遷を思い浮かべてしまいがちですが、少しづつ変化する主体というものは無い、つまり無我なので、個人と世界の境界線というものは案外あやふやだったりします。

IOモナドは、世界を受け取り、ちょっとだけ変化した世界を返します。この世界の変遷を定義した処理があれば、それは「輪廻と区別がつかない」という事になりうる可能性があります。

IOモナドは、あくまで「コンピューターの世界の中のプログラムの世界の中の関数の世界」と現実世界を結ぶために考え出された仕組みに過ぎず、実際に世界全体を受け取るほどのキャパはありません。^^;

が、原理上はIOモナドによって輪回を定義でき、世界をも定義できるということです。

そして、もし貴方がプログラマーでモナドに関する知見を有するのであれば、輪廻の仕組みが、思ったよりも簡単なものだと認識されたかもしれません。

自分自身を定義するIOモナドアクションを定義することも夢ではないかもしれないですよ?

・・・という事で、適当な思いつきを文章にしてみただけのテスト。でした。

真理というのは、色んな形をしていて、相似的な構造をしていると、僕は思います。

こんなヘンテコな組合せでも、裏に潜む本質的な構造について思いを巡らすのも面白いかもしれません。

仏教思想のゼロポイント: 「悟り」とは何か

仏教思想のゼロポイント: 「悟り」とは何か