<< 38/50 >>
First Last

DSL

S とか K とか、全てを手で頑張って書くのは結構大変だし、自動化してない部分はうっかり的なバグを入れやすいし、 DSL などがある方が良い

結構多くのチームが使ってたようです
3位のチームはなにやら綺麗そうなものを作っていた模様

私は、一人チームだし、 3 日くらいならこういうものを実装するコスト取り戻せるかあやしいし、ヘタにコンパイラみたいなものを作るより、手書きの方がターン数消費を削れるだろう…と、定型的な処理をするいくつかのヘルパ関数をのぞいて、基本手書きで頑張りました

最後の方は自分で驚くほどそれなりに複雑なものを手で作れるようになっていました
当時のメモを見ると、以下のようなメモが数百行に渡って続く

   S(K(S(S(S(help)(succ))(K(10000)))(S(K(S(K(S(S(S(help)(succ))(K(10000)))(S(K(S(S(K(copy))(K(8)))(succ)))(succ))))(succ)))(succ))))(K(0))
   
   S(K(S(K(zombie(zero)))(S(K(S(K(S(S(S(help)(succ))(K(10000)))(S(K(S(S(K(copy))(K(8)))(succ)))(succ))))))(K))))(get)
   
   S(zombie)(
   S(K(S(K(S(S(S(help)(succ))(K(10000)))(S(K(S(S(K(copy))(K(8)))(succ)))(succ))))))(K) (get)
   )