Let多相と型推論

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

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


Continue reading

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

Posted on 日 05 7月 2020 in プログラミング言語 • Tagged with Haskell, GHC, GHC拡張

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


Continue reading

Coherent Implicit Parameter

Posted on 火 31 3月 2020 in プログラミング言語 • Tagged with Haskell, 型クラス, 型システム

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


Continue reading

DerivingVia で deriving 戦略を模倣する

Posted on 月 30 3月 2020 in プログラミング言語 • Tagged with GHC, Haskell, GHC拡張

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


Continue reading

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

Posted on 日 29 3月 2020 in プログラミング言語 • Tagged with Haskell, 遅延評価, デバッグ

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


Continue reading

型クラスの Coherence と Orphan Instance

Posted on 金 20 3月 2020 in プログラミング言語 • Tagged with Haskell, GHC, 型クラス

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


Continue reading

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

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

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


Continue reading

Local Do と型クラス

Posted on 土 27 7月 2019 in プログラミング言語 • Tagged with Haskell, GHC, GHC拡張, do構文, 型クラス

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


Continue reading

Call Arity と融合変換

Posted on 金 26 7月 2019 in プログラミング言語 • Tagged with Haskell, GHC, 融合変換, コンパイラ, 最適化

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


Continue reading

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

Posted on 金 28 6月 2019 in プログラミング言語 • Tagged with Haskell, 線形型, GHC, Docker

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


Continue reading