home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / historic / v941.tgz / icon.v941src.tar / icon.v941src / tests / general / cxprimes.icn < prev    next >
Text File  |  2001-12-03  |  324b  |  21 lines

  1. #  prime number generation using co-expressions
  2.  
  3. procedure main(args)
  4.    local s, n, x
  5.  
  6.    n := integer(get(args)) | 100
  7.    s := create (2 to n)
  8.    while (x := @s) do {
  9.       write(x)
  10.       s := create sieve(x, s)
  11.    }
  12. end
  13.  
  14. procedure sieve(x, s)
  15.    local t
  16.  
  17.    while t := @s do {
  18.       if t % x ~= 0 then suspend t
  19.    }
  20. end
  21.