私はPrologにこのコードを持っています:
dynamic(player_at/1).
player_at(house).
goto(X) :- retract(player_at(house)), assert(player_at(X)).
しかし、私はまだこのエラーが発生します:
uncaught exception: error(permission_error(modify,static_procedure,player_at/1),retract/1)
goto(foo) を実行すると。
動的ドキュメントを読みましたが、少なくとも gprolog では、その使用方法がわかりません。何か不足していますか?