some old prolog source code