Hash λ Bye

Haskell, Clojure, MLなどの話

compiler

GHCの中間言語Coreへの脱糖を覗き見る

Haskell (その3) Advent Calendar 2017 11日目の記事。(予約投稿知らなかったのでフライングになった) GHCがコンパイルの途中で中間表現として用いるCoreの生成っぷりを観察する。 観察して、あーはいはいなるほどね(わかってない)、と言うだけになりそう。 …

SMLの関数適用を構文解析する時の問題

まだ構文解析器で苦労している。 今回も詰まっているのは構文のconflict。 問題 これが関数適用 app : exp exp これが二項演算子適用 infixapp : exp vid exp この時に入力を x y z とすると2つの解釈ができてしまうことになる。 ((x y) z) とするネストし…

左再帰を含む構文解析むずい

やろうとしていること Haskellのparsecを使ってSMLの構文を解析し構文木を生成する。 やっていること SMLの構文解析はいろいろステップがある。 リテラル (special constants) 識別子 (identifier) 型注釈 !!イマココ!! パターンマッチ 式 宣言 モジュール構…