2019-04-01から1ヶ月間の記事一覧

スクリーンショット撮影のために Puppeteer を操る

先日開催された Kyoto.js 16 で, Puppeteer を使ってスクリーンショットを撮影するためのフレームワーク / ツールを作ったことについて発表しました. いつもありがとうございます. kyotojs.connpass.com スライドはこちら. speakerdeck.com 成果物はこれ. sc…

パターンマッチの構文が前置か後置か覚えられない人がやりがちなこと

突然思い出して随分前のネタを引っ張り出してきました. OCaml と Scala のパターンマッチ構文は共に match というキーワードを使いますが, 前置 / 後置が異なるため, 交互に書いていると混乱して結構な頻度で間違えます. let y = match x with | Some n -> n…

subtype 多相, never, union を有効活用していこうな

まずは MonadPlus ばんじゃーいとこういう感じに mzero と mplus を定義してみる. mzero が関数になっているのは TypeScript ではこうしないと (関数以外の値を) パラメータ多相にできないため. ちなみに Parser<A> の A は結果の値の型で, Parser はこれについ</a>…

パーサコンビネータライブラリを更新した (2 年ぶり 2 回目)

2 年に一回更新することでおなじみの (?) JS 製パーサコンビネータライブラリ loquat の v3 をリリースしました. github.com 変更点の詳細はここには書かないのでリポジトリを見てください. どうせ誰も使っていないでしょうし... 以下は雑な話題です. TypeSc…