Scalet

let多相を持った言語を実装したよ

これは何? Types and Programming Languages (The MIT Press)やプログラミング言語の基礎理論 (情報数学講座)を読んだけど、let多相がよく分からない。 ならば、let多相を持った簡単なプログラム言語を作ってみよう。 名前は「Scala + let多相」なんでscalet…

リファクタリングした

http://bitbucket.org/mzp/scalet/ 思いつくまま書いていたら、だいぶコードがへんな臭いを発するようになってきた。なので、Scala特有のimplicit converionやExtractorを使ってばりばり書き直してみた。その間に、「Extracotrの挙動が変だー」とTwitterで叫…

ifの追加

http://bitbucket.org/mzp/scalet/ ifを実装するのを忘れていたので、実装した。ついでに、Bool値/Bool演算子も追加した。 あと、直接MacでScalaを動かすよりも、VMWareでUbuntuを動かして、そこでScalaを動かしたほうが快適なことに気がついた。MacのScala…

let束縛の追加

http://bitbucket.org/mzp/scalet/ let束縛のためのASTノードと評価ルールを追加。 評価機とASTはこれで十分なので、明日からは型推論部分にとりかかれるはず。

let多相を持ったプログラム言語を作ろう

Types and Programming Languages (The MIT Press)やプログラミング言語の基礎理論 (情報数学講座)を読んだけど、let多相がよく分からない。なんとなくは理解できるんだけど、どうもしっくりこない。 というわけで、let多相を持った簡単なプログラム言語を作…