for / continue in scheme / lisp

Я пишу небольшой интерпретатор для C-подобного языка в схеме (R5RS) и пытаюсь преобразовать что-то вроде:

for (i = 0; i < 100; i++)
{
    if (isprime(i)) continue;
    else /* do something with i */
}

в действительную схему (функция isprime - это просто пример и не важно).

Однако после некоторых попыток я не смог найти эффективный / простой способ добавить эквивалент оператора continue в цикл do в схеме. Еще лучше был бы макрос "for", который позволяет использовать "continue" и "break".

Я подумываю о переходе на Common Lisp. Будет ли это проще в CL?

5
задан Community 6 February 2016 в 00:39
поделиться