2022-01-03: recheck-jar を作った
やったこと
Y コンビネータ
ベンチャーキャピタルの方ではなく不動点コンビネータの方.
ふとどんなんだったっけと思い出していた.
適当に考えて思い付いたのはこれ.
const fix =
(g => g(g))(g => f => x => f(g(g)(f))(x));
なんか前後に対称性がないし,どう考えても違うのだけど,本質的な定義が後半に寄ってて分かりやすいのでちょっと気に入っている.
本当の Y コンビネータはそもそも先行評価の言語では無理なのだけど,η変換したものは Z コンビネータと呼ぶらしい.
Z コンビネータはこんな定義になる.
const Z =
f => (g => x => f(g(g))(x))(g => x => f(g(g))(x))
この手の不動点コンビネータの本質は g(g)
と自分自身を引数に呼び出しているところが重要なので,やっぱり最初の定義も悪くない気がしている.
ロードエルメロイII世の事件簿
年末の外伝のやつを観た.
やはりグレイがかわいい.
ストーリーも凝ってて良かったと思う.
橙子さんがちょうど封印指定されてない頃なのか‥‥.
ReDoS
recheck-jar
パッケージを追加して,ついでに recheck
パッケージにテストを追加した.
ついでの方が大変だった気がしなくもない.
都合2回目の書き直し.
lib
ディレクトリをコミットし忘れて悩んでいた.
アホすぎる.
https://github.com/MakeNowJust-Labo/recheck/pull/248
Valheim
流行っているのでやってみた.
とりあえず家を作っているだけで楽しい.
冒険もやっていかねば.