1.7の機能を使ったら、素数generatorが簡単に作れたよ

spidermonkeyでしか試してません><。

function primes(){
  let [n, box] = [2, []];
  for(;;){
    let a = box.filter(function(e) {return n%e == 0;});
    if(a.length==0){
      yield(n);
      box.push(n);
    }
    n++;
  }
}

var p = primes();
for (let i=0; i < 10; i++){
  a.push(p.next());
}
print(a.join(", "));
// 2, 3, 5, 7, 11, 13, 17, 19, 23, 29

追記

以下のようにしてmemo化した方がいいかも?

function PRIMES(){
  let [n, box] = [3, [2,3]];
  return  function(){
    for each (e in box){
      yield e;
    }
    for(;;){
      let a = box.filter(function(e) {return n%e == 0;});
      if(a.length==0){
	yield n;
	box.push(n);
      }
      n+=2;
    }
  };
}
var primes = PRIMES();
var p = primes();
var p2= primes();
var a= [];
for (let i=0; i < 10; i++){
  a.push(p.next());
}
print(a.join(", "));
for (let i=0; i < 10; i++){
  print(p2.next());
}