2016-07-26から1日間の記事一覧

Vim script の lambda で Yコンビネータ

Vim

Vim script の lambda では変数がキャプチャ出来ないので無理やりですが。 let Y = { f -> function({ f -> call(f, [f] + a:000) }, [f]) } let Fact = Y({ f, x -> x == 1 ? 1 : f(f, x-1) * x }) echo Fact(5) " => 120 [使用した vim のバージョン] 7.4.…