星にゃーんのブログ

ほとんど無害。

2024-01-01から1年間の記事一覧

継続渡し・コールバックを読みやすくする言語機能たち(Koka・Gleam・Roc)

継続渡しスタイル、あるいはコールバック関数は非常に強力なテクニックだ。 例えばJavaScriptでは、非同期処理を扱う.thenメソッドが有名どころだろう。 fetch("http://example.com/movies.json") .then((response) => response.json()) .then((movies) => c…

継続モナドで立ち向かうローンパターンとEither地獄

Haskellでファイルなどのリソースの解放を保証するテクニックとして、ローンパターン(Loan Pattern)がある。withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO rなどがその例だ。 ローンパターンによる関数を複数使ったプログラムは、無名関数の…