metalog - logic metaprogramming