//prime numbers //a number is prime if it has no divisors amongst its smaller primes //let's use this recursively! declare a; *print("yield prime number till"); *a=*gets(); function canbedividedbynoneofthese() // () i.e. any number of arguments expected //the first argument is tested against all following //returns true if not dividable by any { declare notdiv=1; declare u=1; while(*u<*#) { //following check is to avoid division by void arguments //to avoid BUG of the result() command, by which functions //do issue at least one single void result if(**u) { if(!(*0%(**u)))*notdiv=0; } *u=*u+1; } result(*notdiv); } function allsmallerprimenumbersof(1) //(1): i.e. a single argument expected //returns all prime numbers that are smaller than the argument { declare a=2,b; //*print(allsmallerprimenumbersof,*0); while(*a<*0) { *b=*sqrt(*a+1); if(*canbedividedbynoneofthese(*a,*allsmallerprimenumbersof(*b))) result(*a); *a=*a+1; } }; //note: there is no such thing as a main() call *print(*allsmallerprimenumbersof(*a));