文脈依存 PEG による Haskell パーサ

2022年02月23日に投稿 • カテゴリ:フレームワーク • タグ:HaskellパーサPEG

前に PEG パーサジェネレータライブラリ ptera を作っているという話をしたが,今回はその第二弾.ptera で Haskell2010 の文法パーサを …

続きを読む

ptera 式 PEG パーサ生成法

2021年11月21日に投稿 • カテゴリ:フレームワーク • タグ:HaskellパーサPEG

最近 PEG パーサジェネレータライブラリを作っているんだが,一旦区切りがついたので忘れないうちに備忘録をまと …

続きを読む

Happy のコンフリクトレポートと向き合う

2021年01月31日に投稿 • カテゴリ:フレームワーク • タグ:HaskellパーサHappyLALR

Haskell には,Happy と言う名前のパーサジェネレータがある.基本的には,yacc と同じような使い勝手のジェネレータで,GHC で使用 …

続きを読む

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

続きを読む

AtCoder の新環境テストの問題を解いてみる

2020年02月17日に投稿 • カテゴリ:学習 • タグ:HaskellGHCAtCoder競技プログラミング

AtCoder が現在新環境のテストをしている: https://atcoder.jp/contests/language-test-202001

今までの環境では GHC 7.10.3 だったのが,新環境では 8.6.5 になるの …

続きを読む

State モナドの代わりに Reader モナドを使う

2020年01月31日に投稿 • カテゴリ:プログラミング • タグ:HaskellGHCモナド

注意
この記事は公開当時主張に誤りを含んでいたため,大幅に書き直しています.また,公開当時の主張の誤りについ …
続きを読む