Compound terms with named arguments for Prolog