F-ing modules: 存在型によるモジュール基盤

2024年11月21日に投稿 • カテゴリ:プログラミング言語 • タグ:型システム存在型モジュールSystem-F

現代的なプログラムは、非常に複雑で規模の大きなものが多い。そのため、プログラムを構成する部品を適切に分割し …

続きを読む

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

2023年02月21日に投稿 • カテゴリ:プログラミング言語 • タグ:型システム型推論多相関数System-F

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

続きを読む

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

2023年01月24日に投稿 • カテゴリ:プログラミング言語 • タグ:型システム型推論多相関数型制約

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

続きを読む

Let多相と型推論

2022年08月27日に投稿 • カテゴリ:プログラミング言語 • タグ:型システム型推論多相関数

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

続きを読む

BlockArguments で括弧を書かない生活を送る

2020年07月05日に投稿 • カテゴリ:プログラミング言語 • タグ:HaskellGHCGHC拡張

GHC 8.6 から BlockArguments という拡張が入った.これは構文拡張で,Haskell 2010 で必要だった幾つかの括弧を省略できるようにするもの …

続きを読む

Coherent Implicit Parameter

2020年03月31日に投稿 • カテゴリ:プログラミング言語 • タグ:Haskell型クラス型システム

アドホック多相を実現する方法として,型クラスがある.型クラスは,辞書渡しと呼ばれる方法により,かなり自然に elaboration …

続きを読む

DerivingVia で deriving 戦略を模倣する

2020年03月30日に投稿 • カテゴリ:プログラミング言語 • タグ:GHCHaskellGHC拡張

Haskell では、ボイラープレートは非常に嫌われており、それを撲滅するため強力な型システムの他にも幾つか機能が組み …

続きを読む

遅延評価でデバッグが困難になる状況

2020年03月29日に投稿 • カテゴリ:プログラミング言語 • タグ:Haskell遅延評価デバッグ

先日、Haskell 界隈で遅延評価によってデバッグがし辛いのはどんな時かと言う話があった。見た感じ、遅延評価によってデ …

続きを読む

型クラスの Coherence と Orphan Instance

2020年03月20日に投稿 • カテゴリ:プログラミング言語 • タグ:HaskellGHC型クラス

Haskell には型クラスと呼ばれる重要な機能がある.これは名前の通り,型をクラス分けするための機能で,その型に対して …

続きを読む

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

2019年12月07日に投稿 • カテゴリ:プログラミング言語 • タグ:HaskellGHC拡張GHC多相関数

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

続きを読む