AbstractComputational Linguistics and Logic Programming have strong connections, but the former uses concepts that are absent from the most familiar implementations of the latter. We advocate that a Logic Programming language need not feature the Computational Linguistics concepts exactly, it must only provide a logical way of dealing with them. We focus on the manipulation of higher-order terms and the logical handling of context, and we show that the advanced features of Prolog II and λProlog are useful for dealing with these concepts. Higher-order terms are native in λProlog, and Prolog II's infinite trees provide a handy data-structure for manipulating them. The formula language of λProlog can be transposed in the Logic Grammar realm to...