https://github.com/mthom/scryer-prolog/blob/master/README.md