%:- [any].
%
%paras(N) :- forall(between(1,N,_), show(W,words(W))).
%
%words(W) :- once(sentence(W,[])).

% ----------------------------------------

rarely    :- random(100) < 10.
sometimes :- random(100) < 33.
usually   :- random(100) < 66.
maybe     :- random(100) < 50.
often     :- random(100) < 90.
always.

any(X) :- 
	findall(X,X,L0), 
	shuffle(L0,L), 
	member(X,L).

% ----------------------------------------
sentence   --> nounphrase, verbphrase.  

nounphrase --> {maybe}, {any(gender of Who=male  )}, [Who].             
nounphrase -->          {any(gender of Who=female)}, [Who].           

verbphrase --> verb, modlist, adverb.

verb       --> {sometimes},  [runs].                
verb       -->               [walks].             

modlist    --> {usually}, [].                    
modlist    -->            [very], modlist.     

adverb     --> {usually},  [quickly].          
adverb     -->             [slowly].           
