Iterative control is handled by recursion in functional programming languages
int gcd(int small, int large){ int rem; while (small > 0){ rem = large % small; large = small; small = rem; } return large; }
(define (gcd small large) (if (> small 0) (gcd (remainder large small) small) large))