Added [2017/07/28] Examples: Global ^ Phrase >> Function Phrase >> Function Where the arity of Function is 1. 1. uppercase to downcase sed & w("[A-Z]+", X) >> pred(X, ([Y]:- atom_codes(U, X), downcase_atom(U, V), atom_codes(V, Y))) 2. count characters sed & ( get_acc(C, 0), w(".", A), {succ(C, C0)}, set_acc(C0)) >> [[]] 3. count atoms sed & ( get_acc(C, 0), wl("[a-zA-Z]+", A), {succ(C, C0)}, set_acc(C0)) >> [[A,"\n"]] 4. count atoms sed & (get_acc(C,0), ( w("[^a-zA-Z]"), !, {A=[], C0=C} ; wl("[a-zA-Z]+", A), !, {succ(C, C0)} ), put_acc(C0) ) >> [[A,"\n"]] :- module(test1,[]). term_expansion --> mpac:expand_pac. % ?- eval(append@append([1],[2])@[3,4],X). % ?- E=(append@append([1],[2])@[3,4]), eval(E,X). % ?- eval(append@append([1],[2])@[3,4],X). /************************* * xargs/flip test * *************************/ % ?- eval(xargs([X,Y] :- Y is X)@1, V). % ?- eval(xargs([X] -> flip(is)@X)@3, V). % ?- eval((xargs([X] -> (xargs([A,B]:- B is A)@X)))@3, V). % ?- eval(xargs([X] -> flip(is)@X)@3, V). % ?- eval(1, V). % ?- eval(xargs([X] -> flip([2,1], is)@X)@ (=(3+1)), V, [run(false), mode(plain), goal(G), pac(P-[])]). % ?- eval(xargs([X] -> flip([2,1], is)@X)@ (flip(is)@ ( =(3+1))), V,[run(false), mode(plain), goal(G), pac(P-[])]). % ?- eval(xargs([X] -> flip([2,1], is)@X)@3, V,[run(false), mode(plain), goal(G)]). % ?- eval(xargs([X] -> flip([2,1], is)@X)@3, V,[run(false), mode(plain), goal(G), pac(P-[])]). % ?- eval(xargs([X] -> flip([2,1], is)@X)@(3+1), V,[run(false), mode(plain), goal(G), pac(P-[])]). % ?- eval(xargs([X] -> flip(is)@ quote(X))@ quote(3+1), V, [goal(G)]). % ?- Exp =(xargs([X] -> flip(is)@ quote(X))@ quote(3+1)), eval(Exp, V). % ?- E = append(append([1],[2]), [3]), eval_term(E, V). % ?- call(flip([2,1], is), 3, X). % ?- set(pow([]),X). % ?- term_shell(ls). % ?- call(pred([a]), X). % ?- nopac(X=1). a(X):- phrase(w("a*"), `abc`, X). % a(X):-phrase('nt#119',[97,98,99],X) . % 'nt#119'(A,A) . % 'nt#119'([A|B],C):-A==97,'nt#119'(B,C) . % ?- module(test1). % ?- a(X).