言語メモ

by syoyo

JavaScript のための型推論

JS 実装のために、型(推論)の理論や実装をもうちょっとしっかりやりたいなぁと思っています.
py2llvm で実装した型推論はやっつけだったし.

JS で型推論するのに役立ちそうな情報です.

Type Inference for JavaScript
http://pubs.doc.ic.ac.uk/chrisandersonphd/

世の中やっぱ広いわ。すでにやっているひといるし。
でも、完全な JS に対してではなくて、JS のサブセットに対する型推論.

むむぅ、そもそもまず型推論のルールの読み方から勉強しないとよくわからない…

というわけで、型の本を読んでみます.

Types and Programming Languages
http://www.amazon.co.jp/dp/0262162091/




とりあえず true と false で出来た世界の simply typed lambda calculus あたりまでなんとなく理解.

並列スクリプト言語?…

Erlang VM で動く Python/Ruby っぽい構文で書ける Reia という言語を知りました.
(via InfoQ)

http://wiki.reia-lang.org/wiki/Reia_Programming_Language

ただ、並列処理を行う構文はまだない?それとも自動で並列化?…

構文は(個人的に) Python の気持ち悪いところと Ruby の気持ち悪いところが消えていて、
好感が持てます.


module Bora
  def muda(a)
    a + 3

と Reia では記述できます.

Python の(個人的に)気持ち悪いところ(「:」 が def の末尾に必要)と
Ruby の(個人的に)気持ち悪いところ(end がペアとして必要)が消えてとてもすっきりしています.
ちなみにタブ文字は NG みたいです. インデントするときはスペースで.

そろそろ def も消せるんじゃないかなぁとおもいます.
インデントを見て関数定義かどうか判断することによって.

Advertisements