% -*-trale-prolog-*- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% $RCSfile: constraints.pl,i $ %% $Revision: 1.0 $ %% $Date: 2011/05/21 $ %% Author: Hiroki Koga (hkoga@cc.saga-u.ac.jp) $ %% Reference: Stefan Mueller's gramar implementations $ %% Purpose: Grant-in-aid research No. 21520410 by JSPS $ %% the tense expletive $ %% Language: Trale $ % System: TRALE 2.7.5 (release ) under Sicstus 3.10.1 $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% :- multifile if/2. % ***************************** % list manipulation utilities % ***************************** % append(+,+,-) % This append assumes that the first or the third argument % are known to be non_empty or empty lists. % fun append(+,+,-). append(X,Y,Z) if when( (X=(e_list;ne_list); Z=(e_list;ne_list)) , undelayed_append(X,Y,Z) ). undelayed_append([],L,L) if true. undelayed_append([H|T1],L,[H|T2]) if append(T1,L,T2).