リテラルをコンパイラ時にチェックする

Posted on 月 28 10月 2019 in フレームワーク • Tagged with Haskell, GHC, リテラル, GHC拡張

Haskell はいくつかのリテラルで型クラスを使用したオーバーロードを許容している.例えば,Haskell で 1 と書いた場合,この型 …


Continue reading

iptables から nftables への移行

Posted on 金 20 9月 2019 in 運用 • Tagged with Debian, iptables, nftables, ファイアウォール

Debian GNU/Linux 10 ,コードネーム buster が安定板リリースを迎え結構経ったので,そろそろアップグレード案件やるかみたいな感 …


Continue reading

Scala の Map.flatMap の罠

Posted on 火 03 9月 2019 in プログラミング • Tagged with Scala, Collection Library, Map, 標準ライブラリ

Scala のコレクションライブラリは難しい.最近,強くそう思える事案に出くわしたので,そのメモ.なお,使った環境は以下 …


Continue reading

colimit としての自然数の集合

Posted on 金 30 8月 2019 in 数学 • Tagged with Domain Theory, 束論, 順序理論

F;i{nni}:NPosetF; i \mapsto \{n \mid n \leq i\}: \mathbb{N} \to \mathrm{Poset} みたいな directed diagram を考えた時,こいつの colimit は何に …


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

DokuWiki の構文拡張プラグインの作り方

Posted on 土 20 7月 2019 in ツール • Tagged with PHP, Wiki, DokuWiki, プラグイン

DokuWiki で Markdown が書けるプラグインを結構前に作った.で,たまにメンテしてるんだけど,そのメンテのために色々備忘録を残しておこうと思ったので,そのメモ.

DokuWiki …


Continue reading

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

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

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


Continue reading

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

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

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


Continue reading

graded monad から monad への埋め込み

Posted on 木 13 6月 2019 in 数学 • Tagged with エフェクトシステム, モナド, 圏論

graded monad から monad への埋め込みについて,考えたので,その覚書.

エフェクトシステムを monad で近似する

エフェクトシステムに …


Continue reading