Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!seismo!hao!hplabs!sri-unix!pereira From: pereira@sri-unix.UUCP Newsgroups: net.sources Subject: Prolog library: cmisce.pl Message-ID: <92@sri-unix.UUCP> Date: Mon, 15-Aug-83 01:51:18 EDT Article-I.D.: sri-unix.92 Posted: Mon Aug 15 01:51:18 1983 Date-Received: Wed, 10-Aug-83 02:08:37 EDT Lines: 50 /* CMISCE.PL : Miscellaneous routines (compiled) UTILITY Lawrence Updated: 30 March 81 */ %%% Compile this module %%% CMISCE requires modules: LISTRO, FLAG /* EXPORT */ :- public cgensym/2, concat/3, gensym/2. /* MODES */ :- mode cgensym(+,?). :- mode concat(+,+,?). :- mode gensym(+,?). cgensym(Prefix,V) :- gensym(Prefix,V), !. cgensym(_,_). concat(N1,N2,N3) :- name(N1,Ls1), name(N2,Ls2), append(Ls1,Ls2,Ls3), name(N3,Ls3). gensym(Prefix,V) :- var(V), atom(Prefix), flag(gensym(Prefix),N,N), N2 is N + 1, flag(gensym(Prefix),_,N2), concat(Prefix,N2,V), !.