Fizz BuzzをGame Description Language(GDL)で書いた

プログラマにお馴染みのFizz BuzzゲームをGame Description Language(GDL)で書きました.

FizzBuzz in Game Description Language version 1

一般的なFizz BuzzプログラムといえばFizz Buzzのルール通りに1, 2, Fizz, 4, Buzz, ...と出力するプログラムですが,それとは異なりFizz Buzzゲームそのもの(Fizz Buzzのルール通りの出力を返すほど高得点がもらえるゲーム)を書いています.

GDLはゲームルールを記述するための言語で,様々な未知のゲームをうまくプレイできるようなプログラムを実現することを目標とするGeneral Game Playing(GGP)と呼ばれる研究のために使用されています.GDLの文法はDatalogをベースとしています.

GDLには数値リテラルも四則演算子も無いので,アトム間のインクリメントを定義→減算を定義→倍数を定義,という順に実装しています.