これは圏です(はてな使ったら負けだとおもっていた)

きっと何者にもなれないつぎの読者につづく。

Set Oriented Programming

オフ中に(今もそうだけど)集合論を独学しながら考えた事。

集合指向(セット指向)プログラミングとかあったらおもしろいかも。万物は集合で、その間の関係とか写像とかを定義しながら使うわけで。

で、どの集合論を使うの?っていうと、まあ、ZFとBGという選択肢があるわけですが、まあ、どっちでも同じだしいっそのことBGにしようかな。


無論、数も順序数を構成していくところから始めます。……あ、でも実数とか実装するのはめんどそうだな……R ~ P(N)*1な訳だけど、それに一対一対応させるのも難しそうか。なんかデデキントは切断とか言う方法を使って構成したらしいですが。……まあ、実数は難しそうだな、うん。

そもそも、パソコンが無限の可能性についてきちんと扱うのは無理だから、そのへんもなんか適当に対処しなければね。


あとは、集合論だけじゃなくて位相とかについても学ばなければ。




まあ、ここまで意味不明な文を書いてきたけど*2、集合指向で何がうれしいのか。
まず、先にも触れたとおり、万物は集合。これはオブジェクト指向の「万物はオブジェクト」思想にも通ずる。
そして、それぞれの集合の関係とかは写像を使って定義するわけだから、この辺はHaskell何かに代表される 関数型プログラミングにも通ずる部分が。


まあ、復帰したら詳しく案を練って、Haskellかなんかで実装してみよう。きっと無理だ。(ぉぃ

*1:実数の濃度 = 自然数の巾集合の濃度

*2:いつもの事です