Hash λ Bye

https://utky.github.io/ に移行したので今後こちらに記事は追加されません

Standard MLの定義を読み始める

自分の欲しいDSLを作るにあたって、構文として参考になりそうなものを探した結果MLが良いのではとなった。 特にStandard MLが良さそうだ。

OCamlより個人的には素直な文法に感じた。Schemeと違ってTypingもいずれできそうな構文だった。Haskellのようなオフサイドルールもなくて、parsingが楽かもしれないと思った。

なにより定義という一次ソースがあるので、とりあえずそれを読むことから取り掛かれる。

ということでまずはなんか一個くらい構文要素解析するとこまでいきたい。

参考にしてるもの

Standard MLの定義

http://sml-family.org/sml97-defn.pdf

Haskellコンパイラ

http://www.stephendiehl.com/llvm/

Haskellで書かれた実用コンパイラ

https://github.com/elm-lang/elm-compiler

Standard MLの使い方についての参考

http://walk.wgag.net/sml/index.html

型システム入門

https://www.amazon.co.jp/dp/4274069117

SML#の解説(日本語でSMLの構文定義が読めるという意味で有用)

http://www.pllab.riec.tohoku.ac.jp/smlsharp/docs/3.0/ja/manual.xhtml