GHC で LLVM を通したビルドを行う

Posted on 金 17 5月 2019 in 環境構築 • Tagged with Haskell, GHC, LLVM, macOS, Homebrew

GHC で LLVM を通してビルドをしたかったので,設定した.その備忘録.

macOS で LLVM を GHC が使えるようにする

GHC が対応してる LLVM のバージョンは,標準で入ってるのよりちょっと古くって,さらにバージョンごとにサポートされてる範囲が違う.各 GHC でサポートされてる LLVM のバージョンは,以下に載ってる:

https …

Continue reading

GHC IO モナドの中身

Posted on 金 17 5月 2019 in プログラミング言語 • Tagged with Haskell, GHC, IO

Haskell の IO モナドって,中身どうなってたんだろと気になってて,ちょっと調べてみた.そのメモ.

IO モナドと RealWorld

まずは基本から. IO モナドは, Haskell の根幹となるモナドで, main も IO で書く. GHC では中身は次のように定義されている [1]:

-- In GHC.Types …

Continue reading

STG Version 2.5 の動作

Posted on 金 19 4月 2019 in プログラミング言語 • Tagged with Haskell, 抽象機械, GHC

先日 STG の動作について説明する機会があったんだが,ちゃんと説明できなかった.で,ちょっとこれじゃまずいって思って,色々読み直してる.で,いざっていう時のためにまとめとくかみたいな気分になっており,この記事が錬成された.なお,今の GHC の STG では色々変わってるので通用しないとこも多い.そこは注意.

この記事での STG について

この記事での STG は, Spineless Tagless …


Continue reading

Functor / Applicative / Monad が表すもの

Posted on 土 13 4月 2019 in 直感 • Tagged with Haskell, GHC, GHC拡張, 標準ライブラリ

https://kazu-yamamoto.hatenablog.jp/entry/2019/04/11/111238 の記事に触発されて,ちょっと書く気になった.こちらも面白い記事なので,ぜひ参照してほしい.

Haskell 2020 で Applicative が追加される見込みだ (そもそもちゃんと 2020 年に出るのか怪しそうだが).それを踏まえて,標準ライブラリに入る Haskell の特徴的な一連の型クラス …


Continue reading

GHC のノートコメントについてのあれこれ

Posted on 土 06 4月 2019 in 構想 • Tagged with Haskell, GHC

https://github.com/myuon/ghc-compiler-notes にコントリビュートしたので,それについてと考えてることとか書く.

なお, myuon さんによる紹介記事も参照: https://myuon.github.io/posts/ghc-compiler-notes/

GHC のノートコメント

GHC のコーディングガイド にも書いてあるが, GHC では長いコメントを書くとき,以下のように主要部分を切り出す運用をしている:

 1 …

Continue reading