A comparison of three PROLOG extensions