Я пишу небольшой интерпретатор для 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?