I'm wondering what is going wrong with how I'm defining my for-loop in scheme. Whenever I try running a for statement with it it runs for quite a while and then crashes.
(define-syntax for
(syntax-rules (:)
[(_ (initial : test : update) body)
(begin initial
(if test
(begin body update
(for [test : update] body))))]
[(_ (test : update) body)
(if test
(begin body update
(for [test : update] body)))]))
It should run the initial condition, check the test, run the body, and then loop to the next run.