Local Do と型クラス

2019年07月27日に投稿 • カテゴリ:プログラミング言語 • タグ:HaskellGHCGHC拡張do構文型クラス

現在, GHC に 線形型の提案 がされていて活発に議論されている.プロトタイプも ここ から利用可能だ. Docker イメージも利用 …

続きを読む

Call Arity と融合変換

2019年07月26日に投稿 • カテゴリ:プログラミング言語 • タグ:HaskellGHC融合変換コンパイラ最適化

GHC は,最適化のため Call Arity と呼ばれるコード解析を行っている.この解析で,自由変数が何個引数を持っていいかを判定 …

続きを読む

GHC の線形型プロトタイプのお試し環境を作る

2019年06月28日に投稿 • カテゴリ:プログラミング言語 • タグ:Haskell線形型GHCDocker

現在, GHC に 線形型の追加提案 が出ている.その提案に合わせて,プロトタイプも公開されている.内容はあまり詳しく追 …

続きを読む

Rust のジェネリック関数はどうコンパイルされるのか

2019年06月24日に投稿 • カテゴリ:プログラミング言語 • タグ:Rust多相関数ジェネリクストレイト

最近, (特に境界条件を伴った) 多相関数が言語ごとにどういうコードを吐くかが気になったので, Haskell とコードの生成方 …

続きを読む

GHC IO モナドの中身

2019年05月17日に投稿 • カテゴリ:プログラミング言語 • タグ:HaskellGHCIO

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

IO モナドと RealWorld

まずは基本 …

続きを読む

Scala コードの裏側

2019年04月24日に投稿 • カテゴリ:プログラミング言語 • タグ:ScalaJavaJVM最適化

先日, Scala コードの裏側について幾つか話を聞いた.で,気になったので実際に JVM コードを出して,色々見てみることにした.なお,当方 Scala 初心者 …

続きを読む

STG Version 2.5 の動作

2019年04月19日に投稿 • カテゴリ:プログラミング言語 • タグ:Haskell抽象機械GHC

先日 STG の動作について説明する機会があったんだが,ちゃんと説明できなかった.で,ちょっとこれじゃまずいって思 …

続きを読む