library2019-08-13プログラミングHaskell第2版を翻訳しましたHaskellプログラミングHaskell第2版の翻訳とレビューが完了し、ラムダノートから発売されました。レビューしてくださった5名の方に、改めてお礼を申し上げたいと思います。debuggingHaskell私的なメモ。GHCを生でインストールし、cabalのラッパーであるcabを使っている。stackはたまに使うことがある程度。以下で例外が起きたときにスタックトレースが取れる。GHCiを使う方法もある。Haskell2019-04-11関手、Applicative、Monadの法則HaskellMonadとは、Applicativeであるデータ構造で、(>>=)演算子を提供し、それがMonad法則を満たすものである。正確に表現するとこうなんですが、「はぁ?」っ感じですよね。「満たすべき法則」とか言われると、まったく理解できません。オススメの形に持っ...関手、Applicative、Monadの法則2019-02-15さようなら遅延評価HaskellHaskellがとっつきにくい原因の一つに遅延評価がある。入門書では、無限リストと遅延評価がことさら強調される。Haskellを業務で使ってみると、遅延評価が煩わしくなってくる。QUICの実装の難しさに絶望した心境が詠まれたと伝う。2017年の7月ごろ、QUICの実装を始めました。TLSNewSessionTicketをいつ送るかの議論です。NewSessionTicketをお読み下さい。1.2で暗号路の鍵を更新する場合は、ハンドシェイクをやり直す(再ネゴシエーションする)必要があった。実装の視点からいうと、鍵更新はハンドシェイクに対して同期的だった訳だ。Haskellはてなダイアリーからはてなブログに移行しました。今後も、細々とブログを書いていきます。1.3がRFC8446になりました!(TLSのRFCは、伝統的にXX46という番号になります。RFC84462018-03-06あなたの知らないSemigroupの世界Haskell自分で定義するデータの中には、足し算したくなるようなデータがある。送信と受信のカウンターを定義したとしよう。これは以下のように足し算できると嬉しいだろう。