2017-01-01から1ヶ月間の記事一覧

State Monadと正格性について

今回の話題は、State MonadはStrictなものを使おうという話である。 StateT s m a HaskellでState Monadを使う際、一番よく使うのは transformer packageのStateT s m aだと思う。 transformers: Concrete functor and monad transformers あるいは、そのwra…

僕の考えたさいきょうの抽象構文木データ型

あらすじ プログラミング言語処理系を作成しようとすると避けては通れないのが、構文木データ型の設計である。 言語処理系では構文解析、アルファ変換、脱糖、正規化など構文木を変換するパスがいくつか存在して、それらの構文ごとにデータ型を設計しなけれ…