双方向型検査: 検査と構築の融合

Posted on 火 21 2月 2023 in プログラミング言語 • Tagged with 型システム, 型推論, 多相関数, System-F

単純型付きラムダ計算へ多相型を導入した拡張として System-F という体系がある。これは、通常の型付きラムダ項に、型の量 …


Continue reading

HM(X): 多相と制約と推論と

Posted on 火 24 1月 2023 in プログラミング言語 • Tagged with 型システム, 型推論, 多相関数, 型制約

パラメータ多相を持つプログラミング言語は多いが,その多くは型パラメータの記述機能だけを持つわけではない …


Continue reading

Let多相と型推論

Posted on 土 27 8月 2022 in プログラミング言語 • Tagged with 型システム, 型推論, 多相関数

プログラミング言語において,パラメータ多相は今や標準的な機能と言って良い.Java のジェネリクスや C++ のテンプレ …


Continue reading

多相関数を第一級で取り扱う

Posted on 金 06 12月 2019 in プログラミング言語 • Tagged with Haskell, GHC拡張, GHC, 多相関数

今回は,GHC拡張の一つ RankNTypes の紹介をしようと思う.もうちょっとちゃんとまとめたのをいつか Haskell-jp かどっかに投稿したいと思ってる …


Continue reading

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

Posted on 月 24 6月 2019 in プログラミング言語 • Tagged with Rust, 多相関数, ジェネリクス, トレイト

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


Continue reading