MOZART

こないだツンドクしてたガウディ本をぱらぱらみてたら、MOZARTって、Lispと同等の力を持っていそうだ。
カーネル言語とその拡張という形でいろいろなモデルを実現しているので、自由にDSLがかけそう。

ただ、記述したDSLはMOZARTではないかもしれないので、そうだとすればLispより弱いかも。
Lispはどう転んでもLispだし。

Erlangの処理系を少し勉強してみるか。後アクターモデルと。
モデルとパフォーマンスの肝さえわかれば、LispHaskellが最強だと思える。

OSと言語って、行き着く先の2大巨頭で、それぞれ一応別分野に扱われていた気がするのだけれど、最近の分散とか、グーグルとか、Erlangとかのはやりをみていると、OSと言語の分野が融合してきている気がしてならない。

OSのノウハウって、いくつか分野が分けられると思うのだけれど、そのそれぞれは直交した何かな気がする。
そしてそれらを分散したマシンクラスタなりに実現していくのが、最近の流れか。

ファイルシステム、プロセス、リソース管理とか、Minix本に目を通してみよう。これまたツンドク中。

あ、でも最近の流れなんてことはないのか。Unixの次がPlan 9だったんだし、シームレスにgoogleに吸収された感があるし。。
数学は色あせないなぁ。。

仕事の下準備

新規コーナーのサイトスケッチにHAppSを使ってみようと画策中。

arc's challengeにはHAppSの投稿がなかったけれど、どうなんだろ。
arcより短くかけたら面白いな。

理解すればするほどHaskellってPrologと似ている。
ユニフィケーションとパターンマッチか。
Parsecのtryは、Prologの!を逆側からみた感じがするし。。

静的型付けなのに、あまり鬱陶しく感じないのは、型推論のおかげというよりは、代数的型だからな気がする。
型についても理解が足りない。深く理解したら関数なのだろうか。型も。

Lispのダイナミックさは魅力的だけれど、マクロで処理系書いて、関数で処理を書くというようにみれば、
Haskellの場合、型と関数で処理系を書いて、それを組み合わせて処理を書いている感覚になる。

関数が持つ力の大きさがLispより大きい気がする。遅延評価とパターンマッチングの力なんだろうけれど、型とモナドがその力を最大限に生かしているような。

HAppSとTCahceとSTMとアクターモデルとで最強のプラットフォームは作れないものか。。
mnesia likeなdbにしても、ETSとDETSとから構築されているのであれば、なんとか独自で作れそうだ。。
まぁ、実践で鍛えられたプロダクトは、やはり魅力的なのだけれども。