markdownを使う

基礎的な技術の問題はなくなったので、次は実装をしていきます。
でも、今週は体調がよくなかったので寝てました。(汗
仕事を頑張りすぎた。周りに比べたらそれほどでもないような気もしますが、やっぱ、疲れた。
パソコンしようとすると、頭痛がします。むぅ。
JVMソースコードリーディングの会は行かないでしまった。orz...

ってことで、今週はゴロゴロしているうちに終わったんですけど、ドキュメントも書かなきゃなって思いつつ、
markdownを使って書いてみていました。

markdownを使うと、github上のwikiやreadmeにすぐに使えるし、ソースをのせるのも、shift + tabでネストを
1つ増やすだけでよいので、便利です。

ドキュメント能力は低いし、頭も悪いので時間掛かるのですが、地道に書いて行くしかないです。
前書いていたものも、markdownにして、wikiに書いておきました。

https://github.com/hsk/timi/wiki

ってことで、今週はこんなかんじ。
2012年の前半の半年を振り返ると、レジスタ割り付け、型の暗黙的変換、型推論を勉強しました。
分かってしまえばそれほど難しくないんですけど、やっぱり難しかったので、もっと分かりやすくしたいわけです。
次の半年では、分かりやすい文章を書きつつ、型付きのコンパイラを完成させたいと思います。

とはいってもfloatが使えるようになるだけかもしれません。
intとfloatが使えるようにしてから、arrayとかstructを使えるようにして行くつもりなので、何処まで出来るかです。

JSXが出て、haXeが話題になってたのが最近気になった所です。
haXeでもコンパイラ作ってみたことがあったので、嬉しいなぁっと思った次第ですが、
haXeのswitchはScalaのmatchと比べると非力だったのでその辺パワーアップしてくれたらなぁって思います。
Object指向と、関数型言語の融合はパターンマッチをどう融合するかであるとも言えるんじゃないかと思います。

OCaml関数型言語のMLにオブジェクト指向を取り入れた形になっています。
Scalaオブジェクト指向のclassを拡張してパターンマッチを使えるようにしました。
haXeenumを拡張してパターンマッチが出来るようにしています。
他の可能性としてunionの延長線上に拡張することも出来るように思います。

unionを拡張したパターンマッチを出来るようにした言語を私は知りませんが、classや継承を使わないで、
structのみでパターンマッチの仕組みを作れるのならそれがベストなのかも知れません。