Magic sets and other strange ways to implement logic programs (extended abstract) | Synapse